1. 程式人生 > >阿里2016實習offer五面經驗與總結

阿里2016實習offer五面經驗與總結

前言

目前樓主已經拿到阿里實習offer,一共經歷了5次面試,其中4輪技術面,1輪HR面試。在這裡分享一下自己的面試經驗和學習總結。寫這篇面經主要是希望能夠幫助更多的小夥伴。我本科畢業於中南大學信管專業,真正開始學習Java是在大三下學期,研究生就讀北航的移動雲端計算專業。剛開始也是小白,也是一步步成成起來的。希望能夠給與我有相同經歷的親們一個參考。需要提的一點是,你將來是需要靠這個吃飯的,所以請對找工作保持十二分的熱情,而且越早準備越好,擺正心態和位置,那麼就開始努力吧!!

阿里一面
一面是在上午9點多接到支付寶的面試電話的,因為很期望能夠儘快接到阿里的電話,所以非常興奮。電話接通之後還是非常緊張的,畢竟是第一次這樣的面試。中間面的問題有些記不清了,下面列出了一面問到的問題:

  1. 自我介紹下自己,不超過3分鐘(實際上我的自我介紹不到一分鐘)
  2. 你感覺比本科階段自己進步了多少,有哪些進步
  3. 研究生期間最大的進步是什麼
  4. 你覺得你適合從事哪個方向的開發
  5. synchronized與lock的區別,使用場景。看過synchronized的原始碼沒
  6. JVM自動記憶體管理,Minor GC與Full GC的觸發機制
  7. 瞭解過JVM調優沒,基本思路是什麼
  8. 如何設計儲存海量資料的儲存系統
  9. 快取的實現原理,設計快取要注意什麼
  10. 淘寶熱門商品資訊在JVM哪個記憶體區域
  11. 作業系統的頁式儲存
  12. volatile關鍵字的如何保證記憶體可見性
  13. happen-before原則
  14. Lucene全文搜尋的原理
  15. 你覺得自己適合哪方面的開發,為什麼
  16. 想去哪裡實習,杭州?
  17. 評價一下我的這次面試表現
  18. 應該在我的技術棧中增加什麼
  19. 有機會下次面試嗎

一面總結: 一面大概面了50多分鐘,從面試官口中得知他是一個老員工,比我大不了多少,總體上還是聊得蠻投機的。最後的三個問題是我問面試官的,在回答我是否還有機會下次面試的時候說:競爭很激烈,不過機會還是有的。聽到這才鬆了口氣,在掛完電話後趕緊區官網檢視自己的狀態,剛開始出現了結果將在xxx後公佈,那叫一個緊張啊,等了幾分鐘後,簡歷狀態顯示在面試中,這才鬆了口氣。

可以看出一面的問題不是很難,但是要得到面試官比較高的評價(後面聽我同學說,我的面試表現是A),還是需要一定的表達能力和對技術比較本質的認識的,如果在回答問題的時候能夠做一些適當的擴充套件,自然會讓面試官對你有不一樣的評價。我回答問題的遵循一定的步驟:先回答問題本質,在回答具體細節,最後做一些平時程式設計中的擴充套件。這樣,會讓面試官覺得你確實是在這個技術上面下過功夫的。

阿里二面
等了將近6天(還以為被刷了呢)終於在第二週的週四接到阿里面試電話,那叫一個激動啊。趕緊找了一個安靜的地方,準備好後開始正式面試。二面的面試官是一個部門主管,自然還是有點小緊張的。這次面試官上來就直接問,沒有一面的面試官那麼好說話,下面是面試過程中的問題:

  1. 自我介紹下自己,不超過3分鐘(我的自我介紹仍然不超過1分鐘,呵呵了)
  2. 你說你熟悉併發程式設計,那麼你說說Java鎖有哪些種類,以及區別(果然深度不一樣)
  3. 如何保證記憶體可見性
  4. Http請求的過程與原理
  5. TCP連線的特點
  6. TCP連線如何保證安全可靠的
  7. 為什麼TCP連線需要三次握手,兩次不可以嗎,為什麼
  8. AOP的原理
  9. 動態代理與cglib實現的區別(這個,醉得很厲害)
  10. 那麼你說說代理的實現原理唄
  11. 看過Spring原始碼沒,說說Ioc容器的載入過程吧
  12. 瞭解過位元組碼的編譯過程嗎(這個還真不知道)
  13. 可以來杭州實習嗎
  14. 評價一下我的面試表現
  15. 有機會下次面試嗎
  16. 您覺得我的技術棧應該補充什麼,有哪些方面還需要提高

