谷歌,微软,阿里,美团实习生面经
新鮮出爐的實習(xí)生面經(jīng)!主要包括:Google,微軟,阿里,美團和因為各種原因沒有面試成的公司…… 
 
基本情況
基本情況:某985碩士,常用語言C/C++、Python,研究方向為深度學(xué)習(xí)、計算機視覺,有一篇水的會議論文、一篇水的期刊論文,有ACM等算法競賽和數(shù)據(jù)挖掘類競賽獲獎經(jīng)歷,在導(dǎo)師和Github上都有項目。除了谷歌投的是SWE,其它都是算法崗。
谷歌
Warm up: Google mock interview
1月31日,GCJ獲得資格,45min。 
 算法題:有一個n乘n的棋盤,上面有m個糖果,最開始有一個人在棋盤左上角,他可以向左向右或者向下移動,但不能向上移動,問他最少需要多少步吃完所有糖果。 
 正解:一個糖果或者沒有糖果的行很簡單,多于一個糖果的行其實一定是從最左或最右的糖果處下去,所以只需要維護吃到每一行最左或最右糖果的最小值就行了,轉(zhuǎn)移的時候討論上一行的端點在這一行最左到最右區(qū)間的里面還是外面。 
 詳細經(jīng)歷看這篇博客。 
 3月12日,A Day with Google,配套活動,參觀一下。
一面
3月19日,45min。 
 沒有其它廢話,上來直接算法題, 
 - 有一些單詞對表示同義詞,單詞對之間不考慮傳遞性,判斷兩個句子是否表示完全相同的意思?map套map解決,寫了第一個解法。 
 - 你的方法復(fù)雜度多少?M*logN*logN 
 - 能不能更快?unordered_map或者字典樹解決。 
 - 寫個字典樹看看?寫寫寫,寫了第二個解法。 
 - 如果考慮單詞對之間的傳遞性呢?floyd解決。 
 - 如果數(shù)據(jù)規(guī)模很大呢?離散化+并查集。 
 - 并查集復(fù)雜度多少,為什么復(fù)雜度是這樣?O(1), 路徑壓縮。 
 - 還有8分鐘,寫并查集的解法讓我看看?寫了第三個解法。
整體就是這樣,一共手寫了三套解法,重點考察了數(shù)據(jù)結(jié)構(gòu),由于最后一個解法時間比較緊,被面試官挑出兩個bug。基本算滿意,有一些小瑕疵。詳細經(jīng)歷看這篇博客。
結(jié)果
3月23日,通知狀態(tài)變?yōu)閔old,介于過和拒之間的狀態(tài)。內(nèi)推的同學(xué)說投的太遲了,很多人過年前投的,過完年就開始面試了,到了3月中旬崗位不多了。怪不得我說一面感覺也不差怎么就hold了,所以謹記,內(nèi)推實習(xí)生一定要早投!!!
微軟
秒殺筆試算法題,4月24日,面試去現(xiàn)場…
一面
40min,面試官是我整個實習(xí)生面試期間遇到的最棒的面試官。 
 - 編譯工程的各個文件間有相互依賴,如果想編譯通過需要滿足什么條件?有向無環(huán)圖。 
 - 給定文件間的依賴關(guān)系,怎么判斷一個工程是否能編譯通過?拓撲排序,然后白板寫了拓撲排序。 
 - 如何找出所有合法的編譯順序?深搜+拓撲排序,白板寫了一下。 
 - 才過去15分鐘,你寫的也太快了,我們聊些深度學(xué)習(xí)的東西,問了卷積的基本原理,簡單計算了感受野、參數(shù)數(shù)量。 
 - 聊了放在github上的一個唐詩生成器。
我想這一面給的一定是strong hire
二面
40min,典型程序員,一句廢話都沒有。 
 - 白板寫個單鏈表的冒泡排序。先走一遍統(tǒng)計長度再冒泡。 
 - 能不能優(yōu)化?想了一會兒沒什么想法,面試官提示記錄尾部節(jié)點。然后白板寫了一遍用tail記錄每一次冒泡的結(jié)尾。 
 - CNN有哪些基本單元和作用?卷積、pooling、fc等等說了一大堆 
 - Relu的原理,與sigmoid比優(yōu)缺點?求導(dǎo)、畫圖說明了一下,不容易梯度消失,但是會導(dǎo)致神經(jīng)元死亡。
除了面試官提示了一次記錄tail節(jié)點,其余還好。
三面
40min,Boss面,可能是看前兩面寫代碼反饋不錯,所以把紙收起來了,沒寫代碼。 
 - 把論文從background到conclusion都講了一遍。 
 - 講了在老板這里做的一個項目的詳細設(shè)計。
