1. 程式人生 > >【面經】百度NLP演算法實習生--9.17

【面經】百度NLP演算法實習生--9.17

9月17下午2點面的百度富媒體組的演算法崗,總共面了我3個小時,本來以為已經掛在四面上了,在面試過程中也覺得自己一度要掛,最後在18號中午11.30左右接到HR的電話說最後過了,收到offer還是挺驚訝的,也算是我第一次面過BAT的大公司了。

一面—計算機基礎面
1.40到的公司,部門所在的地方不是百度的總部,想想當時去新浪面的時候看到百度的地盤,還是挺想去參觀一下的。唉,稍微有點可惜。一面面試官是個妹子,也是我第一次遇到女生的技術面試官,也是我面百度最慌的一面(真的全是計算機基礎)

  1. 先自我介紹一下自己吧(balabala)
  2. 背得不錯嘛(hhh),看你簡歷上寫到熟悉linux環境,講講你熟悉的linux終端指令吧(自己沒想到會問這些東西,一上來不問實習不問專案也不問機器學習深度學習直接問Linux,硬著頭皮說自己熟悉的指令。)
  3. 嗯,你知道awk指令嗎(知道,但要看著教程才能寫,用於處理一些文字,自己平時會用vim來處理文字)
  4. 找home下所有的以.dat結尾的檔案用什麼指令(find–不怎麼用,開始慌),還問了幾個指令忘記了。
  5. 講講你對hadoop過程的理解吧(從HDFS開始講,再講了mapper和reducer)
  6. 說一說靜態連結和動態連結的區別吧(沒答上來,真的覺得自己涼涼,這些計算機基礎自己好久沒看了,這裡自己有反問她問什麼問我這些計算機基礎,這些在你們平時工作中起到什麼作用)
  7. 講講TCP/IP的握手和揮手吧(沒學過計算機網路,覺得大概一面就掛了)
  8. 那我們做個題吧,手寫一下歸併排序(以為只是最後走了流程寫寫程式碼了,有點小氣自己的專案實習全部不問,然後就寫了個歸併排序,跟她講了講歸併排序的過程–中途有一個小點還寫錯了)
  9. 在寫一個吧,一個unsigned int的數二進位制有多少個1(位運算操作,有很多思路,我寫的和她想到的不是一個思路,我們兩個也交流了一下)
  10. 那在問你一個,一個遞增的陣列,怎麼把陣列轉化成一個二叉搜尋樹(遞迴過程,去中位數為父節點,寫程式碼中有一個遞迴的地方考慮用佇列,然後沒寫完就被她叫停了,說思路時對的,程式碼要寫得比較久久先到這吧)

一下子問了三道資料結構題,又燃起了一點點希望,後面的面試也沒有手寫程式碼這一塊了,然後她就說你計算機基礎這一塊比較薄弱,我這裡還是給你過了,我去聯絡下下一面的面試官

二面–專案面
這一面開始就比較靠近演算法在這一塊了,面起來也順了很多。

  1. 講講你的QA系統的專案吧
  2. 看你用了CRF處理序列標註,跟我講講CRF吧(結合HMM和他講了講,HMM的條件假設,CRF的全域性歸一,以及引數量的問題)
  3. BI-LSTM比LSTM有什麼優勢(反向的LSTM得到後面時序的上下文)
  4. LSTM為什麼不適合處理長文字(長時序還是會有梯度的消失–其實自己不是很理解)
  5. 畫一個LSTM的內部結構吧,跟我講講遺忘門和輸入門,可不可以調換順序,可不可以刪除(畫圖,然後說都不能,跟他講了講GRU模型的優化)
  6. 講講batch_size和learning rate的關係吧(batchsize越大,每條資料的learning rate應該會小(自己也不確定),但是有可能難以收斂,且太大會出現記憶體問題)
  7. 你有什麼問題要問我(問了覺得我表現得怎麼樣,然後問了個他問我我自己覺得答得不好的問題)

他說感覺我在模型這一塊還是瞭解得不錯,然後跟我說了說業務上的東西,說上一面面試官反饋不是很熟悉工程。然後讓我等下一面

三面–機器學習基礎面
這一面問了些機器學習的基礎,然後加上一點NLP

  1. 跟我講講SVM的核函式的理解吧(SVM用一個超平面進行分類,對於一些在空間中線性不可分的問題,可以通過核函式轉化到高維空間再進行分類,然後自己再和他說了說常用的核函式)
  2. 說一說GBDT和RF的區別吧(模型本來就完全不一樣,然後首先說了一下在偏差和方差層面上側重點不一樣,在具體講了講這兩個的處理流程)
  3. GBDT怎麼處理過擬合的呢(XGBOOST中有講,面試過程中只記得加了正則了)
  4. 我們討論個題吧。有多個大檔案,不能直接用記憶體讀,每個檔案的每一行都是一個字串,要統計在這些檔案中出現過大於一次的字串。(應該有很多思路吧,我說了三個,第一個使用hadoop來進行處理;第二個講字串構成字典樹處理,節省記憶體;第三是利用檔案系統來處理,不依賴記憶體)
  5. 講講Word2Vec訓練詞向量的過程吧(講了CBOW和skip-gram兩個模型,講了其中的具體思路以及兩者的優劣)
  6. 講講你對LR的輸出值y的理解(取到某一個類的概率)
  7. 那如果我把負樣本下采樣後的結果的y值又是什麼意思呢(完全沒有聽懂他想問什麼,最後解釋了也沒聽懂)

最後主動介紹了一下工作上的業務,然後讓我等下一面面試官(居然還有下一輪,面得也太jb久了吧)

四面–總監(經理)面
這輪是他們團隊的經理面,完全不問技術,就聊聊人生,對我的性格上也提了一些問題

  1. 你對你的未來有什麼打算以及規劃?
  2. 講講你之前面試失敗的經歷
  3. 你性格上有什麼缺點?
  4. 績點不是很高啊。。。
  5. 在學校學了這麼久有什麼感受?
  6. 對加班這一塊有什看法?
  7. 你有什麼問題要問我?

最後我問他結果怎麼樣,他說不知道讓我回去等訊息,而且我以為最後一面會是HR面,以及在聊成績和加班的過程中他一直在反駁我,我就以為我涼了,晚上回去還挺氣憤了(面了3個多小時莫名其妙掛了我),不過也蠻對不起一面的小姐姐的,有點嗆她。
最後在18號上午11.30收到了HR電話通知面試過了,也算有個好的結果。