二面總結: 二面面試官問的問題都比較直接,答案也是知道就知道,不知道就不知道。這些問題一部分是基礎一部分是根據你的專業技能的來提問的。面完後面試官對我的評價是:中規中矩,有機會下次面試。雖說是中規中矩,但聽到面試官說有機會下次面試就感覺這次面試應該過了。掛完電話後趕緊登陸檢視我的簡歷狀態,剛開始仍然顯示在面試中,但是有一點困惑的是:為什麼這次沒有出現結果待公佈的頁面呢?又一陣擔心,上課也心不在焉,終於在晚上7點多的時候顯示了結果待公佈的頁面,然後心跳又開始開速,過了幾分鐘看到終於顯示在面試中才放鬆一點。

雖說這次面試過了,但是我在思考的是為什麼面試官對我的表現是中規中矩。後面我知道我的回答雖然答到了點子上,但是擴充套件程度不夠,對一些問題的理解缺乏足夠的實踐經驗。面試官告訴我,有時間可以去研究位元組碼的編譯過程,以及JVM調優方面的知識(特別強調這個很重要)。針對自己的不足,面完後又投入瘋狂的看書寫程式碼的生活中。雖然在面試中有一些回答不出來很正常,但是如果能夠做到出乎面試官的意料,也是面試官對你很重要的加分項。

阿里三面(總監面)
三面與二面隔了5天(不知道是不是因為二面面試官對我的評價是中規中矩的緣故,中間一直擔心自己被刷了),仍然在下午4點多接到的電話,一看顯示來電歸屬地是阿里巴巴集團,興奮得不行,找了一個安靜的地方開始面試。據說總監面會問專案多一點,所以在等待的這幾天中給專案增加了幾個比較肉的點,好在能夠面試官耍耍(現在想來只能說:too young too simple)。總監剛上來非常不客氣,最尷尬的是總監那邊老感覺有回聲,因為不好意思提就忍了。下面是三面遇到的問題:

  1. 自我介紹,不超過3分鐘(這次好像時間更久了,也就2分鐘多點)
  2. 說一下你對哪個專案比較熟悉
  3. 為什麼做這個專案
  4. 專案採用了什麼架構,資料庫如何設計的
  5. 資料庫由哪些表,為什麼有這些表
  6. 主要有哪些核心模組,模組之間如何通訊的
  7. session放在哪裡
  8. 如何儲存會話狀態,有哪些方式、區別如何
  9. 分散式session如何管理,你有哪些方案
  10. 學過資料結構和演算法嗎(當然),你說說二分搜尋的過程
  11. 說一下快排的過程,寫一下虛擬碼
  12. 瞭解哪設計模式,舉例說說在jdk原始碼哪些用到了你說的設計模式
  13. 你有什麼問我嗎(仍然上面三個問題)

三面總結:本以為三面是交叉面,沒想到是阿里的總監面試。由於具體的技術問題在前兩輪面試中已經問過了,所以三面後不會有具體的技術問題,總結來看,對自己做過的專案一定要深入,包括使用使用到的技術原理、為什麼要使用這些技術。針對專案,面試官關注的無非以下幾點:
專案中某個比較重要的點是如何實現的(需要深入技術的原理)
遇到的最大困難是什麼(有哪些),你怎麼解決的?
如果需要擴充套件某個功能,如何降低系統的耦合度
如果針對某個功能進行優化,你會怎麼設計和優化

對於寫在簡歷上面的專案,自己對照上面四個問題進行思考,才會在面試中游刃有餘。因為任何在簡歷中作假的行為,面試官只要詳細問你就露餡了。在聽到面試官說有機會下次面試的時候,心中自然是非常高興的。掛完電話後區官網檢視自己的簡歷狀態,經過幾分鐘的煎熬後終於仍然顯示是面試中才稍稍放鬆一些。本以為這次總監面試後直接就是HR面了,奈何在晚上阿里打電話說明天部門總監還需要進行一次面試,讓我做好準備。我也是醉了,不是已經總監面了嗎。雖然存有疑慮,但不管如何還是好好準備。

