面試系列-Java面試總則
Java基礎
1、Map、Set、List集合差別及聯系詳解
2、HashSet類是如何實現添加元素保證不重復的
3、HashMap 是線程安全的嗎,為什麽不是線程安全的(最好畫圖說明多線程環境下不安全)?
4、HashMap 的擴容過程
5、HashMap 1.7 與 1.8 的 區別,說明 1.8 做了哪些優化,如何優化的?
6、final finally finalize
7、強引用 、軟引用、 弱引用、虛引用
8、Java反射
Java 並發
1、synchronized 的實現原理以及鎖優化?
2、volatile 的實現原理? 並發編程:volatile關鍵字解析
3、Java 的信號燈?
4、synchronized 在靜態方法和普通方法的區別?
5、怎麽實現所有線程在等待某個事件的發生才會去執行?
6、CAS?CAS 有什麽缺陷,如何解決?面試必問的CAS,你懂了嗎?
7、synchronized 和 lock 有什麽區別?
8、Hashtable 是怎麽加鎖的 ?
9、HashMap 的並發問題?
10、ConcurrenHashMap 介紹?1.8 中為什麽要用紅黑樹?
11、AQS
12、如何檢測死鎖?怎麽預防死鎖?
13、Java 內存模型?
14、如何保證多線程下 i++ 結果正確?
15、線程池的種類,區別和使用場景?
16、分析線程池的實現原理和線程的調度過程?
17、線程池如何調優,最大數目如何確認?
18、ThreadLocal原理,用的時候需要註意什麽?
Spring
1、BeanFactory 和 FactoryBean?
2、Spring IOC 的理解,其初始化過程?
3、BeanFactory 和 ApplicationContext?
4、Spring Bean 的生命周期,如何被管理的?
5、Spring Bean 的加載過程是怎樣的?
6、如果要你實現Spring AOP,請問怎麽實現?
7、如果要你實現Spring IOC,你會註意哪些問題?
8、Spring 是如何管理事務的,事務管理機制?
9、Spring 的不同事務傳播行為有哪些,幹什麽用的?
10、Spring 中用到了那些設計模式?
Netty
1、BIO、NIO和AIO
2、Netty 的各大組件
3、Netty的線程模型
4、TCP 粘包/拆包的原因及解決方法
5、了解哪幾種序列化協議?包括使用場景和如何去選擇
6、Netty的零拷貝實現
7、Netty的高性能表現在哪些方面
分布式相關
1、Dubbo的底層實現原理和機制
2、描述一個服務從發布到被消費的詳細過程
3、分布式系統怎麽做服務治理
4、接口的冪等性的概念
5、消息中間件如何解決消息丟失問題
6、Dubbo的服務請求失敗怎麽處理
7、重連機制會不會造成錯誤
8、對分布式事務的理解
9、如何實現負載均衡,有哪些算法可以實現?
10、Zookeeper的用途,選舉的原理是什麽?
11、數據的垂直拆分水平拆分。
12、zookeeper原理和適用場景
13、zookeeper watch機制
14、redis/zk節點宕機如何處理
15、分布式集群下如何做到唯一序列號
16、如何做一個分布式鎖
緩存
1、Redis用過哪些數據數據,以及Redis底層怎麽實現
2、Redis緩存穿透,緩存雪崩
3、如何使用Redis來實現分布式鎖
4、Redis的並發競爭問題如何解決
5、Redis持久化的幾種方式,優缺點是什麽,怎麽實現的
6、Redis的緩存失效策略
7、Redis集群,高可用,原理
8、Redis緩存分片
9、Redis的數據淘汰策略
JVM
1、詳細jvm內存模型
2、講講什麽情況下回出現內存溢出,內存泄漏?
3、說說Java線程棧
4、JVM 年輕代到年老代的晉升過程的判斷條件是什麽呢?
5、JVM 出現 fullGC 很頻繁,怎麽去線上排查問題?
6、類加載為什麽要使用雙親委派模式,有沒有什麽場景是打破了這個模式?
7、類的實例化順序 8、JVM垃圾回收機制,何時觸發MinorGC等操作
9、JVM 中一次完整的 GC 流程(從 ygc 到 fgc)是怎樣的
10、各種回收器,各自優缺點,重點CMS、G1
11、各種回收算法
12、OOM錯誤,stackoverflow錯誤,permgen space錯誤
面試系列-Java面試總則