JAVA程序員面試題整理(較全面)

以下是在面試中可能會遇到的問題,話不多說,往下看

1、面向?qū)ο蟮奶卣饔心男┓矫妫?/p>

2、訪問修飾符public,private,protected,以及不寫(默認)時的區(qū)別?

3、String 是最基本的數(shù)據(jù)類型嗎?

4、float f=3.4;是否正確?

5、short s1 = 1; s1 = s1 + 1;有錯嗎?short s1 = 1; s1 += 1;有錯嗎?

6、Java有沒有g(shù)oto?

7、int和Integer有什么區(qū)別?

8、&和&&的區(qū)別?

9、解釋內(nèi)存中的棧(stack)、堆(heap)和靜態(tài)區(qū)(static area)的用法。

10、Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?

11、switch 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上?

12、用最有效率的方法計算2乘以8?

13、數(shù)組有沒有l(wèi)ength()方法?String有沒有l(wèi)ength()方法?

14、在Java中,如何跳出當前的多重嵌套循環(huán)?

15、構(gòu)造器(constructor)是否可被重寫(override)?

16、兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?

17、是否可以繼承String類?

18、當一個對象被當作參數(shù)傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞?

19、String和StringBuilder、StringBuffer的區(qū)別?

20、重載(Overload)和重寫(Override)的區(qū)別。重載的方法能否根據(jù)返回類型進行區(qū)分?

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

22、char 型變量中能不能存貯一個中文漢字,為什么?

23、抽象類(abstract class)和接口(interface)有什么異同?

24、靜態(tài)嵌套類(Static Nested Class)和內(nèi)部類(Inner Class)的不同?

25、Java 中會存在內(nèi)存泄漏嗎,請簡單描述。

26、抽象的(abstract)方法是否可同時是靜態(tài)的(static),是否可同時是本地方法(native),是否可同時被synchronized修飾?

27、闡述靜態(tài)變量和實例變量的區(qū)別。

28、是否可以從一個靜態(tài)(static)方法內(nèi)部發(fā)出對非靜態(tài)(non-static)方法的調(diào)用?

29、如何實現(xiàn)對象克?。?/p>

31、String s = new String("xyz");創(chuàng)建了幾個字符串對象?

32、接口是否可繼承(extends)接口?抽象類是否可實現(xiàn)(implements)接口?抽象類是否可繼承具體類(concrete class)?

33、一個".java"源文件中是否可以包含多個類(不是內(nèi)部類)?有什么限制?

34、Anonymous Inner Class(匿名內(nèi)部類)是否可以繼承其它類?是否可以實現(xiàn)接口?

35、內(nèi)部類可以引用它的包含類(外部類)的成員嗎?有沒有什么限制?

36、Java 中的final關(guān)鍵字有哪些用法?

38、數(shù)據(jù)類型之間的轉(zhuǎn)換:

39、如何實現(xiàn)字符串的反轉(zhuǎn)及替換?

40、怎樣將GB2312編碼的字符串轉(zhuǎn)換為ISO-8859-1編碼的字符串?

41、日期和時間:

42、打印昨天的當前時刻。

43、比較一下Java和JavaSciprt。

44、什么時候用斷言(assert)?

45、Error和Exception有什么區(qū)別?

46、try{}里有一個return語句,那么緊跟在這個try后的finally{}里的代碼會不會被執(zhí)行,什么時候被執(zhí)行,在return前還是后?

47、Java語言如何進行異常處理,關(guān)鍵字:throws、throw、try、catch、finally分別如何使用?

48、運行時異常與受檢異常有何異同?

49、列出一些你常見的運行時異常?

50、闡述final、finally、finalize的區(qū)別。

51、類ExampleA繼承Exception,類ExampleB繼承ExampleA。

請問執(zhí)行此段代碼的輸出是什么?

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

53、闡述ArrayList、Vector、LinkedList的存儲性能和特性。

54、Collection和Collections的區(qū)別?

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

56、TreeMap和TreeSet在排序時如何比較元素?Collections工具類中的sort()方法如何比較元素?

57、Thread類的sleep()方法和對象的wait()方法都可以讓線程暫停執(zhí)行,它們有什么區(qū)別?

58、線程的sleep()方法和yield()方法有什么區(qū)別?

59、當一個線程進入一個對象的synchronized方法A之后,其它線程是否可進入此對象的synchronized方法B?

