作者:CHEONG
研究方向:自然語言處理與知識(shí)圖譜
前言:若需獲取本文全部的手書版原稿資料,關(guān)注公眾號(hào)回復(fù): 百度面經(jīng) 即可獲取。原創(chuàng)不易,轉(zhuǎn)載請(qǐng)告知并注明出處!
本文分享八位碩博大佬的百度之旅,本八位和字節(jié)篇的八位有重合但不完全相同,在分享面經(jīng)前先來聊一聊備戰(zhàn)秋招需要做的準(zhǔn)備工作。
1、簡歷:不言而喻,一份漂亮的簡歷非常重要。那如何制作,這里提三點(diǎn)意見:
1)在經(jīng)驗(yàn)不足時(shí)多看一些優(yōu)秀的簡歷,按照別人簡歷臨摹敘述自己的經(jīng)歷;
2)在簡歷制作好后,找有經(jīng)驗(yàn)的人提意見,幫忙修改,反復(fù)打磨;
3)學(xué)會(huì)對(duì)自己項(xiàng)目進(jìn)行包裝,但特別忌諱過度包裝,一定對(duì)寫在簡歷上每一點(diǎn)都爛熟。
2、時(shí)間:對(duì)秋招的印象有的還停留在金九銀十。但2020年秋招提前批從6月中旬就已經(jīng)開始了,然后各大公司的秋招面試都集中在七八月,九月雖然還有正式批,但很多hc都已被提前批占用,加上暑期實(shí)習(xí)轉(zhuǎn)正占用的hc,正式批剩下的已經(jīng)不多了。所以一定要提前準(zhǔn)備。而對(duì)于想通過暑期實(shí)習(xí)轉(zhuǎn)正的同學(xué),秋招從3,4月份的暑期實(shí)習(xí)面試就已經(jīng)拉開序幕了。
3、消息:在秋招期間一定要保持消息暢通,注意關(guān)注各大公司的官網(wǎng)或官方公眾號(hào),及時(shí)接收和秋招相關(guān)的信息。不要因?yàn)殄e(cuò)過信息而錯(cuò)過重要的面試機(jī)會(huì)。
4、前輩:秋招時(shí)有個(gè)靠譜內(nèi)推人真的是事半功倍,在秋招時(shí)比較忌諱的就是簡歷投出去之后完全被動(dòng)的等待,這樣每一面之后都可能是漫長的等待,所以如果有內(nèi)推人就可以提速面試流程,而且可以通過內(nèi)推人打聽相關(guān)消息,讓秋招時(shí)的焦慮少一些。
5、同伴:秋招還算是一個(gè)持久戰(zhàn),從面試->接受意向書->談薪->簽三方整個(gè)過程將近半年,比如今年六月中旬就開始面試,這都快12月份了還沒有結(jié)束。所以隊(duì)友或者說戰(zhàn)友就非常重要,和自己的同學(xué)朋友在秋招中互幫互助,分享重要訊息和心情起伏,讓秋招不只是孤軍奮戰(zhàn),也就不會(huì)那么艱難了。
接下來還是分享一下算法崗面試流程, 以及每個(gè)環(huán)節(jié)的注意事項(xiàng)。面試中大致分為自我介紹,項(xiàng)目介紹,算法基礎(chǔ),代碼考察,開放性考題和提問等六個(gè)環(huán)節(jié),下面介紹這幾塊的注意事項(xiàng)。
自我介紹在面試開始時(shí)基本都會(huì)有,因此肯定是要提前準(zhǔn)備好的,自我介紹內(nèi)容不要太長,就是把你覺得是亮點(diǎn)的地方簡單的提出來,當(dāng)然凡事由你主導(dǎo)在面試中介紹的環(huán)節(jié),都可以嘗試在介紹中有意的引導(dǎo)面試官接下來的面試朝著你熟悉的領(lǐng)域提問,還是非常奏效的。因?yàn)榇蠖鄶?shù)面試官在對(duì)你進(jìn)行面試前可能剛從自己的手頭的工作脫離出來,對(duì)你以及你的簡歷都不是很了解,因此你在介紹中的引導(dǎo)就會(huì)很好的起到作用。
項(xiàng)目介紹,介紹2-3個(gè)你認(rèn)為重要的;主要要點(diǎn):出發(fā)點(diǎn),問題難點(diǎn),contribution, 輸入輸出,模型重點(diǎn), 自己工作占比,最終的結(jié)果。一定要提前算好內(nèi)容,要有邏輯條理,分點(diǎn)介紹。因?yàn)榫o張,說不出來,或者拼命說很多細(xì)節(jié)導(dǎo)致超時(shí),都是不可取的。項(xiàng)目也是面試時(shí)重中之重的一個(gè)環(huán)節(jié),和coding二兄弟基本霸占所有面試時(shí)間然后二分。因此首先要對(duì)寫在簡歷上的項(xiàng)目十分熟悉,每個(gè)細(xì)節(jié)都得清清楚楚。面試多了你會(huì)發(fā)現(xiàn)面試官總會(huì)發(fā)現(xiàn)你項(xiàng)目中之前你沒考慮到的點(diǎn),所以對(duì)項(xiàng)目多角度思考總是好的。
算法基礎(chǔ)這塊就是指機(jī)器學(xué)習(xí)基礎(chǔ)算法和深度學(xué)習(xí)算法,當(dāng)然你所研究方向當(dāng)前最火的模型也是經(jīng)常會(huì)被提問到的。NLP領(lǐng)域不得不提的,面試必問到的當(dāng)屬Bert這個(gè)模型了,因此對(duì)這種大家常提到的自己也必須清楚。而機(jī)器學(xué)習(xí)和深度學(xué)習(xí)基礎(chǔ)就要考平時(shí)的積累,當(dāng)然這塊也可以臨時(shí)抱佛腳的哦,因?yàn)槊嬖嚬俪柕膯栴}其實(shí)比較集中,多看看面經(jīng)多背一背。當(dāng)然這樣肯定是經(jīng)不住大佬細(xì)問的,問的深了就蒙圈了。所以平日有空還是多學(xué)習(xí)學(xué)習(xí),基礎(chǔ)知識(shí)不能丟。
代碼考察,這塊不用多說了,非常非常非常重要,推薦劍指offer,Leetcode和牛客上熱門考題,刷題吧少年。
開放性問題這里可分為兩塊吧,一類就是智力題,這一類面試前確實(shí)不太好準(zhǔn)備,大多需要面試時(shí)臨場(chǎng)發(fā)揮,但也不用慌張,首先很少面試時(shí)還是很少會(huì)碰到,碰到的話就冷靜思考把自己的想法說出來,展示自己一本正經(jīng)(天馬行空)的思考,只要?jiǎng)e說一句我不會(huì)就OK。還有另一類就類似上面4中那樣,問你對(duì)公司的看法,建議就是在不違和的情況下請(qǐng)盡情跪舔,哈哈哈當(dāng)然還是看你自己啦。比如我沒有舔然后就跪了,雖然不知道是不是和這個(gè)有關(guān)。但試想一下,你對(duì)他公司的認(rèn)可肯定也是他選擇你的理由之一啊。
提問環(huán)節(jié)時(shí)可以利用這個(gè)機(jī)會(huì)了解一下自己所面試的團(tuán)隊(duì)做什么,是否和自己匹配等等。只要不犯傻去問工資,感覺都問題不大。
一、博士大佬W(2輪技術(shù)已OC)
1、自我介紹
2、項(xiàng)目介紹
1)介紹了一個(gè)做的推薦比賽的項(xiàng)目,以及模型的優(yōu)化過程稿
3、算法基礎(chǔ)
1)手寫auc的計(jì)算,延伸問了一些比如很大的數(shù)據(jù)量如何計(jì)算auc
2)問了一下機(jī)器學(xué)習(xí)的基礎(chǔ),和深度學(xué)習(xí)基礎(chǔ),印象中是lgb,xgb,ctb
3)問了幾個(gè)linux和C++的問題
4、代碼考察
1)二維數(shù)組中的查找
2)快速排序
3)兩個(gè)鏈表的第一個(gè)公共節(jié)點(diǎn)
5、開放性問題
6、提問環(huán)節(jié)
二、碩士大佬A(3輪技術(shù)面已OC)
1、自我介紹
2、項(xiàng)目介紹
1)問做過的research,實(shí)驗(yàn)效果,現(xiàn)在做的topic別人主要是怎么做的呢,具體的細(xì)節(jié)?
2)正在做的idea,能不能應(yīng)用到別的領(lǐng)域呢?
3)問做過的項(xiàng)目,具體的流程和細(xì)節(jié)?
3、 算法基礎(chǔ)
1)ROC曲線是什么,ROC曲線的坐標(biāo)軸什么含義,曲線和面積有什么物理含義
2)Dropout的原理,什么時(shí)候用,怎么用,dropout訓(xùn)練和預(yù)測(cè)的時(shí)候有什么區(qū)別,預(yù)訓(xùn)練和finetune的時(shí)候有什么區(qū)別
4、 代碼考察
1)最長子數(shù)組和
2)循環(huán)數(shù)組的最長子數(shù)組和
3)編輯距離
4)在一棵搜索二叉樹里,找到比目標(biāo)值大的最小值(限時(shí)14分鐘)
5、開放性問題
1)你做過的最成功的事情
2)你做過的最失敗的事情
3)你的優(yōu)點(diǎn)和缺點(diǎn)
6、提問環(huán)節(jié)
1)業(yè)務(wù)和技術(shù)棧,績效怎么分配
2)一共有幾輪面試
三、碩士大佬B(鳳巢三輪技術(shù)面)
1、自我介紹
2、項(xiàng)目介紹
1)Bert的word piece對(duì)于中文詞表的一個(gè)好處,詞表變小也可防止OOV
2)Bert中用的LN,LN和BN有什么區(qū)別,為什么Bert用LN
3)在模型訓(xùn)練的時(shí)候有什么技巧和經(jīng)驗(yàn),比如loss不收斂等情況
3、算法基礎(chǔ)
1)優(yōu)化器在模型訓(xùn)練時(shí)使用經(jīng)驗(yàn)
4、代碼考察
1)實(shí)現(xiàn)前綴樹的插入,查找以及某一個(gè)前綴的所有詞查找
2)一個(gè)人從家往公司走,只有一條路徑,有東西南北四個(gè)方向,現(xiàn)在求這個(gè)人往東南走的最遠(yuǎn)的距離
5、開放性問題
1)廣告系統(tǒng)設(shè)計(jì),圖對(duì)廣告的點(diǎn)擊率是印象很大的,因此如果從知識(shí)圖譜的角度考慮這個(gè)問題
2)醫(yī)美相關(guān)query搜索到相關(guān)結(jié)果,如果從搜索的結(jié)果中抽出有用的信息
3)其他offer及秋招進(jìn)展等相關(guān)問題
6、提問環(huán)節(jié)
1)面試部門業(yè)務(wù)方向
四、碩士大佬C
1、自我介紹
2、項(xiàng)目介紹
1)介紹項(xiàng)目,并探討了模型方案是否可以優(yōu)化
3、算法基礎(chǔ)
1)L1和L2正則
2)BN和LN的區(qū)別和用法
3)神經(jīng)網(wǎng)絡(luò)防止過擬合的方法
4)Dropout用法
5)xgboost和gbdt
5)transformer?比rnn優(yōu)越在哪?
6)LSTM中的各個(gè)門的計(jì)算公式和作用
7)python裝飾器用法
4、代碼考察
1)無序數(shù)組第k大的數(shù)
2)實(shí)現(xiàn)迪杰斯特拉算法
5、開放性問題
6、提問環(huán)節(jié)
五、碩士大佬D
1、自我介紹
2、項(xiàng)目介紹
1)詳細(xì)探討了項(xiàng)目,如何解決數(shù)據(jù)不均衡問題
3、算法基礎(chǔ)
1)怎么進(jìn)行單詞劃分與 Embedding;
2)Attention 是什么,怎么做的?知道有哪幾種 Attention;
3)Transformer、LSTM 和單純的前饋神經(jīng)網(wǎng)絡(luò)比,有哪些提升;
4)為了解決長依賴,有哪些模型,是怎么做的?LSTM 和 GRU 細(xì)節(jié);
5)決策樹是如何分裂節(jié)點(diǎn)的,分裂的增益怎么算的;
4、代碼考察
1)Python 兩個(gè)無序數(shù)組去重合成一個(gè)升序數(shù)組
2) 判斷一個(gè)點(diǎn)是否在多邊形內(nèi)
5、開放性問題
1)怎么判斷文本低質(zhì)量?
2)怎么判斷文本涉及黃恐暴?
6、提問環(huán)節(jié)
六、碩士大佬E
1、自我介紹
2、項(xiàng)目介紹
1)介紹項(xiàng)目中用到的模型
3、算法基礎(chǔ)
1)介紹激活函數(shù),激活函數(shù)的區(qū)別
2)反卷積是怎么做的, unpooling中maxPooling怎么實(shí)現(xiàn)
3) BERT 的變種?聊了下 ALBERT,知道模型蒸餾嗎?談了下原理
4、代碼考察
1)旋轉(zhuǎn)排序數(shù)組
2)二叉樹的前中后序遍歷,讓遞歸非遞歸實(shí)現(xiàn)
3)a~z和A~Z代表0到51,如何將52進(jìn)制轉(zhuǎn)化為10進(jìn)制
5、開放性問題
1)最近看的論文有哪些,介紹一篇印象最深的
2)一個(gè)系統(tǒng),當(dāng)一個(gè)id登陸和退出的時(shí)候的時(shí)間都是記錄的,如何統(tǒng)計(jì)當(dāng)天每個(gè)時(shí)段的人數(shù)
6、提問環(huán)節(jié)
七、碩士大佬F
1、自我介紹
2、項(xiàng)目介紹
1)介紹項(xiàng)目中遇到的最大的困難,是怎么解決的
3、算法基礎(chǔ)
1)python 深淺拷貝,可變與不可變類型、原因,垃圾回收技術(shù)
2)Word2vec 怎么采樣負(fù)樣本,有哪些方法?
3)度量學(xué)習(xí)了解嗎?Triplet loss 知道嗎?
4)Python 中變量的作用域有哪些?
4、代碼考察
1)給定一個(gè)字符串,找出第一個(gè)重復(fù)字符,時(shí)間/空間復(fù)雜度,如何優(yōu)化
2)兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列,如何優(yōu)化
3)給定n個(gè)數(shù),找出pair的個(gè)數(shù),滿足 x&y >= x^y
5、開放性問題
1)實(shí)習(xí)中的難點(diǎn)
2)最近經(jīng)歷過最有壓力的事情
3)目前offer,對(duì)職位的期望
6、提問環(huán)節(jié)
八、碩士大佬G
**1、自我介紹
**
2、項(xiàng)目介紹
1)介紹實(shí)習(xí)項(xiàng)目
3、算法基礎(chǔ)
1)GBDT中使用了殘差,為什么此時(shí)用負(fù)梯度可以擬合殘差
2)Word2vec講一下,你比較熟悉哪個(gè)模型
3)Skip-gram的負(fù)采樣詳細(xì)說說,負(fù)采樣是怎么采的
4)CNN與RNN有什么區(qū)別,RNN和LSTM區(qū)別
5)兩個(gè)正則化的參數(shù)分布,介紹先驗(yàn)分布與后驗(yàn)分布
6)生成模型與判別模型區(qū)別
7)大規(guī)模LR參數(shù)稀疏解怎么求
4、代碼考察
1)兩個(gè)節(jié)點(diǎn)的最近公共父節(jié)點(diǎn)
2)尋找兩個(gè)正序數(shù)組的中位數(shù)
3)LRU緩存機(jī)制
5、開放性問題
1)搜索廣告系統(tǒng)怎么設(shè)計(jì)
6、提問環(huán)節(jié)