Java面試題彙總,160道帶你征戰大廠


 前言

答案文末自取

關於贏在面試的Java題系列基本收集整理完成了,所有題目都是經過精心挑選的,很基礎又考驗求職者的基本功,應該說被面試到的機率很大。這裏整理挑選出來供大家面試前拿來看一看,所有題目整理自網絡。

整理這些面試題源於在微信羣和幾個剛入職的小夥伴們的一次討論,很多小夥伴談了自己的面試經歷和體會,很多人最初鄙視刷題黨,覺得開發技能最重要,但在短暫的面試過程中很挫敗。轉而去看面試題,但是網上面試題太多但又不全,查找很不方便,多是看過的又看,看十道才能看到面生的題目,極大的浪費了求職期間的寶貴時間。

最後大家一拍即合,準備各自把面試筆試以及自己看過好的題目收集起來,整理出來讓後來的小夥伴們少踩些坑,所以有了這些題目。


c029936dj00q65pnx000nc000hs00a3m.jpg


目錄


Java基礎篇(1)

1、一個".java"源文件中是否可以包括多個類(不是內部類)?有什麼限制?

2、Java有沒有goto?

3、說說&和&&的區別。

4、在JAVA中如何跳出當前的多重嵌套循環?

5、switch語句能否作用在byte上,能否作用在long上,能否作用在String上?

6、short s1= 1; s1 = (s1+1是int類型,而等號左邊的是short類型,所以需要強轉)1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯?(沒有錯)

7、char型變量中能不能存貯一箇中文漢字?爲什麼?

8、用最有效率的方法算出2乘以8等於幾?

9、使用final關鍵字修飾一個變量時,是引用不能變,還是引用的對象不能變?

10,靜態變量和實例變量的區別?

Java基礎篇(2)

11、是否可以從一個static方法內部發出對非static方法的調用?

12、Integer與int的區別

13、Math.round(11.5)等於多少?Math.round(-11.5)等於多少?

14、Overload和Override的區別?Overloaded的方法是否可以改變返回值的類型?

15、接口是否可繼承接口?抽象類是否可實現(implements)接口?抽象類是否可繼承具體類(concreteclass)?抽象類中是否可以有靜態的main方法?

16、Java中實現多態的機制是什麼?

17、abstractclass和interface語法上有什麼區別?

18、abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?

19、內部類可以引用它的包含類的成員嗎?有沒有什麼限制?

20、String s = "Hello";s = s + "world!";這兩行代碼執行後,原始的String對象中的內容到底變了沒有?

Java集合框架篇(3)

21、ArrayList和Vector的區別

22、HashMap和Hashtable的區別

23、List和 Map區別?

24、List,Set, Map是否繼承自Collection接口?

25、List、Map、Set三個接口,存取元素時,各有什麼特點?

26、說出ArrayList,Vector,LinkedList的存儲性能和特性

27、去掉一個Vector集合中重複的元素

28、Collection和Collections的區別。

29、Set裏的元素是不能重複的,那麼用什麼方法來區分重複與否呢?是用==還是equals()?它們有何區別?

30、你所知道的集合類都有哪些?主要方法?

Java基礎篇(4)

31、String s = new String("xyz");創建了幾個StringObject?是否可以繼承String類?

32、String和StringBuffer的區別

33、下面這條語句一共創建了多少個對象:String s="a"+"b"+"c"+"d";

34、try {}裏有一個return語句,那麼緊跟在這個try後的finally{}裏的code會不會被執行,什麼時候被執行,在return前還是後?

35、final, finally, finalize的區別。

36、運行時異常與一般異常有何異同?

37、error和exception有什麼區別?

38、簡單說說Java中的異常處理機制的簡單原理和應用。

39、Java 中堆和棧有什麼區別?

40、能將 int 強制轉換爲 byte 類型的變量嗎?如果該值大於 byte 類型的範圍,將會出現什麼現象?


Java基礎篇(5)

41、a.hashCode() 有什麼用?與 a.equals(b) 有什麼關係?

42、字節流與字符流的區別

