1. 程式人生 > >實習經驗分享總結

實習經驗分享總結

博主首發CSDN,mcf171專欄。

——————————————————————————————

正好又到了一年一度的找實習的階段,拖了一年的經驗分享,趁自己還有一些殘存的記憶寫一下。
    當時實習階段最後拿到的Offer:阿里巴巴菜鳥集團的機器學習-演算法工程師崗位,地點北京;京東演算法工程師崗位,地點北京;騰訊技術類崗位(應該也算是機器學習崗),地點深圳。
    其他參加過面試的公司包括但不限於:
快手、Google、今日頭條。接下來一個個介紹吧~
    阿里巴巴菜鳥集團。我面試的具體部門是地址庫。
    地址庫可以說是菜鳥集團的核心部門,因為物流所依賴的最重要的就是地址的準確性。面試階段應該是一共是三面,兩輪技術面+一輪HR。由於地址庫起步時間不是很早,應該不到兩年的樣子,所以當時組裡沒有專門的機器學習專家,後來進組之後確實發現也沒有。所以當時在技術面的環節,兩個面試官主要是瞭解我做專案的過程,如何發現問題、分析問題、解決問題。不過進組後,leader非常的nice,雖然實習階段沒有專門的機器學習專家,但是有任何問題我的leader都幫我聯絡其他組的專家答疑解惑,另外我在阿里轉正後組裡也招聘了機器學習的專家,所以一方面估計學弟學妹再面試的話,可能機器學習的基本功會問比較多了,另一方面進組後也有專人帶著了。HR環節沒有太多印象了,感覺技術面過了的話,基本上HR環節也不會為難大家,當然也有聽說HR環節掛了的人。阿里巴巴整個環節都是電話面試。
    騰訊。騰訊準確來說面了兩個部門。
    第一個是師兄內推的微信後臺開發崗位,這個印象是面了5面,有幾面應該不是正式流程,就是微信的面試官直接聯絡我的,直接做題,微信的面試應該是我這裡面體驗過最硬的,

印象裡是首先第一面就是面試官給我發了個網站,讓我做題,應該是5道題,2個小時吧,具體題目有點忘記了,難度基本是Leetcode的Medium和Hard,做的不是很好。然後第二面給了兩個簡單的基礎演算法題。1)寫一個函式返回十六進位制的十進位制結果;2)合併兩個有序陣列並去重。這兩個比較順利的做完了。後續進入了第三面、第四面,三四面具體內容有點忘記了,但是基本上都是海量資料的處理問題,比如尋找TopK,排序。還有一個問題好像是LeedCode中出現過的,大致是有N個網站連結,有個M長度的記憶體佇列儲存最近M個被訪問的連結,這M個連結需要按照訪問次數降序排列,持續會不停的人訪問網站,要求實現如何動態更新維護M佇列。還有一面有點忘了。總體而言微信後臺開發的崗位的面試對於C和C++的要求比較高,同時對於海量資料的處理會有重點考察。微信面試是電話面試+遠端桌面。第二個部門是正式的實習招聘環節面試的,具體忘記是哪個部門了。因為後來給的薪酬感覺也太少了,另外工作地點在深圳不太方便,也就沒去了。第二個部門是去騰訊北京招聘現場面試,兩輪技術面+一輪HR面,雖然具體面試內容忘記了,但是感覺和校招差不多,主要是考察一些演算法問題,以及針對做過的工程專案和機器學習專案提問。
    京東。京東面試的是廣告部門。
    京東面試是兩面現場面+一輪電話HR面。京東面試官給我的感覺還是非常熱情的。當時京東面試的時候,我在基礎演算法上準備的還不是很充分,同時京東面試官問了不少Java語言特性的問題。
因此在面試環節面的不是很好。但是整體下來面試官也不是特別在意我在基礎演算法上的功底,主要還是對我做過的機器學習專案非常感興趣,因此最終也順利拿到Offer。京東還是蠻有誠意的,我記得我拒過Offer後還和我說過漲薪的事情。
    Google中國。
    Google中國的實習招聘如果是內推的話,可以不用筆試,但是轉正的話,必須要通過Google自己的網上筆試比賽,一般會有好幾輪吧,每一輪大致是前200名左右就會拿到面試資格。Google的面試風格總體而言就是直接亮劍,也就是做題。做題風格上也分為兩種,一種是同樣的題目不停的加條件和要求,另一種就是做完一個換一個難度更大的。面試時間應該是一共一小時。我當時的面試風格是第一種,在第二題的時候掛掉了,死活沒想到做法,但是面完後想出來瞭解決方案,真是醉了。第二題加的條件就是如果輸入不是整數如何處理。Google面試過程中有兩點可以和大家補充下,全程HR都會和你積極溝通,最好申請一個Gmail,郵件溝通的語言是英語,但是面試環節用的是中文~
    快手。
    快手雖然在網上經常會有人黑這個公司,但是快手的CEO是我們學長,因此他曾來學院和大家分享過自己的創業經歷,是一個非常平易近人並且厲害的學長。通過和學長的交流,覺得網上的一些言論還是有失偏頗。稍微跑題了,說面試。由於學長是Google出身的,因此快手不管是面試風格還是企業文化,都能感受到Google的氣息,面試環節基本上也是直接真槍實彈硬鋼基礎演算法題。在面試過程中要求是白紙手寫程式碼,其中也會給你一些暗示,要求最好是一遍過,不用修改程式碼。當時由於LeetCode積累的比較多了,所以面試環節的基礎演算法考察還是很順利。不過後來卡殼了,當時面試我的應該是快手機器學習崗位的直接分管Boss,問了我非常多的機器學習細節,比如不同範數的區別,直接讓我手推公式,詢問反向傳播演算法等等。這些問題答的不是很好,因為當時自己定位是機器學習應用,所以對於機器學習的一些理論不是很注重,在這裡我推薦有志於投身機器學習的同學去看下李飛飛大牛關於機器學習的課程,如果時間充裕的話,也可以去補一下Andrew Ng的機器學習課程。除了機器學習崗位,當時同時也讓了分管大資料的Boss面試了我,同樣也問了很多大資料系統的細節,包括shuffle的過程,MapReduce的原理等等。印象最深刻的是問了一個大資料環境下如何統計一天裡面哪個時段是人數最多的題目。當時說了一個線段樹的做法,沒想到其實用wordCount的做法就可以解決。當時快手要求是馬上去實習,但是學期還沒結束,拒絕了,沒有達成合意,所以也就不了了之了。快手當時面完還留我吃了個飯,伙食確實豐富,而且是隨便吃,感覺如果在快手工作的話,體重分分鐘就上去了。
    今日頭條。
    頭條校招給的薪資還是非常有競爭力的,實習面試一般是兩面現場面試+HR面。由於內推的部門主要是做資料儲存的,和自己的方向不是很搭,所以兩面後掛了。頭條的面試是現場用電腦白板編碼,題目有點忘記了,大致難度也是LeetCode的Medium吧。
    以上是實習期間的一些尚存的印象,回頭有時間可以再寫寫阿里實習的經歷,包括後面校招的事情。實習建議大家找的公司不要太多了,一方面是自己會太累了,另一方面拒絕Offer的話對於校招多多少少有一定程度的影響。