當前位置:才華齋>計算機>java語言>

170道經久不衰的Java工程師面試題

java語言 閱讀(2.88W)

無論是初入職場的菜鳥,還是職場老油條,都不可能對Java技術面面精通,有些問題在面試過程中又是極其刁鑽,下面是由本站小編為大家準備的170道Java工程師面試題,你敢來挑戰一下嗎?瞭解更多詳情資訊,請關注應屆畢業生考試網!

170道經久不衰的Java工程師面試題

1、面向物件的特徵有哪些方面?

2、訪問修飾符public,private,protected,以及不寫(預設)時的區別?

3、String 是最基本的資料型別嗎?

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

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

6、Java有沒有goto?

7、int和Integer有什麼區別?

8、&和&&的區別?

9、解釋記憶體中的棧(stack)、堆(heap)和靜態區(static area)的用法。

10、d(11.5) 等於多少?d(-11.5)等於多少?

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

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

13、陣列有沒有length()方法?String有沒有length()方法?

14、在Java中,如何跳出當前的多重巢狀迴圈?

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

16、兩個物件值相同(ls(y) == true),但卻可有不同的hash code,這句話對不對?

17、是否可以繼承String類?

18、當一個物件被當作引數傳遞到一個方法後,此方法可改變這個物件的屬性,並可返回變化後的結果,那麼這裡到底是值傳遞還是引用傳遞?

19、String和StringBuilder、StringBuffer的區別?

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

21、描述一下JVM載入class檔案的原理機制?

22、char 型變數中能不能存貯一箇中文漢字,為什麼?

23、抽象類(abstract class)和介面(interface)有什麼異同?

24、靜態巢狀類(Static Nested Class)和內部類(Inner Class)的不同?

25、Java 中會存在記憶體洩漏嗎,請簡單描述。

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

27、闡述靜態變數和例項變數的區別。

28、是否可以從一個靜態(static)方法內部發出對非靜態(non-static)方法的呼叫?

29、如何實現物件克隆?

31、String s = new String("xyz");建立了幾個字串物件?

32、介面是否可繼承(extends)介面?抽象類是否可實現(implements)介面?抽象類是否可繼承具體類(concrete class)?

33、一個""原始檔中是否可以包含多個類(不是內部類)?有什麼限制?

34、Anonymous Inner Class(匿名內部類)是否可以繼承其它類?是否可以實現介面?

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

36、Java 中的final關鍵字有哪些用法?

38、資料型別之間的轉換:

39、如何實現字串的反轉及替換?

40、怎樣將GB2312編碼的字串轉換為ISO-8859-1編碼的字串?

41、日期和時間:

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

43、比較一下Java和JavaSciprt。

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

45、Error和Exception有什麼區別?

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

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

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

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

50、闡述final、finally、finalize的區別。

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

請問執行此段程式碼的輸出是什麼?

52、List、Set、Map是否繼承自Collection介面?

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

54、Collection和Collections的區別?

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

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

57、Thread類的sleep()方法和物件的wait()方法都可以讓執行緒暫停執行,它們有什麼區別?

58、執行緒的sleep()方法和yield()方法有什麼區別?

59、當一個執行緒進入一個物件的synchronized方法A之後,其它執行緒是否可進入此物件的synchronized方法B?

60、請說出與執行緒同步以及執行緒排程相關的方法。

61、編寫多執行緒程式有幾種實現方式?

62、synchronized關鍵字的用法?

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

64、啟動一個執行緒是呼叫run()還是start()方法?

65、什麼是執行緒池(thread pool)?

66、執行緒的基本狀態以及狀態之間的關係?

67、簡述synchronized 和的異同?

68、Java中如何實現序列化,有什麼意義?

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

70、寫一個方法,輸入一個檔名和一個字串,統計這個字串在這個檔案中出現的次數。

71、如何用Java程式碼列出一個目錄下所有的檔案?

72、用Java的套接字程式設計實現一個多執行緒的回顯(echo)伺服器。

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

74、你在專案中哪些地方用到了XML?

75、闡述JDBC操作資料庫的步驟。

76、Statement和PreparedStatement有什麼區別?哪個效能更好?

77、使用JDBC操作資料庫時,如何提升讀取資料的效能?如何提升更新資料的效能?

78、在進行資料庫程式設計時,連線池有什麼作用?

79、什麼是DAO模式?

80、事務的ACID是指什麼?

81、JDBC中如何進行事務處理?

82、JDBC能否處理Blob和Clob?

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

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

85、獲得一個類的類物件有哪些方式?

86、如何通過反射建立物件?

87、如何通過反射獲取和設定物件私有欄位的值?

88、如何通過反射呼叫物件的方法?

89、簡述一下面向物件的"六原則一法則"。

90、簡述一下你瞭解的設計模式。

91、用Java寫一個單例類。