然后基本聊聊天。應(yīng)該還挺滿意的吧,最后加了我微信,說很希望我能去他們組,受寵若驚啊!
結(jié)果
4月28日,收到微軟C信,5月9日,收到微軟offer!
阿里
通過Github被阿里獵頭選中,本來他的期望是招前端,我覺得不OK,跟他說了一下我的情況,然后轉(zhuǎn)而把我推到機器學(xué)習(xí)算法崗去了……
一面
3月23日,45min,全程緊張,面試官一直讓我放松。 
 - 自我介紹,然后根據(jù)自我介紹問項目,一共40分鐘。 
 - 最后5分鐘算法題:
有一些字符串,定義前后字符差值形成的序列一致的兩個字符串為相同字符串,問如何將給定的這些字符串分成若干集合,每個集合中字符串都滿足相同字符串的定義。 
 解法:將差值序列作為hash表的key,形成的集合用一個vector或者map隨便什么作為value就行了。 
 面試官說很OK,自己面下來感覺也很好。
二面
4月14日,周六面試…,25min,似乎是被我的項目震驚了。 
 遲來的二面,因為14日是網(wǎng)申截止,而網(wǎng)站上一直是面試中的狀態(tài),所以我一直以為涼了,而面試官說這一面應(yīng)當屬于三面?我也不是很懂。 
 面試官只問了兩個項目,問得比較細,連里面有什么函數(shù),函數(shù)怎么設(shè)計的,類之間的繼承關(guān)系都問了一遍,然后就說很好,看了一眼我的github,又問我平時是怎么學(xué)習(xí)的?怎么做這么多項目的? 
 最后又跟我說面試過應(yīng)該沒什么問題,而且較大概率去他的團隊,然后就夸他們團隊怎么怎么好… 
 我全程懵逼…這就面試完了???
交叉面
4月26日,70min,三個面試官,其中一個推進流程串場。 
 達摩院大佬:45min 
 - 說說深度學(xué)習(xí)調(diào)參的過程和一些常見技巧?網(wǎng)絡(luò)結(jié)構(gòu),Data Augmentation,初始化,防止過擬合的方法,可視化調(diào)試,優(yōu)化方法等等,想到什么說什么。說的比較亂,自己對自己的回答不是很滿意。 
 - 面試官對深度學(xué)習(xí)和CV很有研究,具體聊了論文,讓我總結(jié)目標檢測的主流方法,詳細說了Faster-RCNN、YOLO、SSD、FPN、R-FCN等各種目標檢測的方法。可以看出,面試官對里面的細節(jié)不是很清楚,但是提的問題很有質(zhì)量。
搜索事業(yè)群大佬:25min,這個我就真的懵逼了 
 - 我們有一個業(yè)務(wù)系統(tǒng),每天要處理1000萬次服務(wù)請求,如何設(shè)計這個系統(tǒng)?我???靠著寫分布式系統(tǒng)大作業(yè)的老底,勉強擠了一點出來。 
 - 你覺得有哪些機器學(xué)習(xí)技術(shù)能用在搜索事業(yè)群?為什么?亂講了一些,希望他滿意,基本包含了所有機器學(xué)習(xí)里的東西吧。 
 監(jiān)督學(xué)習(xí)做分類回歸:LR、SVM、XGB等經(jīng)典淺層模型,CNN、LSTM、GAN等深度模型; 
 半監(jiān)督學(xué)習(xí)充分利用搜索產(chǎn)生的大量數(shù)據(jù):主動學(xué)習(xí),直推式學(xué)習(xí); 
 無監(jiān)督學(xué)習(xí)減少計算開銷,同樣充分利用數(shù)據(jù)量:k-means、DBSCAN、譜聚類等聚類方法,PCA、SVD、ISOMAP、T-SNE等降維方法; 
 強化學(xué)習(xí)可以利用用戶的反饋; 
 后來擠牙膏想到的一些其它方法:bagging、boosting集成學(xué)習(xí)方法提升精度,矩陣分解、協(xié)同過濾等推薦算法。
真的不知道該怎么答!
HR面
5月2日,30min,以自我介紹為主線,我說完一點,她就會問點問題,比如做的項目是research還是面向?qū)嶋H需求的。主要說說非技術(shù)問題吧: 
 - 家在哪里,家里人同意來杭州嗎?不同意也得說同意啊。 
 - 為什么選擇阿里?為什么選擇這個職位?準備充分,背誦一下。 
 - 你有什么問題?我問阿里對實習(xí)生有培訓(xùn)嗎?我們對實習(xí)生不會有太多培訓(xùn)! 
 - 什么時候能來實習(xí)?我覺得這個問題她不滿意,因為她希望我馬上過去實習(xí),實際上我是不可能馬上過去實習(xí)的,然后HR說實習(xí)時間短可能會影響轉(zhuǎn)正啊balabala。我在招聘網(wǎng)站上寫的好好的時間,你接受了我的申請就是同意了我的實習(xí)時間,現(xiàn)在看來,他們大約只是想招個苦力。由于我堅持不能馬上過去實習(xí),HR態(tài)度發(fā)生了很大轉(zhuǎn)變。
