Java面試寶典2018版

Java面試寶典2018版

一。 Java基礎部分……………………………………………………………………………………。。。。。 7

1、一個“。java”原始檔中是否可以包括多個類(不是內部類)?有什麼限制?。。 7

2、Java有沒有goto?…………………………………………………………………………。。。。。 7

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

4、在JAVA中如何跳出當前的多重巢狀迴圈?………………………………………… 8

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

6、short s1 = 1; s1 = s1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯?…………。。。 9

7、char型變數中能不能存貯一箇中文漢字?為什麼?………………………………。。。。。 9

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

9、請設計一個一百億的計算器………………………………………………………………。 9

10、使用final關鍵字修飾一個變數時,是引用不能變,還是引用的物件不能變?………………………………………………………………………………………………………… 11

11、“==”和equals方法究竟有什麼區別?………………………………………………。。 11

12、靜態變數和例項變數的區別?………………………………………………………… 12

13、是否可以從一個static方法內部發出對非static方法的呼叫?……………… 12

14、Integer與int的區別……………………………………………………………………。。。。 13

15、Math。round(11。5)等於多少? Math。round(-11。5)等於多少?……………………。。。 13

16、下面的程式碼有什麼不妥之處?…………………………………………………………。。 13

17、請說出作用域public,private,protected,以及不寫時的區別……………… 13

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

19、構造器Constructor是否可被override?……………………………………………… 15

20、介面是否可繼承介面? 抽象類是否可實現(implements)介面? 抽象類是否可繼承具體類(concrete class)? 抽象類中是否可以有靜態的main方法?…………………… 15

21、寫clone()方法時,通常都有一行程式碼,是什麼?………………………………。 15

22、面向物件的特徵有哪些方面…………………………………………………………。。。 15

23、java中實現多型的機制是什麼?……………………………………………………。。 17

24、abstract class和interface有什麼區別?………………………………………………。 17

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

26、什麼是內部類?Static Nested Class 和 Inner Class的不同。………………。。 19

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

28、Anonymous Inner Class (匿名內部類) 是否可以extends(繼承)其它類,是否可以implements(實現)interface(介面)?…………………………………………………………。。。 21

29、super。getClass()方法呼叫……………………………………………………。。。 21

30、String是最基本的資料型別嗎?……………………………………………………。。。。。 22

31、String s = “Hello”;s = s + “ world!”;這兩行程式碼執行後,原始的String物件中的內容到底變了沒有?………………………………………………………………………………。。。。 22

32、是否可以繼承String類?………………………………………………………………。。。 23

33、String s = new String(“xyz”);建立了幾個String Object? 二者之間有什麼區別?………………………………………………………………………………………………………… 23

34、String 和StringBuffer的區別…………………………………………………………。。 23

35、如何把一段逗號分割的字串轉換成一個數組?………………………………。。。 24

36、陣列有沒有length()這個方法? String有沒有length()這個方法?…………。。。 24

37、下面這條語句一共建立了多少個物件:String s=“a”+“b”+“c”+“d”;…………。 24

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

39、下面的程式程式碼輸出的結果是多少?………………………………………………。 25

40、final, finally, finalize的區別。…………………………………………………………。 27

41、執行時異常與一般異常有何異同?………………………………………………。。。。 27

42、error和exception有什麼區別?………………………………………………………… 28

43、Java中的異常處理機制的簡單原理和應用。……………………………………。。 28

44、請寫出你最常見到的5個runtime exception。…………………………………… 28

45、JAVA語言如何進行異常處理,關鍵字:throws,throw,try,catch,finally分別代表什麼意義?在try塊中可以丟擲異常嗎?……………………………………………………。。。。 29

46、java中有幾種方法可以實現一個執行緒?用什麼關鍵字修飾同步方法? stop()和suspend()方法為何不推薦使用?…………………………………………………………。。。。 29

47、sleep() 和 wait() 有什麼區別?……………………………………………………。。。。。 30

48、同步和非同步有何異同,在什麼情況下分別使用他們?舉例說明。………… 32

49。 下面兩個方法同步嗎?(自己發明)………………………………………………。。 33

50、多執行緒有幾種實現方法?同步有幾種實現方法?………………………………。。。。。 33

