首先投簡歷不說了,剛開始會有電話面試,首選個人介紹,講一些項目經歷,用的技術棧,比較擅長哪里。電話面試者都會根據你簡歷上的內容進行提問,你能回答上來,他就會往更深入去問,主要是針對簡歷,基礎會比較看重。 問了我JVM虛擬機的內存模型、內存區域、問了垃圾回收機制的算法、為什么新生代劃分為Eden、from/to區域、問了算法內容(因為我簡歷有寫算法和數據結構),問了海量數據里面獲取前十個數據、或者找出最大的數; 完了后兩三天會通知現場面試:一面是年輕小伙,對簡歷問了比較多,象redis/mysql/java集合等知識問了一些,因為餓了么技術棧用的spring好像不是很多或者是他們內部自己弄的框架,所以對這塊沒有怎么問。問了比較多的數據結構和算法,問快排、空間/時間復雜度算法; 二面應該是技術leader,主要對你做的項目進行了解,深入了解,非常深入了解。看你對業務熟悉如何,還問了多線程、問為什么要實現自旋鎖、偏向鎖、synchronized和lock區別,問了HashMap數據結構/擴容技術、問currentHashMap多線程并發時候segment如何保證size大小(這個不熟悉)總體來說,75%能回答上來吧,一周內會有答復坐等了。主要是要基礎扎實、基礎扎實、基礎扎實!
面試官問的面試題: 整體流程很流暢。
1. 先是自我介紹;
2. 問了做過的項目內容,業務流程之類的;
3. 在簡歷中項目內容中扣出一些疑問深挖內容提問;
4. 針對系統架構問了一下自己的思考;
5. 問了一些java基礎,多線程,主流框架;
6. 現場在白紙上出了兩道題,一道是排序算法,一道是死鎖實現;
7. 最后閑聊了一下。