聽已經(jīng)實習(xí)的說,阿里實習(xí)生晚上九點都沒有人走的,看看我的發(fā)際線,還是別那么拼命吧。
結(jié)果
5月9日,收到阿里offer。
美團
一面
3月16日,30min,我見過的最不負責(zé)任的面試官。 
 遲到早退,完全沒有心思面試,只問了簡單的算法題,連字符串翻轉(zhuǎn)這種題都出來了… 
 然后聊了項目,問的問題極其外行,最后笑嘻嘻走了???
二面
4月25日21點,60min,把我當備胎了吧,一面那個面試官真不想吐槽了,就這樣面試下來就把我當備胎了?好在二面的面試官很專業(yè),挽回一些美團的形象。 
 - 搜索框內(nèi)的候選項怎么實現(xiàn)?A.統(tǒng)計前綴詞語條件下,每個詞出現(xiàn)的概率,用哈希表或者字典樹存儲,適當剪枝。B.用機器學(xué)習(xí)模型,如:LSTM等,根據(jù)前綴詞預(yù)測當前詞。 
 - 簡述LR,有一些用戶屬性和購買記錄,如何用LR給他們做推薦?基本是數(shù)據(jù)挖掘比賽那一套講講就行了,問的很細,從最開始的數(shù)據(jù)清洗到特征工程到后面的集成都會問。 
 - 有一個無限長的數(shù)字序列,大到存儲其中所有數(shù)是不可能的,序列不斷傳輸過來,在某一個時刻喊停,要求以均等概率返回之前已經(jīng)傳過來的某一個數(shù)。每過來一個數(shù),就以1/n的概率保留,這樣只要存當前留下來的數(shù)返回就可以了。
三面
4月28日,45min。 
 說說比賽、項目、github開源、從系統(tǒng)的架構(gòu)到每一個模塊的細節(jié)都問了一遍。問我有哪些offer,說自己在螞蟻呆過,都是水貨寫業(yè)務(wù)沒什么意思,吹美團這邊的數(shù)據(jù)是百億級別的?咱能不這么浮夸嗎?
結(jié)果
5月3日,收到美團offer。
其它
一些投了,但是沒能面試的
京東
因為讓我去北京現(xiàn)場面試但是不報銷費用被我主動掛了。而且要吐槽一下,京東有圖像標注實習(xí)生的崗位,要求吃苦耐勞,這是什么鬼?
網(wǎng)易
我讓師兄內(nèi)推,他們老大看了一眼簡歷就說應(yīng)該能來吧,面試水水的… 
 后來知道所投崗位已經(jīng)差不多滿了,要轉(zhuǎn)崗,也被我主動掛了。
Face++
投了簡歷,沒理我,后悔沒找校友內(nèi)推!聽說內(nèi)推的基本都進了?
小米
投了簡歷,沒理我,南京招的人比較少。
騰訊
筆試沒有參與聚眾討論,筆試掛了,題目一點誠意都沒有,全都一樣的,就是為了把不作弊的刷掉?今年招的人很多啊,各種水進去的,而我連水的機會都沒有,不開心!
總結(jié)
最大的感受是:有項目就可以一直吹,雖然我準備了,但幾乎沒遇到問數(shù)學(xué)公式推導(dǎo)和操作系統(tǒng)、計算機網(wǎng)絡(luò)背概念的面試官,大多數(shù)是就簡歷問,也有結(jié)合業(yè)務(wù)場景讓設(shè)計方法的。我靠,枉我看了那么長時間的西瓜書和本科教材… 
 總的來說,差強人意,因為谷歌崩了才投了這么多亂七八糟的,keep calm and stay strong!
PS: 我搭建了新博客:https://hjptriplebee.github.io/ 
 短時間內(nèi)不會放棄CSDN,兩邊文章會同步更新!
轉(zhuǎn)載注明出處! 
 本文作者: Jipeng Huang 
 本文鏈接: 點擊這里
總結(jié)
以上是生活随笔為你收集整理的谷歌,微软,阿里,美团实习生面经的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 随机论---生命起源随想
- 下一篇: 空中网创始人杨宁:忽悠就是融资能力
