1. 程式人生 > >大廠Java面試題目總結

大廠Java面試題目總結

基礎篇

  1. String為什麼要設計成Final

  2. String StringBuffer StringBulider的區別

  3. 你能給我寫一個final物件嗎

  4. 重寫hashcode()方法

  5. java 序列化

  6. 你能給我寫個單例模式嗎?你這個如果要是被反射或者序列化破壞單例該怎麼辦?

  7. Java io流體系結構

  8. HashMap的實現原理

  9. HashMap產生衝突了會怎麼樣

  10. HashMap在多執行緒下會出現什麼問題,為什麼會這樣

  11. HashMap為什麼要採用紅黑樹,你能給我講講紅黑樹的特點嗎

  12. ConcurrentHashMap的實現原理

  13. ConcurrentHashMap JDK1.7和1.8有什麼區別

  14. ConcurrenthashMap用到了哪些鎖

  15. ArrayList和LinkedList的區別,分別在什麼場景下使用

  16. ArrayList的擴容

  17. Vector為什麼是執行緒安全的

  18. TreeSet的底層實現

  19. 一些Collection的方法

  20. Servlet,filter

  21. interface裡面介面用什麼進行修飾

  22. 為什麼要先載入父類構造器,如果父類構造器沒有無參構造器會怎麼辦

  23. idea 快捷鍵

  24. git操作

  25. maven生命週期,install和deploy的區別

併發篇

  1. volatile 底層實現

  2. CAS樂觀鎖的原理

  3. ASQ 的原理

  4. CountDownLanch 和 CyclicBarrier 的區別和用法

  5. 執行緒池的拒絕策略

  6. FixedThreadPool SingleThreadPool CacheThreadPool 一些細節,比如說用了什麼佇列,空閒執行緒的等待時間等等。

  7. sleep和wait的區別

  8. notify和notifyAll的區別

  9. 如何實現執行緒按順序執行

  10. 為什麼wait, notify, notifyAll方法定義在Object裡

  11. 你是怎樣理解執行緒安全的

  12. ThreadLocal用過嗎,給我介紹下他的使用場景

  13. Lock和Sychronizated的區別

  14. Callable和Future瞭解過嗎?

  15. 為什麼說ConcurrentHashMap是弱一致性的?以及為何多個執行緒併發修改ConcurrentHashMap時不會報ConcurrentModificationException?

  16. 執行緒執行的狀態以及如何他們之間是怎麼切換的

底層篇

  1. JVM 記憶體模型

  2. JVM 垃圾回收演算法

  3. JVM 垃圾回收器

  4. JVM major gc 和 full gc 的觸發時機

  5. new一個物件會放在哪裡

  6. JVM 調整的一些引數

  7. 怎麼判定一個物件的記憶體可以被回收了

  8. 哪些物件可以作為CGRoots

  9. 強引用,軟引用,弱引用,虛引用

  10. 可達性分析演算法

類載入

  1. 類載入器與類的”相同“判斷

  2. 類載入器種類

  3. 類載入過程

  4. 自定義類載入器

  5. 反射用過麼,私有成員變數和私有方法能被反射出來嗎

  6. 怎樣獲取一個類的私有方法和私有變數

Spring篇

  1. BeanFactory和ApplicationContext的區別

  2. Spring 和SpringBoot的區別

  3. SpringMvc的請求過程

  4. SpringMvc用到的設計模式

  5. 你用過的一些Spring註解

  6. 如何讓Spring bean按順序初始化

資料庫

計算機網路

  1. TCP的三次握手和四次握手

  2. TCP/IP協議 五層協議的物件頭的變化

  3. 擁塞控制

  4. cookie和session區別

  5. HTTP HTTPS的區別

作業系統

  1. 程序通訊方式

  2. 執行緒程序區別

  3. 程序通訊方式;

  4. 死鎖(程式碼實現);

  5. 常用linux命令;

  6. 作業排程方式;

  7. LRU演算法實現

其他

  1. maven生命週期

  2. 常用的idea快捷鍵

  3. jsp內建物件

  4. http狀態碼

  5. http內容

手撕演算法

一些比較好的部落格推薦給大家

  1. 大佬1

  2. 大佬2

  3. 大佬