當前位置:學問君>人在職場>求職指導>

阿里實習生面試經驗交流

學問君 人氣:2.15W

個人簡介

阿里實習生面試經驗交流

我今年大三,計算機學院、軟件學院軟件工程(NIIT)專業。在大一期間基本上在學習課本知識,對技術興趣不是很濃厚。大二跟基友一起加入院科協,開始了真正的編碼之路,剛開始寫的也就書上的代碼,基本是看着寫。大二上學期開始一段時間後開始跟老師做了一個比較水的項目是iOS開發的,剛開始Oc語法都不會,到最後代碼拼湊把自己的負責的功能寫完。做完之後感覺IOS不太想繼續了,恰好之前參加了Apollo_Rescue(機器人救援仿真)社團,後來加入Apollo_Rescue團隊。在Apollo_Rescue做的救援仿真項目應該算自己真正做過的項目吧(反對我的阿里面試幫助比較大)。

1 內推開始

我記得內推開始是在年前,南郵的一學長建了個內推羣,一開始因爲覺得自己能力有限,找工作被刷的可能性比較大,就沒投。到了年後開學來了學校,想着先投了,覺得應該面試不會很快來,可以有段時間看書。因爲覺得研發投的人會多,所以一開始投的系統工程師。

2簡歷評估面(2015.3.4)

沒想到的是我上午在阿里招聘網站上完善完簡歷,下午4點左右電話就來了,是第一面。面試官很有親和力,上來問我有沒有時間。我說有的,面試就開始了,當時很緊張,因爲完全沒有準備,說話都顫抖。面試官讓自我介紹一下,我就先把自己的大學來主要用的語言和項目稍微講了一下。接着面試官讓介紹項目,大概把項目和自己做的說了些,還是緊張中,面試官一直跟我說不要緊張,我們就是聊聊天。說完項目(機器人仿真),面試官就問我Java會什麼,我說基礎和集合框架用的多一點,API一般我用的是比賽的API。他就問我HashMap和HashSet的區別,包括實現,恰好去年網上看過一篇文章說的是這兩個的區別與實現。所以這個很快答上來了。接着他又問的是會不會Java線程,說怎麼實現。我答完後他繼續又問線程同步怎麼實現,我說用synchronize,接着他問synchronized 的要怎麼實現,當時一下子蒙了,我說給我半分鐘想想,突然就想起來可以用隊列的思想,大概把思路講完,面試官說可以看成一種實現的方式。Java就面完了,接着問的是字元串問題,比較簡單就是統計出現的字元個數,包括假如中文怎麼辦呢。問完後我先說中文可能會有編碼問題,接着說用Hasp表就可以實現,把思路說完,包括遇到的衝突怎麼避免,算法也就問了這麼點。接着是計算機網絡的三次握手。基本問題回答完後,他說假如讓你實現大檔案斷點續傳功能怎麼實現(數據比較大)。我先說了可以開多線程,服務器端可以分配變量記錄上傳的數量。後來他說數據大呢,我沒想清楚,面試官很友好的說沒事,可能問的難了,我給你提示把數據分塊的。我立馬想到了ARQ協議和數據塊控制,把思路重新說了,包括差錯控制和流量控制。一面面完感覺還可以,面試官跟我說是他研發的,這是比較高興,本來最想做的就是研發。一面後大概十幾分鍾後上網站看狀態,簡歷評估已過。

3 二面(2015.3.5)

我覺得初面是最令我害怕的一次,因爲簡歷上寫的專業的全稱 軟件工程(嵌入式軟件人才培養)加上做的機器人仿真比賽,面試官第一句話就說你應該做的硬件呀,怎麼還能過第一面。我解釋了項目,忘解釋專業。接着他讓我介紹項目和自己做的部分,問了項目中遇到的最大問題接着問我擅長的方面,一般回答這樣問題我會說我用的什麼多,而不回答擅長。接着就問了Java的反射,線程,讓我說一段實現一個用線程的小程序,說完後就開始問字元串問題,問的是從長長串中找子串,我說了普通方法和KMP算法。他說還有改進的嗎,之前看算法不是很多,也就不會了,還能把毫不相關的最長公共子序列說進去,說完後發現不對,好在面試官沒有繼續問這些。接着問我會不會Java web ,我說只是看過JSP 和Servlet。面試官也就問了cookie和session的區別,最後一個問題是抓取一個類似百度指數的問題,說是數據加密,還有什麼Flash,我說不會這些,面試官就說想法呢,我把思路說完,感覺面試官不是很滿意。就說今天就到這,當時感覺不好。回去發現網站上系統工程師已回絕,但是出現了研發工程師面試中,而且是應屆生,於是第二天找客服問了後,又變回研發了實習生了(其實本來最想投的也是研發)。到了下午改爲面試透過。所以面試中有問題答不上來不要怕,說不定就過了。

4 三面(2015.3.13)

三面基本輕鬆,上來就項目,我說了十分鐘,他簡單問了些項目中的問題。接着問我擅長的,我還是說了我用Java多一點,面試官也沒問Java問題,就給了一個算法題,說一個表達式裏面有數字、四則運算和括號不知道他們順序怎樣求值。我說把表達式轉成後綴表達式不就可以了嗎,他說具體實現,我把算法說了,怎麼進棧和進棧順序,說完面試結束。三面比較快只有15分。

5 HR面(2015.3.15)

HR面比較簡單,只是隨便聊聊,一開始就問爲什麼不讀研而選擇工作,接着聊了我的比賽,主要是獲獎,寫代碼過程,以及和隊友相處啊,遇到問題怎麼解決。回答這類問題的時候我都會先說是我們團隊一起之類的'話,其次問的就是你在網站上填的開放性問題。面試完10分鐘後,我的簡歷狀態變爲待同意offer。

6 五面

待同意offer一週後簡歷狀態變爲面試中,這次就緊張的要死,等了兩天終於等到了電話。也是問的我爲什麼不讀研,接着聊項目,問我在團隊中的的職責以及和其他人代碼對比,恰好代碼中有開源的代碼,我就說我們幾個主要成員寫的代碼質量都差不多,但跟開源的那些又有差別。接着問我會不會JVM和JMS,我說只是用過,就是不瞭解,知道他們是幹什麼的,面試官也就沒問什麼。又問Java的ssh會嗎,我也是隻說了他們的作用。最後面試官問的是我用過什麼開源的東西,我說我們比賽裏用的server是開源的還有項目代碼裏用過javolution的FastMap ,恰好那兩天看到kryo這個框架,也寫了些測試。面試後問了我的實習時間,面試結束。回去過了一會兒機簡歷變爲待跟進狀態,問了客服說沒問題了,幾天後收到錄用喜報和意向書。

7 總結

總的來說,面試並沒有想的那麼難,運氣也會佔一部分。如果你技術不是很強很強,那你基礎就要好,數據結構,計算機網絡,操作系統,算法,數據庫,都要會,個人覺得這些把課本知識學會就好,如果你學的紮實,到面試前用一到兩個小時這些就可以看完,因爲知道大概就好。其次還要有個項目,基本上能可以跟面試官扯扯的。還有方向問題,這個儘快決定,基本上面試選的你最擅長的。