60、請說出與線程同步以及線程調(diào)度相關(guān)的方法。

61、編寫多線程程序有幾種實現(xiàn)方式?

62、synchronized關(guān)鍵字的用法?

63、舉例說明同步和異步。

64、啟動一個線程是調(diào)用run()還是start()方法?

65、什么是線程池(thread pool)?

66、線程的基本狀態(tài)以及狀態(tài)之間的關(guān)系?

67、簡述synchronized 和java.util.concurrent.locks.Lock的異同?

68、Java中如何實現(xiàn)序列化,有什么意義?

69、Java中有幾種類型的流?

70、寫一個方法,輸入一個文件名和一個字符串,統(tǒng)計這個字符串在這個文件中出現(xiàn)的次數(shù)。

71、如何用Java代碼列出一個目錄下所有的文件?

72、用Java的套接字編程實現(xiàn)一個多線程的回顯(echo)服務(wù)器。

73、XML文檔定義有幾種形式?它們之間有何本質(zhì)區(qū)別?解析XML文檔有哪幾種方式?

74、你在項目中哪些地方用到了XML?

75、闡述JDBC操作數(shù)據(jù)庫的步驟。

76、Statement和PreparedStatement有什么區(qū)別?哪個性能更好?

77、使用JDBC操作數(shù)據(jù)庫時,如何提升讀取數(shù)據(jù)的性能?如何提升更新數(shù)據(jù)的性能?

78、在進行數(shù)據(jù)庫編程時,連接池有什么作用?

79、什么是DAO模式?

80、事務(wù)的ACID是指什么?

81、JDBC中如何進行事務(wù)處理?

82、JDBC能否處理Blob和Clob?

83、簡述正則表達式及其用途。

84、Java中是如何支持正則表達式操作的?

85、獲得一個類的類對象有哪些方式?

86、如何通過反射創(chuàng)建對象?

87、如何通過反射獲取和設(shè)置對象私有字段的值?

88、如何通過反射調(diào)用對象的方法?

89、簡述一下面向?qū)ο蟮?六原則一法則"。

90、簡述一下你了解的設(shè)計模式。

91、用Java寫一個單例類。

92、什么是UML?

93、UML中有哪些常用的圖?

94、用Java寫一個冒泡排序。

95、用Java寫一個折半查找。

96、闡述Servlet和CGI的區(qū)別?

97、Servlet接口中有哪些方法?

98、轉(zhuǎn)發(fā)(forward)和重定向(redirect)的區(qū)別?

99、JSP有哪些內(nèi)置對象?作用分別是什么?

100、get和post請求的區(qū)別?

101、常用的Web服務(wù)器有哪些?

102、JSP和Servlet是什么關(guān)系?

103、講解JSP中的四種作用域。

104、如何實現(xiàn)JSP或Servlet的單線程模式?

105、實現(xiàn)會話跟蹤的技術(shù)有哪些?

106、過濾器有哪些作用和用法?

107、監(jiān)聽器有哪些作用和用法?

108、web.xml文件中可以配置哪些內(nèi)容?

109、你的項目中使用過哪些JSTL標簽?

110、使用標簽庫有什么好處?如何自定義JSP標簽?

111、說一下表達式語言(EL)的隱式對象及其作用。

112、表達式語言(EL)支持哪些運算符?

113、Java Web開發(fā)的Model 1和Model 2分別指的是什么?

114、Servlet 3中的異步處理指的是什么?

115、如何在基于Java的Web項目中實現(xiàn)文件上傳和下載?

116、服務(wù)器收到用戶提交的表單數(shù)據(jù),到底是調(diào)用Servlet的doGet()還是doPost()方法?

117、JSP中的靜態(tài)包含和動態(tài)包含有什么區(qū)別?

118、Servlet中如何獲取用戶提交的查詢參數(shù)或表單數(shù)據(jù)?

119、Servlet中如何獲取用戶配置的初始化參數(shù)以及服務(wù)器上下文參數(shù)?

120、如何設(shè)置請求的編碼以及響應(yīng)內(nèi)容的類型?

121、解釋一下網(wǎng)絡(luò)應(yīng)用的模式及其特點。

122、什么是Web Service(Web服務(wù))?

123、概念解釋:SOAP、WSDL、UDDI。

124、Java規(guī)范中和Web Service相關(guān)的規(guī)范有哪些?

