最強Java面試題整理(2021版,附答案)

我自己前前後後加起來總共應該參加了不下四五十次的面試,另外參考網上的一些面試題,整理了這個面試題庫,希望可以幫助到大家。

篇幅有限,我在上千道面試題中從各技術方向選出15道,分享給大家
可以關注公衆號:【Java專欄】,發送" 面試題 " 獲取完整的面試題(整理成了PDF,並且帶目錄)
或者 ☺️☺️點擊這裏,獲取面試手冊及答案😌😌

Java基礎

1. 爲什麼要有包裝類型?

2. 內部類的分類有哪些

3. 在Java中定義一個不做事且沒有參數的構造方法的作用

4. 在調用子類構造方法之前會先調用父類沒有參數的構造方法,其目的是?

5. final有哪些用法?

6. 什麼Java註釋

7. Java中的抽象類和接口的區別?

8. Java程序是如何執行的

9. 什麼是內部類?

10. Java 中是否可以重寫一個 private 或者 static 方法?

11. Integer a= 127 與 Integer b = 127相等嗎

12. static的獨特之處

13. static和final區別

14. a=a+b與a+=b有什麼區別嗎?

15. 一個類的構造方法的作用是什麼?若一個類沒有聲明構造方法,改程序能正確執行嗎?爲什麼?

字符串

16. 什麼是字符串池?

17. 如何將String轉換爲char,反過來呢?

18. 如何將String轉換爲byte array,反過來呢?

19. 爲什麼要引入SpringBuffer、StringBuilder兩種字符串處理類?

20. 創建String對象的不同方式有哪些?

21. String str="i"與 String str=new String("i")一樣嗎?

22. 如何分割一個String?

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

24. String是不可變的有什麼好處?

25. 如何讓一個字符串變成小寫或大寫形式?

26. 什麼是String,它是什麼數據類型?

27. Java 中操作字符串都有哪些類?它們之間有什麼區別?

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

29. String 類的常用方法都有那些?

30. 如何比較兩個字符串?

容器

31. HashMap自動擴容

32. hashCode()和equals()方法有何重要性?

33. Array和ArrayList有何區別?什麼時候更適合用Array?

34. fail-fast與fail-safe有什麼區別?

35. 哪些集合類提供對元素的隨機訪問?

36. ArrayList,Vector,LinkedList的存儲性能和特性

37. 簡述Java中的集合

38. 我們如何對一組對象進行排序?

39. Comparable和Comparator接口有何區別?

40. HashMap在JDK1.7和JDK1.8中有哪些不同?

41. 大寫的O是什麼?舉幾個例子?

42. ConcurrenHashMap 原理?1.8 中爲什麼要用紅黑樹?

43. 談談線程池阻塞隊列吧~

44. HashMap和HashTable有何不同?

45. 隊列和棧是什麼,列出它們的區別?

多線程併發

46. Java中interrupted 和isInterruptedd方法的區別?

47. 什麼是線程調度器(Thread Scheduler)和時間分片(Time Slicing)?

48. 說一下 atomic 的原理?

49. 自旋鎖的優缺點?

50. 如何在兩個線程之間共享數據

51. 什麼是ThreadLocal變量?

52. 什麼是線程池? 爲什麼要使用它?

53. 如何創建守護線程?以及在什麼場合來使用它?

54. Java中interrupted 和 isInterrupted方法的區別?

55. 常用的線程池模式以及不同線程池的使用場景?

56. 線程池都有哪些狀態?

57. 什麼是阻塞(Blocking)和非阻塞(Non-Blocking)?

58. 在Java中Executor、ExecutorService、Executors的區別?

59. 現在有 T1、T2、T3 三個線程,你怎樣保證 T2 在 T1 執行完後執行,T3 在 T2 執行完後執 行?

60. 線程中斷是否能直接調用stop,爲什麼?

異常

61. Excption與Error包結構

62. Java異常簡介

63. 運行時異常與一般異常有何異同?

64. Throw 和 throws 的區別

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

66. Java異常的分類

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

68. 什麼是受檢異常

69. 闡述 final、finally、finalize 的區別

70. 列出一些你常見的運行時異常?

71. Error 和 Exception 有什麼區別?

泛型

72. List<? extends T>和List <? super T>之間有什麼區別 ?

73. 什麼是泛型中的限定通配符和非限定通配符 ?

74. Java的泛型是如何工作的 ? 什麼是類型擦除 ?

75. 什麼是泛型

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

77. 你可以把List傳遞給一個接受List

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