51、啟動一個執行緒是用run()還是start()? ………………………………………………。。 33

52、當一個執行緒進入一個物件的一個synchronized方法後,其它執行緒是否可進入此物件的其它方法?……………………………………………………………………………………。。。。 33

53、執行緒的基本概念、執行緒的基本狀態以及狀態之間的關係……………………。。 34

54、簡述synchronized和java。util。concurrent。locks。Lock的異同 ?……………… 34

55、設計4個執行緒,其中兩個執行緒每次對j增加1,另外兩個執行緒對j每次減少1。寫出程式。………………………………………………………………………………………………。 36

56、子執行緒迴圈10次,接著主執行緒迴圈100,接著又回到子執行緒迴圈10次,接著再回到主執行緒又迴圈100,如此迴圈50次,請寫出程式。……………………………… 38

57、介紹Collection框架的結構…………………………………………………………。。。。。 43

58、Collection框架中實現比較要實現什麼介面……………………………………。。。。 43

59、ArrayList和Vector的區別……………………………………………………………… 44

60、HashMap和Hashtable的區別…………………………………………………………。 44

61、List 和 Map 區別?……………………………………………………………………。。。。 45

62、List, Set, Map是否繼承自Collection介面?……………………………………。。。。。 45

63、List、Map、Set三個介面,存取元素時,各有什麼特點?………………。。。。。 45

64、說出ArrayList,Vector, LinkedList的儲存效能和特性…………………………。。。 46

65、去掉一個Vector集合中重複的元素………………………………………………。。。。 46

66、Collection 和 Collections的區別。………………………………………………。。。。。 47

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

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

69、兩個物件值相同(x。equals(y) == true),但卻可有不同的hash code,這句話對不對?………………………………………………………………………………………………………… 48

70、TreeSet裡面放物件,如果同時放入了父類和子類的例項物件,那比較時使用的是父類的compareTo方法,還是使用的子類的compareTo方法,還是拋異常!。 48

71、說出一些常用的類,包,介面,請各舉5個……………………………………。。 49

72、java中有幾種型別的流?JDK為每種型別的流提供了一些抽象類以供繼承,請說出他們分別是哪些類?………………………………………………………………………… 49

73、位元組流與字元流的區別………………………………………………………………。。。。 50

74、什麼是java序列化,如何實現java序列化?或者請解釋Serializable介面的作用。………………………………………………………………………………………………………… 51

75、描述一下JVM載入class檔案的原理機制?……………………………………。。。。。 52

76、heap和stack有什麼區別。…………………………………………………………。。。。。 52

77、GC是什麼? 為什麼要有GC?…………………………………………………………。 52

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

79、垃圾回收器的基本原理是什麼?垃圾回收器可以馬上回收記憶體嗎?有什麼辦法主動通知虛擬機器進行垃圾回收?………………………………………………………………。 52

80、什麼時候用assert。……………………………………………………………………。。。。 53

81、java中會存在記憶體洩漏嗎,請簡單描述。………………………………………… 53

82、能不能自己寫個類,也叫java。lang。String?……………………………………。。。 57

83。 Java程式碼查錯……………………………………………………………………………………。。。 57

二。 演算法與程式設計………………………………………………………………………………………… 61

1、編寫一個程式,將a。txt檔案中的單詞與b。txt檔案中的單詞交替合併到c。txt檔案中,a。txt檔案中的單詞用回車符分隔,b。txt檔案中用回車或空格進行分隔。……。。 61

2、編寫一個程式,將d:\java目錄下的所有。java檔案複製到d:\jad目錄下,並將原來檔案的副檔名從。java改為。jad。………………………………………………………………。。 62

3、編寫一個擷取字串的函式,輸入為一個字串和位元組數,輸出為按位元組擷取的字串,但要保證漢字不被擷取半個,如“我ABC”,4,應該擷取“我AB”,輸入“我ABC漢DEF”,6,應該輸出“我ABC”,而不是“我ABC+漢的半個”。………………………………………………………………………………………………………… 65

4、有一個字串,其中包含中文字元、英文字元和數字字元,請統計和打印出各個字元的個數。………………………………………………………………………………………… 65

5、說明生活中遇到的二叉樹,用java實現二叉樹…………………………………… 66

