新鮮出爐的實(shí)習(xí)生面經(jīng)!主要包括:Google钓试,微軟装黑,阿里,美團(tuán)和因?yàn)楦鞣N原因沒有面試成的公司……?
基本情況:某985碩士弓熏,常用語言C/C++曹体、Python,研究方向?yàn)樯疃葘W(xué)習(xí)硝烂、計(jì)算機(jī)視覺箕别,有一篇水的會議論文、一篇水的期刊論文滞谢,有ACM等算法競賽和數(shù)據(jù)挖掘類競賽獲獎經(jīng)歷串稀,在導(dǎo)師和Github上都有項(xiàng)目。除了谷歌投的是SWE狮杨,其它都是算法崗母截。
Warm up: Google mock interview
1月31日,GCJ獲得資格橄教,45min清寇。?
算法題:有一個n乘n的棋盤,上面有m個糖果护蝶,最開始有一個人在棋盤左上角华烟,他可以向左向右或者向下移動,但不能向上移動持灰,問他最少需要多少步吃完所有糖果盔夜。?
正解:一個糖果或者沒有糖果的行很簡單,多于一個糖果的行其實(shí)一定是從最左或最右的糖果處下去,所以只需要維護(hù)吃到每一行最左或最右糖果的最小值就行了喂链,轉(zhuǎn)移的時候討論上一行的端點(diǎn)在這一行最左到最右區(qū)間的里面還是外面返十。?
詳細(xì)經(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分鐘龙亲,寫并查集的解法讓我看看陕凹?寫了第三個解法。
整體就是這樣鳄炉,一共手寫了三套解法丑婿,重點(diǎn)考察了數(shù)據(jù)結(jié)構(gòu),由于最后一個解法時間比較緊永脓,被面試官挑出兩個bug神妹。基本算滿意,有一些小瑕疵珊豹。詳細(xì)經(jīng)歷看這篇文章簸呈。
3月23日,通知狀態(tài)變?yōu)閔old店茶,介于過和拒之間的狀態(tài)蜕便。內(nèi)推的同學(xué)說投的太遲了,很多人過年前投的贩幻,過完年就開始面試了轿腺,到了3月中旬崗位不多了。怪不得我說一面感覺也不差怎么就hold了丛楚,所以謹(jǐn)記族壳,內(nèi)推實(shí)習(xí)生一定要早投!Hば仿荆!
秒殺筆試算法題,4月24日坏平,面試去現(xiàn)場…
40min拢操,面試官是我整個實(shí)習(xí)生面試期間遇到的最棒的面試官。?
- 編譯工程的各個文件間有相互依賴舶替,如果想編譯通過需要滿足什么條件令境?有向無環(huán)圖。?
- 給定文件間的依賴關(guān)系顾瞪,怎么判斷一個工程是否能編譯通過舔庶?拓?fù)渑判颍缓蟀装鍖懥送負(fù)渑判颉?
- 如何找出所有合法的編譯順序陈醒?深搜+拓?fù)渑判蚱苘裕装鍖懥艘幌隆?
- 才過去15分鐘,你寫的也太快了孵延,我們聊些深度學(xué)習(xí)的東西吕漂,問了卷積的基本原理,簡單計(jì)算了感受野尘应、參數(shù)數(shù)量惶凝。?
- 聊了放在github上的一個唐詩生成器。
我想這一面給的一定是strong hire
40min犬钢,典型程序員苍鲜,一句廢話都沒有。?
- 白板寫個單鏈表的冒泡排序玷犹。先走一遍統(tǒng)計(jì)長度再冒泡混滔。?
- 能不能優(yōu)化?想了一會兒沒什么想法,面試官提示記錄尾部節(jié)點(diǎn)坯屿。然后白板寫了一遍用tail記錄每一次冒泡的結(jié)尾油湖。?
- CNN有哪些基本單元和作用?卷積领跛、pooling乏德、fc等等說了一大堆?
- Relu的原理,與sigmoid比優(yōu)缺點(diǎn)吠昭?求導(dǎo)喊括、畫圖說明了一下,不容易梯度消失矢棚,但是會導(dǎo)致神經(jīng)元死亡郑什。
除了面試官提示了一次記錄tail節(jié)點(diǎn),其余還好蒲肋。
40min蘑拯,Boss面,可能是看前兩面寫代碼反饋不錯肉津,所以把紙收起來了,沒寫代碼舱沧。?
- 把論文從background到conclusion都講了一遍妹沙。?
- 講了在老板這里做的一個項(xiàng)目的詳細(xì)設(shè)計(jì)。
然后基本聊聊天熟吏。應(yīng)該還挺滿意的吧距糖,最后加了我微信,說很希望我能去他們組牵寺,受寵若驚昂芬!
4月28日帽氓,收到微軟C信趣斤,5月9日,收到微軟offer黎休!
通過Github被阿里獵頭選中浓领,本來他的期望是招前端,我覺得不OK势腮,跟他說了一下我的情況联贩,然后轉(zhuǎn)而把我推到機(jī)器學(xué)習(xí)算法崗去了……
3月23日,45min捎拯,全程緊張泪幌,面試官一直讓我放松。?
- 自我介紹,然后根據(jù)自我介紹問項(xiàng)目祸泪,一共40分鐘吗浩。?
- 最后5分鐘算法題:
有一些字符串,定義前后字符差值形成的序列一致的兩個字符串為相同字符串浴滴,問如何將給定的這些字符串分成若干集合拓萌,每個集合中字符串都滿足相同字符串的定義。?
解法:將差值序列作為hash表的key升略,形成的集合用一個vector或者map隨便什么作為value就行了微王。?
面試官說很OK,自己面下來感覺也很好品嚣。
4月14日炕倘,周六面試…,25min翰撑,似乎是被我的項(xiàng)目震驚了罩旋。?
遲來的二面,因?yàn)?4日是網(wǎng)申截止眶诈,而網(wǎng)站上一直是面試中的狀態(tài)涨醋,所以我一直以為涼了,而面試官說這一面應(yīng)當(dāng)屬于三面逝撬?我也不是很懂浴骂。?
面試官只問了兩個項(xiàng)目,問得比較細(xì)宪潮,連里面有什么函數(shù)溯警,函數(shù)怎么設(shè)計(jì)的,類之間的繼承關(guān)系都問了一遍狡相,然后就說很好梯轻,看了一眼我的github,又問我平時是怎么學(xué)習(xí)的尽棕?怎么做這么多項(xiàng)目的喳挑??
最后又跟我說面試過應(yīng)該沒什么問題,而且較大概率去他的團(tuán)隊(duì)滔悉,然后就夸他們團(tuán)隊(duì)怎么怎么好…?
我全程懵逼…這就面試完了蟀悦??氧敢?
4月26日日戈,70min,三個面試官孙乖,其中一個推進(jìn)流程串場浙炼。?
達(dá)摩院大佬:45min?
- 說說深度學(xué)習(xí)調(diào)參的過程和一些常見技巧份氧?網(wǎng)絡(luò)結(jié)構(gòu),Data Augmentation弯屈,初始化蜗帜,防止過擬合的方法,可視化調(diào)試资厉,優(yōu)化方法等等厅缺,想到什么說什么。說的比較亂宴偿,自己對自己的回答不是很滿意湘捎。?
- 面試官對深度學(xué)習(xí)和CV很有研究,具體聊了論文窄刘,讓我總結(jié)目標(biāo)檢測的主流方法窥妇,詳細(xì)說了Faster-RCNN、YOLO娩践、SSD活翩、FPN、R-FCN等各種目標(biāo)檢測的方法翻伺〔男梗可以看出,面試官對里面的細(xì)節(jié)不是很清楚吨岭,但是提的問題很有質(zhì)量拉宗。
搜索事業(yè)群大佬:25min,這個我就真的懵逼了?
- 我們有一個業(yè)務(wù)系統(tǒng)未妹,每天要處理1000萬次服務(wù)請求簿废,如何設(shè)計(jì)這個系統(tǒng)空入?我络它??歪赢?靠著寫分布式系統(tǒng)大作業(yè)的老底化戳,勉強(qiáng)擠了一點(diǎn)出來。?
- 你覺得有哪些機(jī)器學(xué)習(xí)技術(shù)能用在搜索事業(yè)群埋凯?為什么点楼?亂講了一些,希望他滿意白对,基本包含了所有機(jī)器學(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í)減少計(jì)算開銷切端,同樣充分利用數(shù)據(jù)量:k-means彻坛、DBSCAN、譜聚類等聚類方法踏枣,PCA昌屉、SVD、ISOMAP椰于、T-SNE等降維方法怠益;?
強(qiáng)化學(xué)習(xí)可以利用用戶的反饋;?
后來擠牙膏想到的一些其它方法:bagging瘾婿、boosting集成學(xué)習(xí)方法提升精度蜻牢,矩陣分解、協(xié)同過濾等推薦算法偏陪。
真的不知道該怎么答抢呆!
5月2日,30min笛谦,以自我介紹為主線抱虐,我說完一點(diǎn),她就會問點(diǎn)問題饥脑,比如做的項(xiàng)目是research還是面向?qū)嶋H需求的恳邀。主要說說非技術(shù)問題吧:?
- 家在哪里,家里人同意來杭州嗎灶轰?不同意也得說同意啊谣沸。?
- 為什么選擇阿里?為什么選擇這個職位笋颤?準(zhǔn)備充分乳附,背誦一下。?
- 你有什么問題伴澄?我問阿里對實(shí)習(xí)生有培訓(xùn)嗎赋除?我們對實(shí)習(xí)生不會有太多培訓(xùn)!?
- 什么時候能來實(shí)習(xí)非凌?我覺得這個問題她不滿意举农,因?yàn)樗M荫R上過去實(shí)習(xí),實(shí)際上我是不可能馬上過去實(shí)習(xí)的敞嗡,然后HR說實(shí)習(xí)時間短可能會影響轉(zhuǎn)正啊balabala颁糟。我在招聘網(wǎng)站上寫的好好的時間祭犯,你接受了我的申請就是同意了我的實(shí)習(xí)時間,現(xiàn)在看來滚停,他們大約只是想招個苦力沃粗。由于我堅(jiān)持不能馬上過去實(shí)習(xí),HR態(tài)度發(fā)生了很大轉(zhuǎn)變键畴。
聽已經(jīng)實(shí)習(xí)的說最盅,阿里實(shí)習(xí)生晚上九點(diǎn)都沒有人走的,看看我的發(fā)際線起惕,還是別那么拼命吧涡贱。
5月9日,收到阿里offer惹想。
3月16日问词,30min,我見過的最不負(fù)責(zé)任的面試官嘀粱。?
遲到早退激挪,完全沒有心思面試,只問了簡單的算法題锋叨,連字符串翻轉(zhuǎn)這種題都出來了…?
然后聊了項(xiàng)目垄分,問的問題極其外行,最后笑嘻嘻走了娃磺?薄湿??
4月25日21點(diǎn)偷卧,60min豺瘤,把我當(dāng)備胎了吧,一面那個面試官真不想吐槽了听诸,就這樣面試下來就把我當(dāng)備胎了坐求?好在二面的面試官很專業(yè),挽回一些美團(tuán)的形象蛇更。?
- 搜索框內(nèi)的候選項(xiàng)怎么實(shí)現(xiàn)瞻赶?A.統(tǒng)計(jì)前綴詞語條件下赛糟,每個詞出現(xiàn)的概率派任,用哈希表或者字典樹存儲,適當(dāng)剪枝璧南。B.用機(jī)器學(xué)習(xí)模型掌逛,如:LSTM等,根據(jù)前綴詞預(yù)測當(dāng)前詞司倚。?
- 簡述LR豆混,有一些用戶屬性和購買記錄篓像,如何用LR給他們做推薦?基本是數(shù)據(jù)挖掘比賽那一套講講就行了皿伺,問的很細(xì)员辩,從最開始的數(shù)據(jù)清洗到特征工程到后面的集成都會問。?
- 有一個無限長的數(shù)字序列鸵鸥,大到存儲其中所有數(shù)是不可能的奠滑,序列不斷傳輸過來,在某一個時刻喊停妒穴,要求以均等概率返回之前已經(jīng)傳過來的某一個數(shù)宋税。每過來一個數(shù),就以1/n的概率保留讼油,這樣只要存當(dāng)前留下來的數(shù)返回就可以了杰赛。
4月28日,45min矮台。?
說說比賽乏屯、項(xiàng)目、github開源瘦赫、從系統(tǒng)的架構(gòu)到每一個模塊的細(xì)節(jié)都問了一遍瓶珊。問我有哪些offer,說自己在螞蟻呆過耸彪,都是水貨寫業(yè)務(wù)沒什么意思伞芹,吹美團(tuán)這邊的數(shù)據(jù)是百億級別的?咱能不這么浮夸嗎蝉娜?
5月3日唱较,收到美團(tuán)offer。
一些投了召川,但是沒能面試的
因?yàn)樽屛胰ケ本┈F(xiàn)場面試但是不報(bào)銷費(fèi)用被我主動掛了南缓。而且要吐槽一下,京東有圖像標(biāo)注實(shí)習(xí)生的崗位荧呐,要求吃苦耐勞汉形,這是什么鬼?
我讓師兄內(nèi)推倍阐,他們老大看了一眼簡歷就說應(yīng)該能來吧概疆,面試水水的…?
后來知道所投崗位已經(jīng)差不多滿了,要轉(zhuǎn)崗峰搪,也被我主動掛了岔冀。
投了簡歷,沒理我概耻,后悔沒找校友內(nèi)推使套!聽說內(nèi)推的基本都進(jìn)了罐呼?
投了簡歷,沒理我侦高,南京招的人比較少嫉柴。
筆試沒有參與聚眾討論,筆試掛了奉呛,題目一點(diǎn)誠意都沒有差凹,全都一樣的,就是為了把不作弊的刷掉侧馅?今年招的人很多啊危尿,各種水進(jìn)去的,而我連水的機(jī)會都沒有馁痴,不開心谊娇!
最大的感受是:有項(xiàng)目就可以一直吹,雖然我準(zhǔn)備了罗晕,但幾乎沒遇到問數(shù)學(xué)公式推導(dǎo)和操作系統(tǒng)济欢、計(jì)算機(jī)網(wǎng)絡(luò)背概念的面試官,大多數(shù)是就簡歷問小渊,也有結(jié)合業(yè)務(wù)場景讓設(shè)計(jì)方法的法褥。我靠,枉我看了那么長時間的西瓜書和本科教材…?
總的來說酬屉,差強(qiáng)人意半等,因?yàn)楣雀璞懒瞬磐读诉@么多亂七八糟的,keep calm and stay strong!