125、介紹一下你了解的Java領(lǐng)域的Web Service框架。

126、什么是ORM?

127、持久層設(shè)計要考慮的問題有哪些?你用過的持久層框架有哪些?

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

129、Hibernate中Session的load和get方法的區(qū)別是什么?

130、Session的save()、update()、merge()、lock()、saveOrUpdate()和persist()方法分別是做什么的?有什么區(qū)別?

131、闡述Session加載實體對象的過程。

132、Query接口的list方法和iterate方法有什么區(qū)別?

133、Hibernate如何實現(xiàn)分頁查詢?

134、鎖機制有什么用?簡述Hibernate的悲觀鎖和樂觀鎖機制。

135、闡述實體對象的三種狀態(tài)以及轉(zhuǎn)換關(guān)系。

136、如何理解Hibernate的延遲加載機制?在實際應(yīng)用中,延遲加載與Session關(guān)閉的矛盾是如何處理的?

137、舉一個多對多關(guān)聯(lián)的例子,并說明如何實現(xiàn)多對多關(guān)聯(lián)映射。

138、談一下你對繼承映射的理解。

139、簡述Hibernate常見優(yōu)化策略。

140、談一談Hibernate的一級緩存、二級緩存和查詢緩存。

141、Hibernate中DetachedCriteria類是做什么的?

142、@OneToMany注解的mappedBy屬性有什么作用?

143、MyBatis中使用#$書寫占位符有什么區(qū)別?

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

145、MyBatis中的動態(tài)SQL是什么意思?

146、什么是IoC和DI?DI是如何實現(xiàn)的?

147、Spring中Bean的作用域有哪些?

148、解釋一下什么叫AOP(面向切面編程)?

149、你是如何理解"橫切關(guān)注"這個概念的?

150、你如何理解AOP中的連接點(Joinpoint)、切點(Pointcut)、增強(Advice)、引介(Introduction)、織入(Weaving)、切面(Aspect)這些概念?

151、Spring中自動裝配的方式有哪些?

152、Spring中如何使用注解來配置Bean?有哪些相關(guān)的注解?

153、Spring支持的事務(wù)管理類型有哪些?你在項目中使用哪種方式?

154、如何在Web項目中配置Spring的IoC容器?

155、如何在Web項目中配置Spring MVC?

156、Spring MVC的工作原理是怎樣的?

157、如何在Spring IoC容器中配置數(shù)據(jù)源?

158、如何配置配置事務(wù)增強?

159、選擇使用Spring框架的原因(Spring框架為企業(yè)級開發(fā)帶來的好處有哪些)?

160、Spring IoC容器配置Bean的方式?

161、闡述Spring框架中Bean的生命周期?

162、依賴注入時如何注入集合屬性?

163、Spring中的自動裝配有哪些限制?

164、在Web項目中如何獲得Spring的IoC容器?

165. 大型網(wǎng)站在架構(gòu)上應(yīng)當考慮哪些問題?

166、你用過的網(wǎng)站前端優(yōu)化的技術(shù)有哪些?

167、你使用過的應(yīng)用服務(wù)器優(yōu)化技術(shù)有哪些?

168、什么是XSS攻擊?什么是SQL注入攻擊?什么是CSRF攻擊?

169. 什么是領(lǐng)域模型(domain model)?貧血模型(anaemic domain model)和充血模型(rich domain model)有什么區(qū)別?

170. 談一談測試驅(qū)動開發(fā)(TDD)的好處以及你的理解。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,871評論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,711評論 19 139
  • 明天兒子要正式開學(xué)了。本來是今天去報道領(lǐng)書,但由于今天去參加家庭日,兒子就讓同學(xué)幫忙領(lǐng)回來了書。 下午回到家,兒子...
    柳立穩(wěn)閱讀 233評論 2 1
  • 一天之內(nèi)刷了兩遍《愛樂之城》。從放映室出來,我轉(zhuǎn)頭就回售票處,買了兩張晚上的票。 網(wǎng)上對這部電影的評價已經(jīng)兩極分化...
    魚鮮支閱讀 1,022評論 5 2
  • 孟子曰:天將降大任于斯人也,必先苦其心志,勞其筋骨。換言之,不經(jīng)一番寒徹骨,那得滿園撲鼻香?而對于可塑性最強的兒童...
    郭國酬閱讀 972評論 0 2

友情鏈接更多精彩內(nèi)容