6、從類似如下的文字檔案中讀取出所有的姓名,並打印出重複的姓名和重複的次數,並按重複次數排序:…………………………………………………………………………。。。 71

7、寫一個Singleton出來。………………………………………………………………。。。。。 75

8、遞迴演算法題1………………………………………………………………………………。。。。 77

9、遞迴演算法題2………………………………………………………………………………。。。。 78

10、排序都有哪幾種方法?請列舉。用JAVA實現一個快速排序。…………。。。。 79

11、有陣列a[n],用java程式碼將陣列元素順序顛倒………………………………。。。。。 80

12.金額轉換,阿拉伯數字的金額轉換成中國傳統的形式如:(¥1011)->(一千零一拾一元整)輸出。…………………………………………………………………………。。。 81

三。 html&JavaScript&ajax部分……………………………………………………………………。。 82

1。 判斷第二個日期比第一個日期大……………………………………………………。。。。。 82

2。 用table顯示n條記錄,每3行換一次顏色,即1,2,3用紅色字型,4,5,6用綠色字型,7,8,9用紅顏色字型。…………………………………………………………。 83

3、HTML 的 form 提交之前如何驗證數值文字框的內容全部為數字? 否則的話提示使用者並終止提交?…………………………………………………………………………………… 84

4、請寫出用於校驗HTML文字框中輸入的內容全部為數字的javascript程式碼 84

5、說說你用過那些ajax技術和框架,說說它們的區別…………………………。。。。。 85

四。 Java web部分……………………………………………………………………………………。。。。 85

1、Tomcat的最佳化經驗…………………………………………………………………………。 85

2、HTTP請求的GET與POST方式的區別…………………………………………。。。。。 85

3、解釋一下什麼是servlet;…………………………………………………………………… 85

4、說一說Servlet的生命週期?……………………………………………………………… 86

5、Servlet的基本架構…………………………………………………………………………。 86

6、SERVLET API中forward() 與redirect()的區別?………………………………。。。 86

7、什麼情況下呼叫doGet()和doPost()?………………………………………………。。。 86

8、Request物件的主要方法:………………………………………………………………。 87

9、forward 和redirect的區別………………………………………………………………。。 87

10、request。getAttribute() 和 request。getParameter() 有何區別?………………。。。。。 88

11。 jsp有哪些內建物件?作用分別是什麼? 分別有什麼方法?……………………。 88

12。 jsp有哪些動作?作用分別是什麼?……………………………………………………。。。 88

13、JSP的常用指令…………………………………………………………………………。。。。 89

14。 JSP中動態INCLUDE與靜態INCLUDE的區別?………………………………。 89

15、兩種跳轉方式分別是什麼?有什麼區別?…………………………………………。。。。 89

16、頁面間物件傳遞的方法………………………………………………………………。。。。 89

17、JSP和Servlet有哪些相同點和不同點,他們之間的聯絡是什麼?………… 90

18、MVC的各個部分都有那些技術來實現?如何實現?…………………………。。。。。 90

19、我們在web應用開發過程中經常遇到輸出某種編碼的字元,如iso8859-1等,如何輸出一個某種編碼的字串?………………………………………………………………。 90

20.現在輸入n個數字,以逗號,分開;然後可選擇升或者降序排序;按提交鍵就在另一頁面顯示按什麼排序,結果為,提供reset……………………………………。。。。。 91

五。 資料庫部分………………………………………………………………………………………… 91

1、用兩種方式根據部門號從高到低,工資從低到高列出每個員工的資訊。。。。 91

2、列出各個部門中工資高於本部門的平均工資的員工數和部門號,並按部門號排序………………………………………………………………………………………………………… 91

3、儲存過程與觸發器必須講,經常被面試到?………………………………………… 92

4、資料庫三正規化是什麼?……………………………………………………………………。。 94

5、說出一些資料庫最佳化方面的經驗?……………………………………………………。。 95

6、union和union all有什麼不同?…………………………………………………………。。 96

7。分頁語句………………………………………………………………………………………… 97

8。用一條SQL語句 查詢出每門課都大於80分的學生姓名……………………。。。。 100

9。所有部門之間的比賽組合………………………………………………………………。。。 100

10。每個月份的發生額都比101科目多的科目…………………………………………。 101