43、什麼是java序列化,如何實現java序列化?或者請解釋Serializable接口的作用。

44、描述一下JVM加載class文件的原理機制?

45、heap和stack有什麼區別。

46、GC是什麼?爲什麼要有GC?

47、垃圾回收的優點和原理。並考慮2種回收機制。

48、垃圾回收器的基本原理是什麼?垃圾回收器可以馬上回收內存嗎?有什麼辦法主動通知虛擬機進行垃圾回收?

49、Java 中,throw 和 throws 有什麼區別

50,java中會存在內存泄漏嗎,請簡單描述。

JavaWeb篇(6)

51、說一說Servlet的生命週期?

52、Servlet API中forward()與redirect()的區別?

53、request.getAttribute()和 request.getParameter()有何區別?

54,jsp靜態包含和動態包含的區別

55,MVC的各個部分都有那些技術來實現?如何實現?

56,jsp有哪些內置對象?作用分別是什麼?

57,Http中,get和post方法的區別

58,什麼是cookie?Session和cookie有什麼區別?

59,jsp和servlet的區別、共同點、各自應用的範圍?

60,tomcat容器是如何創建servlet類實例?用到了什麼原理?


JavaWeb篇(7)

61,JDBC訪問數據庫的基本步驟是什麼?

62,說說preparedStatement和Statement的區別

63,說說事務的概念,在JDBC編程中處理事務的步驟。

64,數據庫連接池的原理。爲什麼要使用連接池。

65,JDBC的髒讀是什麼?哪種數據庫隔離級別能防止髒讀?

66,什麼是幻讀,哪種隔離級別可以防止幻讀?

67,JDBC的DriverManager是用來做什麼的?

68,execute,executeQuery,executeUpdate的區別是什麼?

69,SQL查詢出來的結果分頁展示一般怎麼做?

70,JDBC的ResultSet是什麼?

Java框架篇(8)

71,談談你對Struts的理解。

72、談談你對Hibernate的理解。

73,談談你對Spring的理解。

74,談談Struts的優缺點

75,iBatis與Hibernate有什麼不同?

76,在hibernate進行多表查詢每個表中各取幾個字段,也就是說查詢出來的結果集沒有一個實體類與之對應如何解決?

77,介紹一下Hibernate的二級緩存

78,JDO是什麼?

79,Hibernate的一對多和多對一雙向關聯的區別??

80,Hibernate是如何延遲加載?

Java框架篇(9)

81,使用Spring框架的好處是什麼?

82. ApplicationContext通常的實現是什麼?

83,什麼是Spring的依賴注入?有哪些方法進行依賴注入

84,什麼是Spring beans?

85,解釋Spring支持的幾種bean的作用域。

86,解釋Spring框架中bean的生命週期。

87,在 Spring中如何注入一個java集合?

88,解釋不同方式的自動裝配 。

89,Spring框架的事務管理有哪些優點?

90.什麼是基於Java的Spring註解配置? 給一些註解的例子?

Java持久層(10)

91,什麼是ORM?

92,Hibernate中SessionFactory是線程安全的嗎?Session是線程安全的嗎(兩個線程能夠共享同一個Session嗎)?

93,Session的save()、update()、merge()、lock()、saveOrUpdate()和persist()方法分別是做什麼的?有什麼區別?

94,闡述Session加載實體對象的過程。

95,MyBatis中使用#和$書寫佔位符有什麼區別?

96,解釋一下MyBatis中命名空間(namespace)的作用。

97、MyBatis中的動態SQL是什麼意思?

98,JDBC編程有哪些不足之處,MyBatis是如何解決這些問題的?

99,MyBatis與Hibernate有哪些不同?

100,簡單的說一下MyBatis的一級緩存和二級緩存?

數據庫篇(11)

101,查詢課程1的成績比課程2的成績高的所有學生的學號

102,查詢平均成績大於60分的同學的學號和平均成績

103,查詢所有同學的學號、姓名、選課數、總成績

104,查詢姓“張”的老師的個數

105,查詢沒學過“張三”老師課的同學的學號、姓名

106,查詢同時學過課程1和課程2的同學的學號、姓名

