滴滴CTO五輪面試真是太刺激了,之前看到好多面經難度極大,感覺運氣還行,面試難度雖然挺大,但面試官人還都不錯。而且面試完馬上出結果,非常刺激!
本文分享給需要面試刷題的朋友,也祝愿大家順利拿到自己想要的offer,這份資料主要包含了Java基礎,數據結構,jvm,多線程等等,由于篇幅有限,以下只展示小部分面試題,有需要完整版的朋友可以點一點鏈接跳轉領取,鏈接:點擊進入暗號:簡書

9月9日下午1:00 一面
自我介紹+介紹項目
項目中難點及解決辦法
Java線程的狀態(tài)及轉換
Java創(chuàng)建線程的方式
創(chuàng)建線程池的方式有哪些
JUC包下的類,能說多少說多少
ReentranLock與sychronized的區(qū)別
volitile的內存語義,底層如何實現
解釋一下happens-before,有哪些規(guī)則
CurrentHashMap源碼
MySQL的索引及區(qū)別
算法題:順時針打印矩陣
9月10日下午1:00二面,深挖項目為主(45min)
介紹項目,項目中的難點(15min)
MySQL是如何優(yōu)化的,數據量有多少
倒排索引與正排索引的區(qū)別
ElasticSearch的原理(倒排索引+TF/IDF)
Zookeeper用過嗎,介紹一下
Zookeeper一般用在什么場景
除了ZAB協議,在介紹幾個分布式一致性協議(Paxos、Raft)
線程池的幾種拒絕策略及其應用場景
大數據框架有哪些
LSM-tree應用在那些場景、優(yōu)缺點
意向工作的方向?大數據or開發(fā)
寫SQL:查詢每個班級成績排名前五的學生及成績
9月12日下午3:00三面,全程沒問技術,聊人生(40min)
你對滴滴有什么了解,知道我們的技術棧嗎
你心中的top3公司(送命題)
你意向的工作方向?大數據or開發(fā)
還有幾個問題不記得了~
9月14日下午3:00四面
- 自我介紹,項目提問
- Java集合類常用哪些,ArrayList與LinkedList區(qū)別;HashMap底層實現,為什么擴容是2的冪次;如果想要線程安全該怎么用
- JUC包下對哪些類了解,synchronized和JDK提供的鎖區(qū)別;CAS原理,ABA問題;鎖升級過程講一下;volatile講一下,為什么不能保證原子性
- JVM內存模型,新生代有哪些區(qū),作用是什么;如何判斷對象是否可以被回收(1引用計數2可達性分析)
- JVM常用垃圾回收算法,講一下CMS原理
- Redis常用數據結構;有序集合底層實現;查找排名在底層如何實現;如何用Redis實現分布式鎖,可能遇到的問題和解決辦法
- 手撕一個二分查找
9月16日下午3:00 五面
- 自我介紹,項目提問
- 聊計網,TCP3次握手過程,第三次是否可以攜帶數據,如何避免SYN攻擊(syncookies);TCP四次揮手說一下,為什么要等待2MSL,第二次和第三次揮手是否可以合并(可以)。
- 操作系統(tǒng),進程、線程和協程的區(qū)別;如果創(chuàng)建很多個線程會有什么問題;進程間通信方式有哪些
- MySQL索引如何實現,為什么用B+樹不用B樹二叉樹;聚簇索引和非聚簇索引的區(qū)別;平時索引優(yōu)化如何做,最左匹配原則;
12.你的優(yōu)點,你的缺點(面試官說我們缺點一樣)
13.你最近看的技術書籍,我提到《Java并發(fā)編程的藝術》看了三遍,面試官讓我詳細每一章講了什么
14.你對互聯網行業(yè)怎么看
15.如果你的績效被打了C你會怎么辦 (這個是一個很大的坑~)
總結:
祝大家能收獲心儀的offer。