Java基礎
1、List 和 Set 的區別
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 的實現原理?
3、Java 的訊號燈?
4、synchronized 在靜態方法和普通方法的區別?
5、怎麼實現所有執行緒在等待某個事件的發生才會去執行?
6、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 中用到了那些設計模式?
SpringBoot
1、什麼是 Spring Boot?
2、為什麼要用 Spring Boot?
3、Spring Boot 的核心配置檔案有哪幾個?它們的區別是什麼?
4、Spring Boot 的配置檔案有哪幾種格式?它們有什麼區別?
5、Spring Boot 的核心註解是哪個?它主要由哪幾個註解組成的?
6、開啟 Spring Boot 特性有哪幾種方式?
7、執行 Spring Boot 有哪幾種方式?
8、Spring Boot 自動配置原理是什麼?
9、你如何理解 Spring Boot 配置載入順序?
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錯誤
mybatis
1、什麼是Mybatis?
2、Mybaits的優點
3、MyBatis框架的缺點
4、MyBatis與Hibernate有哪些不同?
5、#{}和${}的區別是什麼?
6、 模糊查詢like語句該怎麼寫?
7、Mybatis是如何進行分頁的?分頁外掛的原理是什麼?
8、Mybatis是如何將sql執行結果封裝為目標物件並返回的?都有哪些對映形式?
9、如何獲取自動生成的(主)鍵值?
10、Mybatis動態sql有什麼用?執行原理?有哪些動態sql?
11、Xml對映檔案中,除了常見的select|insert|updae|delete標籤之外,還有哪些標籤?
12、為什麼說Mybatis是半自動ORM對映工具?它與全自動的區別在哪裡?
13、Mybatis的一級、二級快取