阿里四面 (總監面)
果然,在第二天下午四點多接到了部門總監的電話,簡單溝通後開始了面試。這次面試感覺是最放鬆的,沒有什麼高深的技術問題,感覺就像和朋友聊天的感覺,真的很感謝這位面試官。下面是面試中的問到的問題:

  1. 來個自我介紹唄,不超過3分鐘(這次終於由三分鐘了,⊙﹏⊙b汗)
  2. 介紹下你最熟悉的專案
  3. 專案使用了什麼架構,亮點是什麼
  4. 平時主要學習什麼課程
  5. 你目前的研究方向是什麼
  6. 家是哪的
  7. 喜歡看什麼書
  8. 大概什麼時候能來實習呢
  9. 你有什麼想要問我嗎(仍然上面三個問題)

四面總結: 雖然這面比較輕鬆,也沒有什麼具體的技術問題,但對專案仍然是面試官關注的,後面瞭解到總監面除了看你的基礎,主要看你的潛力(就是有沒有培養的價值),這個東西看起來挺虛的,但是從你平時的學習中仍然是可以看得出來的。所以,作為一名開發人員,平時對技術的研究也是很重要的。在聽到面試官說讓我好好等HR通知的時候可開心了,感覺飯都吃得更香了。

阿里五面(HR面)
在隔了4天左右,終於接到了HR的電話,那叫一個激動啊。感覺離阿里offer已經不遠了,於是振奮精神,聊得還不錯。下面是HR問我的問題:
1. 自我介紹下吧
2. 做了哪些專案
3. 看你在問題中說你在杭州看到很多商販使用付款二維碼,你對支付寶怎麼看
4. 你看吧,每天有那麼多人使用支付寶,這些資料如果給你儲存,你會怎麼設計呢(不是說HR不問技術問題嗎?不愧是阿里的HR)
5. 為什麼想來支付寶實習呢
6. 你身邊同學如何評價你、老師呢
7. 如果與同事發生了意見的不一致,你會如何解決呢
8. 我什麼時候能夠得到通知呢
9. 評價下我的面試表現(聽到這個問題,HR居然笑了!)
10. 阿里如何對實習生進行培訓

五面總結: 雖然之前就聽說阿里HR很犀利,不過我感覺一點都不會啊。難道是我的錯覺?不得不說的是這個HR的聲音真的很好聽誒。

關於HR面試

其實早就聽說把面試的最終的錄取結果具有一票否決權,在面完前面的技術面試之後,還是很擔心的。所以諮詢了師兄以及網上找了阿里HR面試的資料,大概得到以下結論:

  1. 誠信至上,所以在簡歷中不要存在任何虛假資訊,企圖通過虛假資訊得到面試機會的後果得不償失
  2. HR更關注你的表達能力、與同事相處的能力以及對工作的態度
  3. 對自己的是否一個明確的職業規劃(前提是首先得對自己有一個清晰的定位)
  4. 關於待遇的問題(由於面的實習崗位,所以這個沒有提,但是就我而言,能力才是最重要的,能力上來了待遇自然就水漲船高)

關於面試的心態

在自己拿到阿里offer之前,一直都在想一個問題:我到底該如何做才能離阿里更近?一年的成長與思考讓我認清了這點,雖然中間也遇到過很多坑,但卻真正讓我對自己有了一個清晰的定位,也有了比較明確的目標。正因為如此,我每天所學習的都給我莫大的動力,讓我不斷進步,並最終實現自己的目標。所以迷茫才是最可怕的,只有擺正心態,對找工作保持十二分的熱情,勤奮努力,才能離目標更近一步。

但是有了目標和努力外,不一定就能實現目標,說到底還有一個運氣的成分在裡面,只能說你找到心儀的工作概率更大而已。遇到一個好的面試官絕對賺了。這四位阿里的面試官我感覺都挺好的,沒有因為他們資歷深就為難我,所以還是非常感謝這四位技術面試官的。

一點總結

由於本科是非科班出身,也僅僅是接觸過Java而已,在大三的時候對自己的未來的發展道路很迷茫,不知道何去何從,感覺自己就是一個loser。那會考完研後有倖進入了金蝶實習,也就是那段時間讓我認清了自己的短板,自己欠缺的是什麼,那段時間也是我確立自己目標的過程。讀研後瘋狂看書、寫程式碼、寫部落格、做專案,每天都在對自己進行總結和反思,正是這樣一個不斷的自我反思與努力的過程中,我得到了真正的成長與進步。也是這段經歷讓我能夠面對阿里技術面試官的提問應答自如,從而順利拿到阿里的offer。

最後,想送給自己兩句話以鞭策自己:

  • 越努力,越幸運!
  • 以現在大多數人的努力程度之低,根本輪不到可以拼天賦。