最近一個朋友跟我說,如今面試太難了,不再是之前那種隨便背幾個面試題而後就能拿到offer的時候了。最近朋友準備換工做面試了阿里,而後和我交流了下他遇到的一些面試題,而後我整理了一下,而後就分享給有須要的朋友們順便也查漏補缺一下。java
1.開始是自我介紹;
2.HashMap的實現原理,什麼是hash碰撞,怎樣解決hash碰撞?
3.ConcurrentHashMap的原理,與HashTable的區別?
4.HashSet和TreeSet的區別以及底層實現原理
5.HashMap中存key-value,value有重複可是都是Comparable類型可比較;怎樣根據value排序此集合,介紹實現方法
6.ReentrantLock和synchronized關鍵字有什麼區別?
7.synchronized 修飾static方法,具體鎖的是什麼?
8.工做當中cpu和內存異常排查方法;詳細說明分析過程及定位解決方式
9.接着是講項目,項目裏的問題比較簡單;
而後就是各類基礎,jvm內存模型,nio,bio,aio,高併發,sychronized和volltail,HashMap,數據結構和擴容;
還有一些場景題目,大併發/海量數量的狀況下,怎麼設計系統。從裏面拿出兩點來問,一個是系統解耦,一個是分庫分表;
最後一個是編碼題,HashMap裏key是自定義對象的狀況,排序
jvm問的比較多,線上發版如何作到分批發的,redis命令,數據結構,數據庫內部鎖機制,線上問題解決,sql優化等等;mysql
1.ClassLoader的原理,舉出應用場景及工做實例,介紹類加載過程及工做中的應用
2.HashMap的實現原理,什麼是hash碰撞,怎樣解決hash碰撞?
3.ConcurrentHashMap的原理,與HashTable的區別?
4.HashSet和TreeSet的區別以及底層實現原理
5.HashMap中存key-value,value有重複可是都是Comparable類型可比較;怎樣根據value排序此集合,介紹實現方法
6.ReentrantLock和synchronized關鍵字有什麼區別?
7.synchronized 修飾static方法,具體鎖的是什麼?
8.工做當中cpu和內存異常排查方法;詳細說明分析過程及定位解決方式
9。一個jvm的原理及優化;
10.sql的優化;
11.如今使用的框架原理,好比使用了dubbo,會問dubbo的原理,還有h5怎麼調用dubbo等;
12.接着是講項目,項目裏的問題比較簡單;
13.而後就是各類基礎,jvm內存模型,nio,bio,aio,高併發sychronized和volltail,HashMap,數據結構和擴容;
14.還有一些場景題目,大併發/海量數量的狀況下,怎麼設計系統。從裏面拿出兩點來問,一個是系統解耦,一個是分庫分表;
15.最後一個是編碼題,HashMap裏key是自定義對象的狀況,排序linux
一、executor service實現的方法,能夠設置的參數;
二、出了個算法提,找出鏈表中倒數第n個節點;
三、還問了thread和runable的區別;
四、聚簇索引是什麼;
五、redis問了一個實際問題的解決辦法,若是redis一個value特別大,有什麼解決方案;
六、redis內存淘汰機制;
七、mysql的默認隔離級別;面試
16.類加載委託機制,鎖的應用,項目架構
四面:
0、 jit,nio,排序算法,hashmap,更多的是項目細節~
一、談談項目裏主要負責了什麼,負責的項目是怎樣的架構,本身負責了什麼等等;
二、JVM類加載機制;
三、JVM內存模型,棧空間都放什麼,什麼狀況下棧內存會溢出等;
四、JVM調優;
五、JVM垃圾收集機制;
六、比較關心金融方面的知識是否瞭解,是否有過金融項目開發的經驗;
七、jvm柵欄問題,threadlocal的使用;
八、JVM
九、多線程
十、List求交集
十一、解決項目運行時,CPU佔用太高的問題
十二、線程同步幾種機制
1三、linux檢索log,匹配某一請求最多的top10redis
關注【java金融】後臺回覆「666」 領取一份面試資料《Java面試BATJ通關手冊》,覆蓋了Java核心技術、JVM、Java併發、SSM、微服務、數據庫、數據結構簡歷等等。算法