一、 面試流程:
我一共經歷三輪面試,兩輪技術面,一輪HR面。HR面結束次日拿到offer。
二、 前期準備
-
參加競賽。如果是爲明年或後年面試做準備,可儘量參加阿里舉辦的相關競賽,作爲自己的加分項。
-
鞏固自己的計算機基礎知識。阿里面試官在校招過程中,對基礎知識的紮實程度很看重,所以一定要穩紮穩打。
-
項目在精不在多。對手頭已經進行的項目,一定要認真做,深入瞭解其內在原理,不可浮於表面。
三、 面試內容:
1.自我介紹。
雖然並不是每次面試面試官都會要求自我介紹,但連續三輪面試都不遇到自我介紹的可能性也不大。同時,自我介紹是一個較易準備的部分。所以,無論如何準備好自我介紹。考慮到大部分人對編程內容都會有所偏重,所以在自我介紹過程中使用技巧引導面試官的注意力也非常重要,當面試官的注意力落在你所擅長的領域時,你就能在面試過程中發揮最大的優勢。
2. 項目
兩輪技術面過程中,面試官都花了很多時間針對項目進行提問。但提問方向很常規,包括項目整體構架、所使用的數據結構、項目主要技術難點、遇到難題如何解決、項目人員分配問題等,只要全程參與項目並對項目足夠熟悉,基本可以應付這一部分的問題。
3. 編程
阿里雖並不強制要求面試過程中進行現場編程,但面試官總要對面試者的算法和編程能力進行檢驗,所以大部分面試者還是會被要求進行現場白板編程。
4. 基礎性問題
基礎性問題涉及範圍很廣,你會被問到的具體問題取決於你項目的偏向、面試中回答的情況及面試官的偏好。就我個人而言,被問到的問題包括:
Hashtable, HashMap,和ConcurrentHashMap 的底層實現原理;GC的工作原理;OSI七層協議;實現多線程的方式;線程同步,併發操作怎麼控制;HTTP和HTTPS的區別;sendRedirect, foward的區別;JVM垃圾回收實現原理;基本數據類型;死鎖;數據庫事務隔離機制的特點等。(排序不分先後)
四、 算法題
阿里面試考察的編程題都較簡單,基本就是對數據進行排序或查找,相同或者相類似的題目都可以在Lintcode上面找到。我當時被要求現場手寫二分查找的算法。算法不難,比較麻煩的是現場手寫以及儘量做到bug-free。
五、 前期準備
-
參加競賽。如果是爲明年或後年面試做準備,可儘量參加阿里舉辦的相關競賽,作爲自己的加分項。
-
鞏固自己的計算機基礎知識。阿里面試官對基礎知識的紮實程度很看重,所以一定要穩紮穩打。
-
項目在精不在多。對手頭已經進行的項目,一定要認真做,深入瞭解其內在原理,不可浮於表面。
六、 小建議
-
在進行面試前,對自己的項目進行回顧、加深熟悉和梳理。保證不在項目問題上丟分。
-
知之爲知之,不知爲不知。面試官不會因爲你在一個領域的不熟悉而否決你,重要的是表現出紮實的基礎功底和優秀的潛能。
-
使用lintcode進行刷題時,利用類別分類及難易分類功能從易到難集中刷題,提高刷題效率。
-
刷題過程時,適當進行白板訓練,降低面試過程中白板編程的陌生感和不適應感。
-
刷題過程中勤加總結並進行記錄,方便麪試前突擊。
Java高級架構二羣688583154
-
進羣:可以領取免費的架構師學習資料。
-
進羣:瞭解最新的學習知識點
-
進羣:瞭解最新的阿里,京東招聘資訊
-
進羣:獲取更多的面試資料