一面
1、concurrent包下面用過哪些?
2、countdownlatch功能實現
3、synchronized和lock區別,重入鎖
4、thread和runnable的區別
5、AtomicInteger實現原理(CAS自旋)
6、java併發sleep與wait、notify與notifyAll的區別
7、如何實現高效的同步鏈表
8、java都有哪些加鎖方式(synchronized、ReentrantLock、共享鎖、讀寫鎖等)
9、設計模式(工廠模式、單例模式(幾種情況)、適配器模式、裝飾者模式)
10、maven依賴樹,maven的依賴傳遞,循環依賴
二面
1、synchronized和reentrantLock的區別,synchronized用在代碼快、方法、靜態方法時鎖的都是什麼?
2、介紹spring的IOC和AOP,分別如何實現(classloader、動態代理)
3、JVM的內存佈局以及垃圾回收原理及過程講一下,講一下CMS垃圾收集器垃圾回收的流程,以及CMS的缺點
4、redis如何處理分佈式服務器併發造成的不一致
5、OSGi的機制
6、spring中bean加載機制,bean生成的具體步驟,ioc注入的方式
7、spring何時創建applicationContext
8、listener是監聽哪個事件?
9、介紹ConcurrentHashMap原理,用的是哪種鎖,segment有沒可能增大?
10、解釋mysql索引、b樹,爲啥不用平衡二叉樹、紅黑樹
11、Zookeeper如何同步配置
三面
1、Java線程池ThreadPoolEcecutor參數,基本參數,使用場景
2、MySQL的ACID講一下,延伸到隔離級別
3、dubbo的實現原理,說說RPC的要點
4、GC停頓原因,如何降低停頓?
5、JVM如何調優、參數怎麼調?
6、如何用工具分析jvm狀態(visualVM看堆中對象的分配,對象間的引用、是否有內存泄漏,jstack看線程狀態、是否死鎖等等)
7、描述一致性hash算法(Redis)
8、再談談消息隊列
關於面試方面,有什麼問題,歡迎留言溝通,在這裏也祝大家都能找到一個合適的工作~