11。統計每年每月的資訊……………………………………………………………………。。。 102

12。顯示文章標題,發帖人、最後回覆時間…………………………………………。。。。 103

13。刪除除了id號不同,其他都相同的學生冗餘資訊………………………………。。。 104

14。航空網的幾個航班查詢題:…………………………………………………………。。。。 104

15。查出比經理薪水還高的員工資訊:………………………………………………。。。。。 105

16、求出小於45歲的各個老師所帶的大於12歲的學生人數……………………。 106

17。求出發帖最多的人:……………………………………………………………………。。。 107

18、一個使用者表中有一個積分欄位,假如資料庫中有100多萬個使用者,若要在每年第一天凌晨將積分清零,你將考慮什麼,你將想什麼辦法解決?………………。。。。。 107

19、一個使用者具有多個角色,請查詢出該表中具有該使用者的所有角色的其他使用者。……………………………………………………………………………………………………。。。。 108

20。 xxx公司的sql面試……………………………………………………………………。。。。 108

21、註冊Jdbc驅動程式的三種方式……………………………………………………。。。 109

22、用JDBC如何呼叫儲存過程…………………………………………………………。。 109

23、JDBC中的PreparedStatement相比Statement的好處…………………………。 110

24。 寫一個用jdbc連線並訪問oracle資料的程式程式碼……………………………… 111

25、Class。forName的作用?為什麼要用?………………………………………………。。。 111

26、大資料量下的分頁解決方法。……………………………………………………。。。。 111

27、用 JDBC 查詢學生成績單, 把主要程式碼寫出來(考試機率極大)……。。。 112

28、這段程式碼有什麼不足之處?…………………………………………………………。。。。 112

29、說出資料連線池的工作機制是什麼?………………………………………………。 113

30、為什麼要用 ORM? 和 JDBC 有何不一樣?……………………………………。 113

六。 XML部分…………………………………………………………………………………………。 113

1、xml有哪些解析技術?區別是什麼?…………………………………………………… 113

2、你在專案中用到了xml技術的哪些方面?如何實現的?………………………… 114

3、用jdom解析xml檔案時如何解決中文問題?如何解析?……………………。。。。 114

4、程式設計用JAVA解析XML的方式……………………………………………………。。。。 115

5、XML文件定義有幾種形式?它們之間有何本質區別?解析XML文件有哪幾種方式?……………………………………………………………………………………………………。。。。 117

七。 流行的框架與新技術…………………………………………………………………………。。 117

1、談談你對Struts的理解。………………………………………………………………。。 117

2、談談你對Hibernate的理解。…………………………………………………………。。 118

3、AOP的作用。……………………………………………………………………………… 118

4、你對Spring的理解。……………………………………………………………………。。 118

5、談談Struts中的Action servlet。……………………………………………………。。。 120

6、Struts優缺點優點: 1。 實現MVC模式,結構清晰,使開發者只關注業務邏輯的實現………………………………………………………………………………………………。。。 120

7、STRUTS的應用(如STRUTS架構)………………………………………………。。。。。 121

8、說說struts1與struts2的區別。……………………………………………………。。。。。 121

9、hibernate中的update()和saveOrUpdate()的區別,session的load()和get()的區別。……………………………………………………………………………………………………。。。。 122

10、簡述 Hibernate 和 JDBC 的優缺點? 如何書寫一個 one to many 配置檔案。 122

11、iBatis與Hibernate有什麼不同?……………………………………………………。。。 122

12、寫Hibernate的一對多和多對一雙向關聯的orm配置?……………………。。。。 122

9、hibernate的inverse屬性的作用?……………………………………………………。。。 122

13、在DAO中如何體現DAO設計模式?……………………………………………… 123

14、spring+Hibernate中委託方案怎麼配置?…………………………………………。。。 123

15、spring+Hibernate中委託方案怎麼配置?…………………………………………。。。 123

16。 hibernate進行多表查詢每個表中各取幾個欄位,也就是說查詢出來的結果集沒有一個實體類與之對應如何解決;…………………………………………………………。。。。。 123

17。介紹一下Hibernate的二級快取……………………………………………………。。。。。 123

