天天看點

滴滴CTO五輪面試真是太刺激了,Java進階工程師一二三四五面面經(已拿到offer)

作者:墨眉無鋒墨家代碼

滴滴CTO五輪面試真是太刺激了,之前看到好多面經難度極大,感覺運氣還行,面試難度雖然挺大,但面試官人還都不錯。而且面試完馬上出結果,非常刺激!

9月9日下午1:00 一面

自我介紹+介紹項目

項目中難點及解決辦法

Java線程的狀态及轉換

Java建立線程的方式

建立線程池的方式有哪些

JUC包下的類,能說多少說多少

ReentranLock與sychronized的差別

volitile的記憶體語義,底層如何實作

解釋一下happens-before,有哪些規則

CurrentHashMap源碼

MySQL的索引及差別

算法題:順時針列印矩陣

9月10日下午1:00二面,深挖項目為主(45min)

介紹項目,項目中的難點(15min)

MySQL是如何優化的,資料量有多少

反向索引與正排索引的差別

ElasticSearch的原理(反向索引+TF/IDF)

Zookeeper用過嗎,介紹一下

Zookeeper一般用在什麼場景

除了ZAB協定,在介紹幾個分布式一緻性協定(Paxos、Raft)

線程池的幾種拒絕政策及其應用場景

大資料架構有哪些

LSM-tree應用在那些場景、優缺點

意向工作的方向?大資料or開發

寫SQL:查詢每個班級成績排名前五的學生及成績

9月12日下午3:00三面,全程沒問技術,聊人生(40min)

你對滴滴有什麼了解,知道我們的技術棧嗎​

你心中的top3公司(送命題)

你意向的工作方向?大資料or開發

還有幾個問題不記得了~

9月14日下午3:00四面

自我介紹,項目提問Java集合類常用哪些,ArrayList與LinkedList差別;HashMap底層實作,為什麼擴容是2的幂次;如果想要線程安全該怎麼用JUC包下對哪些類了解,synchronized和JDK提供的鎖差別;CAS原理,ABA問題;鎖更新過程講一下;volatile講一下,為什麼不能保證原子性JVM記憶體模型,新生代有哪些區,作用是什麼;如何判斷對象是否可以被回收(1引用計數2可達性分析)JVM常用垃圾回收算法,講一下CMS原理Redis常用資料結構;有序集合底層實作;查找排名在底層如何實作;如何用Redis實作分布式鎖,可能遇到的問題和解決辦法手撕一個二分查找

9月16日下午3:00 五面