四面阿里,看看你都会吗
最近一個朋友跟我說,現(xiàn)在面試太難了,再也不是以前那種隨便背幾個面試題然后就能拿到offer的時候了。最近朋友準(zhǔn)備換工作面試了阿里,然后和我交流了下他遇到的一些面試題,然后我整理了一下,然后就分享給有需要的朋友們順便也查漏補缺一下。
一面
1.開始是自我介紹;
2.HashMap的實現(xiàn)原理,什么是hash碰撞,怎樣解決hash碰撞?
3.ConcurrentHashMap的原理,與HashTable的區(qū)別?
4.HashSet和TreeSet的區(qū)別以及底層實現(xiàn)原理
5.HashMap中存key-value,value有重復(fù)但是都是Comparable類型可比較;怎樣根據(jù)value排序此集合,介紹實現(xiàn)方法
6.ReentrantLock和synchronized關(guān)鍵字有什么區(qū)別?
7.synchronized 修飾static方法,具體鎖的是什么?
8.工作當(dāng)中cpu和內(nèi)存異常排查方法;詳細說明分析過程及定位解決方式
接著是講項目,項目里的問題比較簡單;
然后就是各種基礎(chǔ),jvm內(nèi)存模型,nio,bio,aio,高并發(fā),sychronized和volltail,HashMap,數(shù)據(jù)結(jié)構(gòu)和擴容;
還有一些場景題目,大并發(fā)/海量數(shù)量的情況下,怎么設(shè)計系統(tǒng)。從里面拿出兩點來問,一個是系統(tǒng)解耦,一個是分庫分表;
最后一個是編碼題,HashMap里key是自定義對象的情況,排序
jvm問的比較多,線上發(fā)版如何做到分批發(fā)的,redis命令,數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)庫內(nèi)部鎖機制,線上問題解決,sql優(yōu)化等等;
二面
1.ClassLoader的原理,舉出應(yīng)用場景及工作實例,介紹類加載過程及工作中的應(yīng)用
2.HashMap的實現(xiàn)原理,什么是hash碰撞,怎樣解決hash碰撞?
3.ConcurrentHashMap的原理,與HashTable的區(qū)別?
4.HashSet和TreeSet的區(qū)別以及底層實現(xiàn)原理
5.HashMap中存key-value,value有重復(fù)但是都是Comparable類型可比較;怎樣根據(jù)value排序此集合,介紹實現(xiàn)方法
6.ReentrantLock和synchronized關(guān)鍵字有什么區(qū)別?
7.synchronized 修飾static方法,具體鎖的是什么?
8.工作當(dāng)中cpu和內(nèi)存異常排查方法;詳細說明分析過程及定位解決方式
9.一個jvm的原理及優(yōu)化;
10.sql的優(yōu)化;
11.現(xiàn)在使用的框架原理,比如使用了dubbo,會問dubbo的原理,還有h5怎么調(diào)用dubbo等;
12.接著是講項目,項目里的問題比較簡單;
13.然后就是各種基礎(chǔ),jvm內(nèi)存模型,nio,bio,aio,高并發(fā),sychronized和volltail,HashMap,數(shù)據(jù)結(jié)構(gòu)和擴容;
還有一些場景題目,大并發(fā)/海量數(shù)量的情況下,怎么設(shè)計系統(tǒng)。從里面拿出兩點來問,一個是系統(tǒng)解耦,一個是分庫分表;
最后一個是編碼題,HashMap里key是自定義對象的情況,排序
三面
1、executor service實現(xiàn)的方法,可以設(shè)置的參數(shù);
2、出了個算法提,找出鏈表中倒數(shù)第n個節(jié)點;
3、還問了thread和runable的區(qū)別;
4、聚簇索引是什么;
5、redis問了一個實際問題的解決辦法,如果redis一個value特別大,有什么解決方案;
6、redis內(nèi)存淘汰機制;
7、mysql的默認(rèn)隔離級別;
8、 堆排序
9、 paxos協(xié)議
10.、跨機房部署,遇到的問題及解決方案,全年的9999率
11、MMM的DB架構(gòu),主從未完全同步,master掛了,未同步的內(nèi)容會造成什么影響,怎么恢復(fù)
12、 ng和tomcat什么區(qū)別?能否將兩者角色互換。即:tomcat做反向代理,ng做服務(wù)容器。說明原因。
13、 DNS協(xié)議
14、 volatile實現(xiàn)原理
15、 NAT:公網(wǎng)ip和局域網(wǎng)ip轉(zhuǎn)換
16、類加載委托機制,鎖的應(yīng)用,項目架構(gòu)
四面:
jit,nio,排序算法,hashmap,更多的是項目細節(jié)~
1、談?wù)勴椖坷镏饕?fù)責(zé)了什么,負(fù)責(zé)的項目是怎樣的架構(gòu),自己負(fù)責(zé)了什么等等;
2、JVM類加載機制;
3、JVM內(nèi)存模型,棧空間都放什么,什么情況下棧內(nèi)存會溢出等;
4、JVM調(diào)優(yōu);
5、JVM垃圾收集機制;
6、比較關(guān)心金融方面的知識是否了解,是否有過金融項目開發(fā)的經(jīng)驗;
7、jvm柵欄問題,threadlocal的使用;
8、JVM
9、多線程
10、List求交集
11、解決項目運行時,CPU占用過高的問題
12、線程同步幾種機制
13、linux檢索log,匹配某一請求最多的top10
附:2019年七面面經(jīng)
總結(jié)
以上是生活随笔為你收集整理的四面阿里,看看你都会吗的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java序列化 - 分析不同序列化方式的
- 下一篇: 多线程与高并发(一):单机高并发应该掌握