18、Spring 的依賴注入是什麼意思? 給一個 Bean 的 message 屬性, 字串型別, 注入值為 “Hello” 的 XML 配置檔案該怎麼寫?……………………………………。。。。。 125

19、Jdo是什麼?………………………………………………………………………………。。 125

20、什麼是spring的IOC AOP…………………………………………………………。。 126

21、STRUTS的工作流程!………………………………………………………………。。。 126

22、spring 與EJB的區別!!…………………………………………………………。。。。。 126

八。 軟體工程與設計模式…………………………………………………………………………。。 126

1、UML方面…………………………………………………………………………………… 126

2、j2ee常用的設計模式?說明工廠模式。…………………………………………。。。。 126

3、開發中都用到了那些設計模式?用在什麼場合?………………………………。。。。。 127

九。 j2ee部分…………………………………………………………………………………………。。。 127

1、BS與CS的聯絡與區別。……………………………………………………………… 127

2、應用伺服器與WEB SERVER的區別?…………………………………………。。。。 128

3、應用伺服器有那些?……………………………………………………………………。。 128

4、J2EE是什麼?……………………………………………………………………………… 128

5、J2EE是技術還是平臺還是框架? 什麼是J2EE………………………………。。。。 128

6、請對以下在J2EE中常用的名詞進行解釋(或簡單描述)……………………。。。。。 129

7、如何給weblogic指定大小的記憶體?…………………………………………………… 129

8、如何設定的weblogic的熱啟動模式(開發模式)與產品釋出模式?…………。。 129

9、如何啟動時不需輸入使用者名稱與密碼?………………………………………………。。。 130

10、在weblogic管理制臺中對一個應用域(或者說是一個網站,Domain)進行jms及ejb或連線池等相關資訊進行配置後,實際儲存在什麼檔案中?…………………………。。 130

11、說說weblogic中一個Domain的預設目錄結構?比如要將一個簡單的helloWorld。jsp放入何目錄下,然的在瀏覽器上就可打入http://主機:埠號//helloword。jsp就可以看到執行結果了? 又比如這其中用到了一個自己寫的javaBean該如何辦?…………。。。 130

12、在weblogic中釋出ejb需涉及到哪些配置檔案………………………………。。。 130

13、如何在weblogic中進行ssl配置與客戶端的認證配置或說說j2ee(標準)進行ssl的配置?………………………………………………………………………………………………。。。。。 130

14、如何檢視在weblogic中已經發布的EJB?………………………………………… 131

十。 EBJ部分…………………………………………………………………………………………。。。 131

1、EJB是基於哪些技術實現的?並說出SessionBean和EntityBean的區別,StatefulBean和StatelessBean的區別。…………………………………………………………………… 131

2、簡要講一下 EJB 的 7 個 Transaction Level?……………………………………。 131

3、EJB與JAVA BEAN的區別?…………………………………………………………。 131

4、EJB包括(SessionBean,EntityBean)說出他們的生命週期,及如何管理事務的?……………………………………………………………………………………………………。。。。 132

5、EJB容器提供的服務……………………………………………………………………。。 132

6、EJB的啟用機制…………………………………………………………………………。。。。 132

7、EJB的幾種型別…………………………………………………………………………。。。。 132

8、客服端呼叫EJB物件的幾個基本步驟……………………………………………… 133

十一。 webservice部分………………………………………………………………………………。 133

1、WEB SERVICE名詞解釋。JSWDL開發包的介紹。JAXP、JAXM的解釋。SOAP、UDDI,WSDL解釋。…………………………………………………………………………。。 133

2、CORBA是什麼?用途是什麼?…………………………………………………………。 133

3。 Linux………………………………………………………………………………………………。。。。 134

4、LINUX下執行緒,GDI類的解釋。……………………………………………………。 134

5。 問得稀裡糊塗的題………………………………………………………………………………。 134

6、四種會話跟蹤技術………………………………………………………………………… 134

7、簡述邏輯操作(&,|,^)與條件操作(&&,||)的區別。………………………………。。 134

十二。 其他……………………………………………………………………………………………… 134

1、請用英文簡單介紹一下自己…………………………………………………………。。。 134

2、請把 http://tomcat。apache。org/ 首頁的這一段話用中文翻譯一下?…………。。 135

3、美資軟體公司JAVA工程師電話面試題目………………………………………… 135