107,查詢學過“李四”老師所教所有課程的所有同學的學號、姓名

108,查詢課程編號1的成績比課程編號2的成績高的所有同學的學號、姓名

109,查詢所有課程成績小於60分的同學的學號、姓名

110,查詢至少有一門課程與學號爲1的同學所學課程相同的同學的學號和姓名

數據庫篇(12)

111、把“sc”表中“王五”所教課的成績都更改爲此課程的平均成績

112、查詢和編號爲2的同學學習的課程完全相同的其他同學學號和姓名

113、刪除學習“王五”老師課的sc表記錄

114、向sc表中插入一些記錄,這些記錄要求符合以下條件:

將沒有課程3成績同學的該成績補齊, 其成績取所有學生的課程2的平均成績

115、按平平均分從高到低顯示所有學生的如下統計報表:

-- 學號,企業管理,馬克思,UML,數據庫,物理,課程數,平均分

116、查詢各科成績最高分和最低分:以如下形式顯示:課程號,最高分,最低分

117、按各科平均成績從低到高和及格率的百分數從高到低順序

118、查詢如下課程平均成績和及格率的百分數(用"1行"顯示):

企業管理(001),馬克思(002),UML (003),數據庫(004)

119、查詢不同老師所教不同課程平均分, 從高到低顯示

120、查詢如下課程成績均在第3名到第6名之間的學生的成績:

-- [學生ID],[學生姓名],企業管理,馬克思,UML,數據庫,平均成績

Java多線程(13)

121,什麼是線程?

122,線程和進程有什麼區別?

123,如何在Java中實現線程?

124,Java 關鍵字volatile 與 synchronized 作用與區別?

125,有哪些不同的線程生命週期?

126,你對線程優先級的理解是什麼?

127,什麼是死鎖(Deadlock)?如何分析和避免死鎖?

128,什麼是線程安全?Vector是一個線程安全類嗎?

129,Java中如何停止一個線程?

130,什麼是ThreadLocal?

131,Sleep()、suspend()和wait()之間有什麼區別?

132,什麼是線程餓死,什麼是活鎖?

133,什麼是Java Timer類?如何創建一個有特定時間間隔的任務?

134,Java中的同步集合與併發集合有什麼區別?

135,同步方法和同步塊,哪個是更好的選擇?

136,什麼是線程池? 爲什麼要使用它?

137,Java中invokeAndWait 和 invokeLater有什麼區別?

138,多線程中的忙循環是什麼?

Java泛型篇(14)

139. Java中的泛型是什麼 ? 使用泛型的好處是什麼?

140,Java的泛型是如何工作的 ? 什麼是類型擦除 ?如何工作?

141,你可以把List

傳遞給一個接受List參數的方法嗎?

142,如何阻止Java中的類型未檢查的警告?

143,Java中List和原始類型List之間的區別?

144,編寫一段泛型程序來實現LRU緩存?

145,Array中可以用泛型嗎?

146,如何編寫一個泛型方法,讓它能接受泛型參數並返回泛型類型?

147,C++模板和java泛型之間有何不同?

JavaWeb篇(15)

148,AJAX有哪些有點和缺點?

149,AJAX應用和傳統Web應用有什麼不同?

150,Ajax的實現流程是怎樣的?

151,簡單說一下數據庫的三範式?

152,Java集合框架是什麼?說出一些集合框架的優點?

153,Java集合框架的基礎接口有哪些?

154,集合框架中的泛型有什麼優點?

155,Enumeration和Iterator接口的區別?

156,Iterater和ListIterator之間有什麼區別?

157,我們如何對一組對象進行排序?

158,與Java集合框架相關的有哪些最好的實踐?

159,什麼是事務?

160,說說你開發中遇到過什麼難題啊?怎麼解決的?

讀者福利;

關於面試題答案,需要的朋友自取,希望可以讓有需要的人在面試中大放光彩

領取方式;關注我的工種號 Java周某人 即可領

1053c19fj00q65pnx000tc000hs008em.jpg

最後預祝各位在求職路上的小夥伴都能找到一家心儀的公司!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章