java 面試題目(java高級架構)

 

題目信息html

java基礎:java

1. Java 基礎程序員

  1. JDK 和 JRE 有什麼區別?   Java中JDK和JRE的區別是什麼?它們的做用分別是什麼?面試

  2.  == 和 equals 的區別是什麼?算法

  3.  兩個對象的 hashCode() 相同,則 equals() 也必定爲 true,對嗎?spring

  4. final 在 java 中有什麼做用?sql

  5.  java 中的 Math.round(-1.5) 等於多少?編程

  6. 深拷貝和淺拷貝的區別json

  7.  String 屬於基礎的數據類型嗎?設計模式

  8. java 中操做字符串都有哪些類?它們之間有什麼區別?

  9.  String str="i"與 String str=new String(「i」)同樣嗎?

  10. 如何將字符串反轉?

  11. String 類的經常使用方法都有那些?

  12.  抽象類必需要有抽象方法嗎?

  13.  普通類和抽象類有哪些區別?

  14.  抽象類能使用 final 修飾嗎?

  15.  接口和抽象類有什麼區別?

  16. java 中 IO 流分爲幾種?

  17.  BIO、NIO、AIO 有什麼區別?

  18. Files的經常使用方法都有哪些?

  19. 在java中守護線程和本地線程區別   java 73題以及答案 (1~73題均有答案)

  20. 線程與進程的區別?    java 73題以及答案 (1~73題均有答案)

  21. 什麼是多線程中的上下文切換?   java 73題以及答案 (1~73題均有答案)

  22. 死鎖與活鎖的區別,死鎖與飢餓的區別?   java 73題以及答案 (1~73題均有答案) 

  23. Java中用到的線程調度算法是什麼?  java 73題以及答案 (1~73題均有答案)

  24. 什麼是線程組,爲何在Java中不推薦使用?  java 73題以及答案 (1~73題均有答案) 

  25. 爲何使用Executor框架?  java 73題以及答案 (1~73題均有答案) 

  26. 在Java中Executor和Executors的區別?  java 73題以及答案 (1~73題均有答案)

  27. 什麼是原子操做?在Java Concurrency API中有哪些原子類(atomic classes)?    java 73題以及答案 (1~73題均有答案) 

  28. Java Concurrency API中的Lock接口(Lock interface)是什麼?對比同步它有什麼優點?  java 73題以及答案 (1~73題均有答案)

  29. 什麼是Executors框架?  java 73題以及答案 (1~73題均有答案)

  30. 什麼是阻塞隊列?阻塞隊列的實現原理是什麼?如何使用阻塞隊列來實現生產者-消費者模型?    java 73題以及答案 (1~73題均有答案)

  31. 什麼是Callable和Future?  java 73題以及答案 (1~73題均有答案)

  32. 什麼是FutureTask?使用ExecutorService啓動任務。  java 73題以及答案 (1~73題均有答案)

  33. 什麼是併發容器的實現?  java 73題以及答案 (1~73題均有答案)

  34. 多線程同步和互斥有幾種實現方法,都是什麼?  java 73題以及答案 (1~73題均有答案)

  35. 什麼是競爭條件?你怎樣發現和解決競爭?  java 73題以及答案 (1~73題均有答案)

  36. 你將如何使用thread dump?你將如何分析Thread dump?  java 73題以及答案 (1~73題均有答案)

  37. 爲何咱們調用start()方法時會執行run()方法,爲何咱們不能直接調用run()方法?  java 73題以及答案 (1~73題均有答案)

  38. Java中你怎樣喚醒一個阻塞的線程?  java 73題以及答案 (1~73題均有答案)

  39. 在Java中CycliBarriar和CountdownLatch有什麼區別?  java 73題以及答案 (1~73題均有答案)

  40. 什麼是不可變對象,它對寫併發應用有什麼幫助?  java 73題以及答案 (1~73題均有答案)

  41. 什麼是多線程中的上下文切換?  java 73題以及答案 (1~73題均有答案)

  42. Java中用到的線程調度算法是什麼?  java 73題以及答案 (1~73題均有答案)

  43. 什麼是線程組,爲何在Java中不推薦使用?  java 73題以及答案 (1~73題均有答案)

  44. 爲何使用Executor框架比使用應用建立和管理線程好?  java 73題以及答案 (1~73題均有答案)

  45. java中有幾種方法能夠實現一個線程?  java 73題以及答案 (1~73題均有答案)

  46. 如何中止一個正在運行的線程?  java 73題以及答案 (1~73題均有答案)

  47. notify()和notifyAll()有什麼區別?  java 73題以及答案 (1~73題均有答案)

  48. 什麼是Daemon線程?它有什麼意義?  java 73題以及答案 (1~73題均有答案)

  49. CopyOnWriteArrayList能夠用於什麼應用場景?  java 73題以及答案 (1~73題均有答案)

  50. 什麼叫線程安全?servlet是線程安全嗎?  java 73題以及答案 (1~73題均有答案)

  51. volatile有什麼用?可否用一句話說明下volatile的應用場景?  java 73題以及答案 (1~73題均有答案)

  52. 爲何代碼會重排序?  java 73題以及答案 (1~73題均有答案)

  53. 在java中wait和sleep方法的不一樣?  java 73題以及答案 (1~73題均有答案)

  54. 一個線程運行時發生異常會怎樣  java 73題以及答案 (1~73題均有答案)

  55. 如何在兩個線程間共享數據?  java 73題以及答案 (1~73題均有答案)

  56. Java中notify 和 notifyAll有什麼區別?  java 73題以及答案 (1~73題均有答案)

  57. 爲何wait, notify 和 notifyAll這些方法不在thread類裏面?  java 73題以及答案 (1~73題均有答案)

  58. 什麼是ThreadLocal變量?  java 73題以及答案 (1~73題均有答案)

  59. Java中interrupted 和 isInterrupted方法的區別?  java 73題以及答案 (1~73題均有答案)

  60. 爲何wait和notify方法要在同步塊中調用?  java 73題以及答案 (1~73題均有答案)

  61. 爲何你應該在循環中檢查等待條件?  java 73題以及答案 (1~73題均有答案)

  62. Java中的同步集合與併發集合有什麼區別  java 73題以及答案 (1~73題均有答案)

  63. 什麼是線程池? 爲何要使用它?  java 73題以及答案 (1~73題均有答案)

  64. 怎麼檢測一個線程是否擁有鎖?  java 73題以及答案 (1~73題均有答案)

  65. 你如何在Java中獲取線程堆棧?  java 73題以及答案 (1~73題均有答案)

  66. JVM中哪一個參數是用來控制線程的棧堆棧小的?  java 73題以及答案 (1~73題均有答案)

  67. Thread類中的yield方法有什麼做用?  java 73題以及答案 (1~73題均有答案)

  68. Java中ConcurrentHashMap的併發度是什麼?  java 73題以及答案 (1~73題均有答案)

  69. Java中Semaphore是什麼?  java 73題以及答案 (1~73題均有答案)

  70. Java線程池中submit() 和 execute()方法有什麼區別?  java 73題以及答案 (1~73題均有答案)

  71. 什麼是阻塞式方法?  java 73題以及答案 (1~73題均有答案)

  72. Java中的ReadWriteLock是什麼?  java 73題以及答案 (1~73題均有答案)

  73. volatile 變量和 atomic 變量有什麼不一樣?  java 73題以及答案 (1~73題均有答案)

  74. 能夠直接調用Thread類的run ()方法麼?  java 73題以及答案 (1~73題均有答案)

  75. 如何讓正在運行的線程暫停一段時間?  java 73題以及答案 (1~73題均有答案)

  76. 你對線程優先級的理解是什麼?  java 73題以及答案 (1~73題均有答案)

  77. 什麼是線程調度器(Thread Scheduler)和時間分片(Time Slicing )?  java 73題以及答案 (1~73題均有答案)

  78. 你如何確保main()方法所在的線程是Java 程序最後結束的線程?  java 73題以及答案 (1~73題均有答案)

  79. 線程之間是如何通訊的?  java 73題以及答案 (1~73題均有答案)

  80. 爲何線程通訊的方法wait(), notify()和notifyAll()被定義在Object 類裏?  java 73題以及答案 (1~73題均有答案)

  81. 爲何wait(), notify()和notifyAll ()必須在同步方法或者同步塊中被調用?  java 73題以及答案 (1~73題均有答案)

  82. 爲何Thread類的sleep()和yield ()方法是靜態的?  java 73題以及答案 (1~73題均有答案)

  83. 如何確保線程安全?  java 73題以及答案 (1~73題均有答案)

  84. 同步方法和同步塊,哪一個是更好的選擇?  java 73題以及答案 (1~73題均有答案)

  85. 如何建立守護線程?  java 73題以及答案 (1~73題均有答案)

  86. 什麼是Java Timer 類?如何建立一個有特定時間間隔的任務?  java 73題以及答案 (1~73題均有答案)

  87. 爲何等待和通知是在 Object 類而不是 Thread 中聲明的?

  88. 爲何Java中不支持多重繼承?    java十題

  89. 爲何Java不支持運算符重載java十題

  90. 爲何 String 在 Java 中是不可變的? java十題

  91. 爲何 char 數組比 Java 中的 String 更適合存儲密碼java十題

  92. 如何使用雙重檢查鎖定在 Java 中建立線程安全的單例?java十題

  93. 編寫 Java 程序時, 如何在 Java 中建立死鎖並修復它java十題

  94. 若是你的Serializable類包含一個不可序列化的成員,會發生什麼?你是如何解決的java十題

  95. 爲何Java中 wait 方法須要在 synchronized 的方法中調用java十題

  96. 你能用Java覆蓋靜態方法嗎?若是我在子類中建立相同的方法是編譯時錯誤java十題

  97. 你看過那些源碼嗎? 

  98. 那你能講講HashMap的實現原理嗎? (【Java集合源碼剖析】HashMap源碼剖析HashMap原理(一) 概念和底層架構

  99. HashMap何時會進行rehash?  (Java HashMap中在resize()時候的rehash,即再哈希法的理解

  100. HashMap何時會進行擴容?  (HashMap的擴容機制---resize()

  101. 那HashMap的初始容量設置成多少比較合適呢?  (Java中HashMap的初始容量設置

  102. 結合源碼說說HashMap在高併發場景中爲何會出現死循環? (HashMap 在高併發下引發的死循環

  103. JDK1.8中對HashMap作了哪些性能優化?  (JDK1.8中對hashmap的優化

  104. HashMap和HashTable有何不一樣? (HashMap與HashTable原理及數據結構; HashMap 與HashTable的區別

  105. HashMap 和 ConcurrentHashMap 的區別? (HashMap? ConcurrentHashMap?

  106. ConcurrentHashMap和LinkedHashMap有什麼區別?  (ConcurrentHashMap總結Java LinkedHashMap工做原理及實現

  107. 爲何ConcurrentHashMap中的鏈表轉紅黑樹的閥值是8?  (爲何HashMap桶(鏈表)的長度超過8纔會轉換成紅黑樹      https://www.jianshu.com/p/85d158455861   Java集合-ConcurrentHashMap工做原理和實現JDK8         https://www.jianshu.com/p/b7dda385f83d ConcurrentHashMap與紅黑樹實現分析Java8 )

  108. 什麼是ConcurrentSkipListMap?他和ConcurrentHashMap有什麼區別?  (Java併發容器——ConcurrentSkipListMap和ConcurrentHashMap

  109. 還看過其餘的源碼嗎?Spring的源碼有了解嗎?  【隨筆分類 - spring及其源碼分析專輯  https://www.cnblogs.com/davidwang456/category/805707.html    spring面試問題與答案集錦

  110. java如何實現多線程之間的通信和協做?  java 73題以及答案 (1~73題均有答案)

  111. 什麼是可重入鎖(ReentrantLock)? 可重入鎖和不可重入鎖   java 73題以及答案 (1~73題均有答案)

  112. 當一個線程進入某個對象的一個synchronized的實例方法後,其它線程是否可進入此對象的其它方法?  java 73題以及答案 (1~73題均有答案)

  113. 樂觀鎖和悲觀鎖的理解及如何實現,有哪些實現方式?  java 73題以及答案 (1~73題均有答案)

  114. SynchronizedMap和ConcurrentHashMap有什麼區別?  java 73題以及答案 (1~73題均有答案)

 

 

2. 容器

  1. java 容器都有哪些? Java容器有哪些?
  2. Collection 和 Collections 有什麼區別? Collection和Collections有什麼區別?
  3. List、Set、Map 之間的區別是什麼?  List、Map、Set之間的聯繫與區別:
  4. 如何決定使用 HashMap 仍是 TreeMap?  Java中HashMap和TreeMap的區別
  5.  說一下 HashSet 的實現原理?  HashSet的實現原理
  6.  ArrayList 和 LinkedList 的區別是什麼? ArrayList和LinkedList的區別
  7.  如何實現數組和 List 之間的轉換?  如何實現數組與List的相互轉換
  8.  ArrayList 和 Vector 的區別是什麼?  arrayList和vector的區別
  9.  Array 和 ArrayList 有何區別?  java中Array和ArrayList區別
  10.  在 Queue 中 poll()和 remove()有什麼區別?  在 Queue 中 poll()和 remove()有什麼區別?
  11.  哪些集合類是線程安全的?經常使用集合類簡介及線程安全和非線程安全的集合對象Java集合中那些類是線程安全的
  12.  迭代器 Iterator 是什麼?   迭代器Iterator、for循環遍歷、泛型
  13.  Iterator 怎麼使用?有什麼特色?
  14.  Iterator 和 ListIterator 有什麼區別?  Iterator和ListIterator區別
  15.  怎麼確保一個集合不能被修改?   怎麼確保一個集合不能被修改   csdn確保集合不能被修改
  16. Collection總覽
  17. List集合就這麼簡單【源碼剖析】
  18. Map集合、散列表、紅黑樹介紹
  19. HashMap就是這麼簡單【源碼剖析】
  20. LinkedHashMap就這麼簡單【源碼剖析】
  21. TreeMap就這麼簡單【源碼剖析】
  22. ConcurrentHashMap基於JDK1.8源碼剖析
  23. Set集合就這麼簡單!
  24. Java集合總結【面試題+腦圖】,將知識點一網打盡!
  25. CopyOnWriteArrayList你都不知道,怎麼拿offer?

 

4. 反射

  1. 什麼是反射? java中 什麼是反射?   Java的反射是什麼?有什麼用
  2. 什麼是 java 序列化?什麼狀況下須要序列化? 什麼是Java序列化?爲何序列化?序列化有哪些方式?
  3.  動態代理是什麼?有哪些應用? Java動態代理實現及實際應用
  4. 怎麼實現動態代理? Java實現動態代理的兩種方式

5. 對象拷貝

  1. 爲何要使用克隆?    java對象克隆以及深拷貝和淺拷貝
  2.  如何實現對象克隆? 如何實現對象克隆?
  3. 深拷貝和淺拷貝區別是什麼? 淺談Java中的深克隆和淺克隆(阿里面試)

6. Java Web

  1.  jsp 和 servlet 有什麼區別?
  2.  jsp 有哪些內置對象?做用分別是什麼?
  3. 說一下 jsp 的 4 種做用域?
  4. session 和 cookie 有什麼區別?  session和cookie有什麼區別?
  5.  說一下 session 的工做原理?  深度解剖session運行原理
  6.  若是客戶端禁止 cookie 能實現 session 還能用嗎?  session與cookie的區別是什麼?若是客戶端禁用了cookie功能,將會對session有什麼影響?
  7.  spring mvc 和 struts 的區別是什麼?  【SSM 1】SpringMVC、Spring和Struts的區別
  8. 如何避免 sql 注入?
  9.  什麼是 XSS 攻擊,如何避免?
  10.  什麼是 CSRF 攻擊,如何避免?
  11. 給我說說你能想到幾種分佈式session實現

7. 異常

  1.  throw 和 throws 的區別?
  2.  final、finally、finalize 有什麼區別? 【Java面試題】19 final,finally和finalize的區別
  3.  try-catch-finally 中哪一個部分能夠省略?
  4.  try-catch-finally 中,若是 catch 中 return 了,finally 還會執行嗎?
  5.  常見的異常類有哪些?  常見異常類有哪些?

8. 網絡

  1.  http 響應碼 301 和 302 表明的是什麼?有什麼區別?  HTTP狀態碼中301與302的區別
  2.  forward 和 redirect 的區別?  java面試題之----轉發(forward)和重定向(redirect)的區別
  3. 簡述 tcp 和 udp的區別? TCP和UDP的區別(轉)
  4. tcp 爲何要三次握手,兩次不行嗎?爲何? TCP爲何是三次握手,爲何不是兩次或者四次 && TCP四次揮手
  5.  說一下 tcp 粘包是怎麼產生的? TCP的粘包現象   理解TCP三次握手/四次斷開的必要性
  6.  OSI 的七層模型都有哪些?
  7.  get 和 post 請求有哪些區別?  http與https區別,get與post請求區別
  8.  如何實現跨域? 實現跨域的N種方法
  9. 說一下 JSONP 實現原理? 完全弄懂jsonp原理及實現方法   淺談JSONP 的本質工做原理

 

Java集合22題

  1. ArrayList 和 Vector 的區別 (arrayList和vector的區別

  2. 說說 ArrayList,Vector, LinkedList 的存儲性能和特性。(arrayList和vector的區別

  3. 快速失敗 (fail-fast) 和安全失敗 (fail-safe) 的區別是什麼? (java中快速失敗(fail-fast)和安全失敗(fail-safe)的區別是什麼?

  4. hashmap 的數據結構。 HashMap? ConcurrentHashMap?

  5. HashMap 的工做原理是什麼? HashMap? ConcurrentHashMap?

  6. Hashmap 何時進行擴容呢?   HashMap的擴容機制---resize()  Java HashMap中在resize()時候的rehash,即再哈希法的理解

  7. List、Map、Set 三個接口,存取元素時,各有什麼特色? (List、Map、Set三個接口,存取元素時,各有什麼特色?)

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

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

  10. heap 和 stack 有什麼區別 (堆(heap)和棧(stack)有什麼區別??

  11. Java 集合類框架的基本接口有哪些?(Java集合類框架的基本接口有哪些?

  12. HashSet 和 TreeSet 有什麼區別? (HashSet和TreeSet的區別

  13. HashSet 的底層實現是什麼? (HashSet的實現原理

  14. LinkedHashMap 的實現原理? (LinkedHashMap的實現原理

  15. 爲何集合類沒有實現 Cloneable 和 Serializable 接口?(爲何集合類沒有實現Cloneable和Serializable接口

  16. 什麼是迭代器 (Iterator)? (Java集合Iterator迭代器的實現

  17. Iterator 和 List  Iterator 的區別是什麼? (Iterator和ListIterator的區別

  18. 數組 (Array) 和列表 (ArrayList) 有什麼區別?何時應該使用 Array 而不是 ArrayList? (數組(Array)和列表(ArrayList)有什麼區別?何時應該使用Array而不是ArrayList?

  19. Java 集合類框架的最佳實踐有哪些?(Java集合類框架的最佳實踐?

  20. Comparable 和 Comparator 接口是幹什麼的?列出它們的區別 (Comparable和Comparator接口是幹什麼的?列出它們的區別。

  21. Collection 和 Collections 的區別。 (Collection接口和Collections類的簡單區別和講解

  22. 什麼是線程調度器(ThreadScheduler) 和時間分片(TimeSlicing) 【線程調度器是一個操做系統服務,它負責爲Runnable狀態的線程分配CPU時間。一旦建立一個線程並啓動它,它的執行便依賴於線程調度器的實現。時間分片是指將可用的CPU時間分配給可用的Runnable線程的過程。分配CPU時間能夠基於線程優先級或者線程等待的時間。線程調度並不受到Java虛擬機控制,因此由應用程序來控制它是更好的選擇(也就是說不要讓的程序依賴於線程的優先級) 】
  23. 爲何Thread類的sleep() 和yield()方法是靜態的 (java.lang.Thread類的靜態方法sleep()和yield()的比較
  24. volatile關鍵詞在Java中有什麼做用? (Java併發編程:volatile關鍵字解析
  25. 什麼是ThreadLocal? (ThreadLocal是什麼
  26. 什麼是阻塞隊列?如何使用阻塞隊列來實現生產者-消費者模型?  什麼是阻塞隊列?如何使用阻塞隊列來實現生產者-消費者模型?
  27. 什麼是Callable和Future?  Java程序員必須掌握的線程知識-Callable和Future
  28. HashMap爲何不是線程安全的?  HashMap? ConcurrentHashMap?
  29. ConcurrentHashmap底層實現? HashMap? ConcurrentHashMap?
  30. 爲何Map桶中個數超過8才轉爲紅黑樹

 

JVM與調優21題

 

  1. Java 類加載過程?說一下類加載的執行過程?Java 類加載過程Jvm系列(一):java類的加載機制
  2. 描述一下 JVM 加載 Class 文件的原理機制?  描述一下JVM加載class文件的原理機制
  3. Java 內存分配。  Jvm系列(二):JVM內存結構
  4. GC 是什麼? 爲何要有 GC?    Jvm系列(五):Java GC分析   
  5. GC類型以及不一樣類型GC的搭配    回收器的類型
  6. GC和GC分配策略  垃圾回收算法
  7. 說一下 jvm 有哪些垃圾回收算法?說一下 jvm 有哪些垃圾回收器?詳細介紹一下 CMS 垃圾回收器?新生代垃圾回收器和老生代垃圾回收器都有哪些?有什麼區別?簡述分代垃圾回收器是怎麼工做的?
  8. 簡述 Java 垃圾回收機制 Jvm系列(三):GC算法  垃圾收集器
  9. 垃圾回收的優勢和原理。並考慮 2 種回收機制     垃圾回收機制的優勢和原理,並考慮兩種回收機制
  10. Java 中垃圾收集的方法有哪些? 關於java 虛擬機相關特色[純潔的微笑]
  11. 串行(serial)收集器和吞吐量(throughput)收集器的區別是什麼?             吞吐量收集器使用並行版本的新生代垃圾收集器,它用於中等規模和大規模數據的應用程序。而串行收集器對大多數的小應用(在現代處理器上須要大概100M左右的內存)就足夠了。
  12. 什麼是分佈式垃圾回收(DGC)?它是如何工做的
  13. 垃圾回收器的基本原理是什麼?垃圾回收器能夠立刻回收內存嗎?有什麼辦法主動通知虛擬機進行垃圾回收?
  14. Java 中會存在內存泄漏嗎,請簡單描述
  15. 如何判斷一個對象是否存活?(或者 GC 對象的斷定方法)  GC的斷定的2種方式  GC原理---對象可達判斷
  16. System.gc() 和 Runtime.gc() 會作什麼事情?  System.gc()和Runtime.gc()的區別?
  17. finalize() 方法何時被調用?析構函數 (finalization) 的目的是什麼?
  18. 若是對象的引用被置爲 null,垃圾收集器是否會當即釋放對象佔用的內存?
  19. 在 Java 中,對象何時能夠被垃圾回收
  20. 簡述 Java 內存分配與回收策率以及 Minor GC 和 Major GC。  java常見面試題及答案
  21. JVM 的永久代中會發生垃圾回收麼? java常見面試題及答案
  22. 什麼是類加載器,類加載器有哪些? java常見面試題及答案
  23. 類加載器雙親委派模型機制?  java常見面試題及答案
  24. tomcat自己是java程序,那麼tomcat的實現程序的class是由應用類加載器加載的,用戶本身的java程序war包,放入tomcat的程序的classpath中這樣用戶的程序和tomcat的程序都是由應用類加載器加載了,也就是處於一個jvm中了
  25. 說一下 jvm 的主要組成部分?及其做用?  java常見面試題及答案
  26. 說一下 jvm 運行時數據區? JVM總結(一):概述--JVM運行時數據區
  27.  說一下堆棧的區別? 堆棧是什麼,通俗說一下
  28. 隊列和棧是什麼?有什麼區別? 數據結構-隊列和棧有什麼區別
  29.  java 中都有哪些引用類型?  Java四種引用類型
  30. 說一下 jvm 調優的工具?  JVM監控和調優經常使用命令工具總結
  31. 經常使用的 jvm 調優的參數都有哪些? JVM調優總結  JVM調優參數
  32. JVM 內存區域方面的面試題
  33. 系統運行緩慢,CPU 100%,以及Full GC次數過多問題的排查思路
  34. 記一次有驚無險的 JVM 優化經歷
  35. 從零開始帶你成爲JVM實戰高手
  36. JVM 堆內存溢出後,其餘線程是否可繼續工做
  37. JVM內存結構 VS Java內存模型 VS Java對象模型 
  38. Java內存模型是什麼

 

併發編程28題

  1. Synchronized 用過嗎,其原理是什麼?  synchronized是什麼,用法及原理
  2. 你剛纔提到獲取對象的鎖,這個「鎖」究竟是什麼?如何肯定對象的鎖?  Synchronized方法鎖、對象鎖、類鎖區別
  3. 什麼是可重入性,爲何說 Synchronized 是可重入鎖?  synchronized 是可重入鎖嗎?爲何?
  4. JVM 對 Java 的原生鎖作了哪些優化? Java-JVM 鎖優化
  5. 爲何說 Synchronized 是非公平鎖? Synchronized
  6. 什麼是鎖消除和鎖粗化?Synchronized
  7. 爲何說 Synchronized 是一個悲觀鎖?樂觀鎖的實現原理又是什麼?什麼是 CAS,它有什麼特性? Synchronized
  8. 樂觀鎖必定就是好的嗎?Synchronized
  9. 跟 Synchronized 相比,可重入鎖 ReentrantLock 其實現原理有什麼不一樣? Synchronized
  10. 那麼請談談 AQS 框架是怎麼回事兒?Synchronized
  11. 請儘量詳盡地對比下 Synchronized 和 ReentrantLock 的異同。 Synchronized
  12. ReentrantLock 是如何實現可重入性的?Synchronized
  13. 除了 ReetrantLock,你還接觸過 JUC 中的哪些併發工具?Synchronized
  14. 請談談 ReadWriteLock 和 StampedLock。Synchronized
  15. 如何讓 Java 的線程彼此同步?你瞭解過哪些同步器?請分別介紹下。 Synchronized
  16. CyclicBarrier 和 CountDownLatch 看起來很類似,請對比下呢? Synchronized
  17. Java 線程池相關問題
  18. Java 中的線程池是如何實現的(線程池(包含什麼,core、max聯繫)原理?)?
  19. 建立線程池的幾個核心構造參數?
  20. 線程池中的線程是怎麼建立的?是一開始就隨着線程池的啓動建立好的嗎?
  21. 既然提到能夠經過配置不一樣參數建立出不一樣的線程池,那麼 Java 中默認實現好的線程池又有哪些呢?請比較它們的異同
  22. 如何在 Java 線程池中提交線程?
  23. 什麼是 Java 的內存模型,Java 中各個線程是怎麼彼此看到對方的變量的?
  24. 請談談 volatile 原理以及特色,爲何它能保證變量對全部線程的可見性?
  25. 既然 volatile 可以保證線程間的變量可見性,是否是就意味着基於 volatile 變量的運算就是併發安全的?
  26. 請對比下 volatile 對比 Synchronized 的異同。  volatile與synchronized的區別
  27. 請談談 ThreadLocal 是怎麼解決併發安全的? 談談Java中的ThreadLocal
  28. 不少人都說要慎用 ThreadLocal,談談你的理解,使用 ThreadLocal 須要注意些什麼?
  29. JMM(主內存、工做內存、happens-before)是什麼? 什麼是Java內存模型中的happens-before
  30. 有哪些無鎖數據結構?無鎖實現的原理?  無鎖數據結構(Lock-Free Data Structures)
  31. 並行和併發有什麼區別?
  32.  線程和進程的區別?
  33.  守護線程是什麼?
  34.  建立線程有哪幾種方式? 多線程之建立線程有哪幾種方式?
  35.  說一下 runnable 和 callable 有什麼區別? 說說Runnable與Callable
  36.  線程有哪些狀態?
  37.  sleep() 和 wait() 有什麼區別?
  38.  notify()和 notifyAll()有什麼區別?
  39.  線程的 run()和 start()有什麼區別?
  40. 建立線程池有哪幾種方式?
  41. 線程池都有哪些狀態?
  42.  線程池中 submit()和 execute()方法有什麼區別?
  43.  在 java 程序中怎麼保證多線程的運行安全?
  44.  多線程鎖的升級原理是什麼?
  45.  什麼是死鎖?
  46.  怎麼防止死鎖?
  47.  synchronized 和 Lock 有什麼區別? synchronized與Lock的區別
  48.  synchronized 和 ReentrantLock 區別是什麼?  ReentrantLock詳解 以及與synchronized的區別
  49.  說一下 atomic 的原理? Java中Atomic包的實現原理及應用
  50. Java併發編程:Synchronized底層優化(偏向鎖、輕量級鎖)
  51. Java 併發編程:線程間的協做(wait/notify/sleep/yield/join)
  52. java併發編程:共享性、互斥性、原子性、可見性、有序性
  53. 鎖實現(多線程中的鎖系統(四)-談談自旋鎖
  54. cas原理 (理解cas; Java併發編程總結2——慎用CAS
  55. volatile使用場景 (Java併發編程:volatile關鍵字解析Java 併發編程:volatile的使用及其原理
  56. synchronized是什麼 (Synchronized 有幾種用法  ;Java併發編程:Synchronized及其實現原理
  57. 重入鎖
  58. Java線程池源碼及原理

 

spring 25題

 

  1. 什麼是 Spring 框架?Spring 框架有哪些主要模塊?  Spring框架簡介  Spring框架各模塊功能介紹
  2. 使用 Spring 框架能帶來哪些好處? 使用Spring框架能帶來那些好處
  3. 什麼是控制反轉(IOC)?什麼是依賴注入? 控制反轉(IOC)和依賴注入(DI)的區別
  4. 請解釋下 Spring 框架中的 IoC? 談談對Spring IOC的理解
  5. BeanFactory 和 ApplicationContext 有什麼區別? 建立ApplicationContext與BeanFactory時的區別-Spring源碼學習之容器的基本實現
  6. Spring 有幾種配置方式?         Spring -- 三種配置方式
  7. 如何用基於 XML 配置的方式配置 Spring?
  8. 如何用基於 Java 配置的方式配置 Spring?
  9. 怎樣用註解的方式配置 Spring?
  10. 請解釋 Spring Bean 的生命週期?Spring Bean的生命週期(很是詳細)   Spring的Bean生命週期理解   Spring的幾種注入bean的方式   
  11. Spring Bean 的做用域之間有什麼區別? spring bean 的做用域之間有什麼區別
  12. 什麼是 Spring inner beans?
  13. Spring 框架中的單例 Beans 是線程安全的麼? 【Spring】八、Spring框架中的單例Beans是線程安全的麼
  14. 請舉例說明如何在 Spring 中注入一個 Java Collection
  15. 如何向 Spring Bean 中注入一個 Java.util.Properties
  16. 請解釋 Spring Bean 的自動裝配? Spring 自動裝配及其註解
  17. 請解釋自動裝配模式的區別
  18. 如何開啓基於註解的自動裝配? Spring 自動裝配及其註解
  19. 請舉例解釋@Required 註解?
  20. 請舉例解釋@Autowired 註解?
  21. 請舉例說明@Qualifier 註解?
  22. 構造方法注入和設值注入有什麼區別? 依賴注入的實現方式:設值注入和構造方法注入
  23. Spring 框架中有哪些不一樣類型的事件? Spring框架中不一樣類型的事件
  24. FileSystemResource 和 ClassPathResource 有何區別? FileSystemResource 和 ClassPathResource 有何區別
  25. Spring 框架中都用到了哪些設計模式? spring中用到了哪些設計模式
  26. 爲何要使用 spring
  27. 解釋一下什麼是 aop? 面試題思考:解釋一下什麼叫AOP(面向切面編程)
  28.  解釋一下什麼是 ioc? Spring的IOC原理[通俗解釋一下]
  29.  spring 支持幾種 bean 的做用域? Spring中Bean的五個做用域
  30.  spring 事務實現方式有哪些? 【Spring】事務的實現方式
  31.  說一下 spring 的事務隔離
  32.  說一下 spring mvc 運行流程
  33. spring mvc 有哪些組件 Spring MVC 三大組件 SpringMvc三大組件詳解
  34.  @RequestMapping 的做用是什麼?    SpringMVC中@Controller和@RequestMapping用法和其餘經常使用註解
  35. @Autowired 的做用是什麼
  36. Spring MVC源碼(二) ----- DispatcherServlet 請求處理流程 面試必問
  37.  

設計模式 

  1. 請列舉出在 JDK 中幾個經常使用的設計模式?
  2. 什麼是設計模式?你是否在你的代碼裏面使用過任何設計模式?
  3. Java 中什麼叫單例設計模式?請用 Java 寫出線程安全的單例模式
  4. 在 Java 中,什麼叫觀察者設計模式(observer design pattern)?
  5. 使用工廠模式最主要的好處是什麼?在哪裏使用?
  6. 舉一個用 Java 實現的裝飾模式(decorator design pattern)?它是做用於對象層次仍是類層次?
  7. 在 Java 中,爲何不容許從靜態方法中訪問非靜態變量?
  8. 設計一個 ATM 機,請說出你的設計思路?
  9. 在 Java 中,何時用重載,何時用重寫?
  10. 舉例說明什麼狀況下會更傾向於使用抽象類而不是接口
  11. 設計模式(裝飾器設計模式、代理模式、單例模式、工廠模式)
  12. 說一下你熟悉的設計模式? 
  13. 簡單工廠和抽象工廠有什麼區別?
  14. GOF23種設計模式總覽

 

springboot 22題

  1. 什麼是 Spring Boot?
  2. Spring Boot 有哪些優勢?
  3. 什麼是 JavaConfig?
  4. 如何從新加載 Spring Boot 上的更改,而無需從新啓動服務器?
  5. Spring Boot 中的監視器是什麼?
  6. 如何在 Spring Boot 中禁用 Actuator 端點安全性?
  7. 如何在自定義端口上運行 Spring Boot 應用程序?
  8. 什麼是 YAML?
  9. 如何實現 Spring Boot 應用程序的安全性?
  10. 如何集成 Spring Boot 和 ActiveMQ?
  11. 如何使用 Spring Boot 實現分頁和排序?
  12. 什麼是 Swagger?你用 Spring Boot 實現了它嗎?
  13. 什麼是 Spring Profiles?
  14. 什麼是 Spring Batch?
  15. 什麼是 FreeMarker 模板?
  16. 如何使用 Spring Boot 實現異常處理?
  17. 您使用了哪些 starter maven 依賴項?
  18. 什麼是 CSRF 攻擊?
  19. 什麼是 WebSockets?
  20. 什麼是 AOP?
  21. 什麼是 Apache Kafka?
  22. 咱們如何監視全部 Spring Boot 微服務?
  23. SpringBoot的源碼呢?知道starter是怎麼實現的嗎?  (spring boot 相關文章 https://www.cnblogs.com/shamo89/tag/springboot/)
  24. 如何從新加載Spring Boot上的更改,而無需從新啓動服務器? 
  25. Spring Boot中的監視器是什麼?  SpringBoot面試題 轉(已遷移到java相關知識點)
  26. 如何集成Spring Boot和ActiveMQ?  SpringBoot面試題 轉(已遷移到java相關知識點)
  27. 常見的starter會包幾個方面的內容。分別是什麼   SpringBoot面試題 轉(已遷移到java相關知識點)
  28. Spring Boot Starter的工做原理 SpringBoot面試題 轉(已遷移到java相關知識點)
  29. 談談你對Spring Boot的認識 SpringBoot面試題 轉(已遷移到java相關知識點)
  30. 自定義springboot-starter注意事項 SpringBoot面試題 轉(已遷移到java相關知識點)
  31. Spring Boot、Spring MVC 和 Spring 有什麼區別? SpringBoot面試題 轉(已遷移到java相關知識點)
  32. 什麼是 Spring Boot Stater ? SpringBoot面試題 轉(已遷移到java相關知識點)
  33.  Spring Boot 還提供了其它的哪些 Starter Project Options? SpringBoot面試題 轉(已遷移到java相關知識點)
  34. Spring 是如何快速建立產品就緒應用程序的? SpringBoot面試題 轉(已遷移到java相關知識點)
  35. springboot與spring的區別 SpringBoot面試題 轉(已遷移到java相關知識點)
  36. springboot的核心功能與使用優勢. SpringBoot面試題 轉(已遷移到java相關知識點)
  37. springboot中的application.properties配置文件是什麼,有哪些配置. SpringBoot面試題 轉(已遷移到java相關知識點)
  38. springboot中的核心啓動主函數(main函數)的做用.用到哪些註解.註解的做用. SpringBoot面試題 轉(已遷移到java相關知識點)
  39. 能夠配置 application.propertierde 的完整的屬性列表在哪裏能夠找到 SpringBoot面試題 轉(已遷移到java相關知識點)

spring cloud

  1.  基於Spring Boot+Cloud構建微雲架構
  2.  什麼是 spring boot?
  3.  爲何要用 spring boot?
  4.  spring boot 核心配置文件是什麼?
  5.  spring boot 配置文件有哪幾種類型?它們有什麼區別?
  6.  spring boot 有哪些方式能夠實現熱部署?
  7.  jpa 和 hibernate 有什麼區別?
  8.  什麼是 spring cloud?
  9.  spring cloud 斷路器的做用是什麼
  10.  spring cloud 的核心組件有哪些?

 

dubbo

  1. Dubbo設計思路
  2. Dubbo的底層實現原理和機制?
  3. Dubbo學習(一) Dubbo原理淺析
  4. 我的學習分佈式專題(二)分佈式服務治理之Dubbo框架
  5. Dubbo學習(二) Dubbo 集羣容錯模式-負載均衡模式
  6. 分佈式架構核心RPC原理
  7. Dubbo學習(四) dubbo的特色,8種通訊協議之對比
  8. Dubbo學習(九) Dubbo面試問題
  9. Dubbo學習(六) dubbo 架構圖 以及調用過程
  10. 主流的RPC框架有哪些

 

 

 

k8s 

 

Netty10題

  1. BIO、NIO和AIO的區別?
  2. NIO的組成?
  3. Netty的特色?
  4. Netty的線程模型?
  5. TCP 粘包/拆包的緣由及解決方法?
  6. 瞭解哪幾種序列化協議?
  7. 如何選擇序列化協議?
  8. Netty的零拷貝實現?
  9. Netty的高性能表如今哪些方面?
  10. NIOEventLoopGroup源碼?
  11. netty原理是什麼?
  12. BIO, NIO, AIO各自的特色
  13. 什麼同步阻塞,同步非阻塞,異步非阻塞
  14. 爲何NIO可以應對支持海量的請求
  15. NIO相關組件的原理
  16. NIO通信的簡單案例
  17. 漫談Java IO之 Netty與NIO服務器
  18. select、poll、epoll之間的區別總結[整理]
  19. 用戶空間與內核空間,進程上下文與中斷上下文[總結]
  20. IO多路複用之epoll總結

 

 

Hibernate

  1.  爲何要使用 hibernate?
  2. 什麼是 ORM 框架?
  3. hibernate 中如何在控制檯查看打印的 sql 語句?
  4.  hibernate 有幾種查詢方式?
  5.  hibernate 實體類能夠被定義爲 final 嗎?
  6.  在 hibernate 中使用 Integer 和 int 作映射有什麼區別?
  7.  hibernate 是如何工做的?
  8.  get()和 load()的區別?
  9.  說一下 hibernate 的緩存機制?
  10.  hibernate 對象有哪些狀態?
  11.  在 hibernate 中 getCurrentSession 和 openSession 的區別是什麼?
  12.  hibernate 實體類必需要有無參構造函數嗎?爲何?

 

 

其餘:

  1. 說下一次RPC請求的過程
  2. 分佈式系統怎麼作服務治理?  我的學習分佈式專題(二)分佈式服務治理之分佈式協調技術Zookeeper
  3. 接口的冪等性的概念介紹下
相關文章
相關標籤/搜索