1. 程式人生 > >百度機器學習實習面試經歷

百度機器學習實習面試經歷

一面:

上來應該先看的是專案。我專案裡有一個關於無監督聚類的研究,他問了一下有監督和無監督的區別,我的回答他應該不滿意。

接下來問的是程式語言,問主要問C和C++,比如C++的virtual關鍵字,C的friend關鍵字,inline關鍵字的作用和具體是怎麼實現的,這一塊C好久沒有複習過了,答得非常不好。

Python用過什麼內建的資料結構。

由於語言那塊答得不好,所以接下來問的問題明顯簡單了好多,這也是導致面試沒過的最直接原因吧,還是沒能發揮出自己的優勢來。

問了一下LR的損失函式,SVM的損失函式,稍微講一下原理。

問了一下矩陣秩的幾何意義,這個概念具體有什麼用。

寫一個連結串列的資料結構,連結串列和陣列的區別,在記憶體中的存放。

演算法題:走臺階問題,n個臺階,一次走一步或者兩步,最後走n階有多少種方法。讓用兩種方法實現,遞迴和非遞迴。

問了問資料庫。這塊我不熟悉,也是面試失敗的一個主要原因,問了問正規化有什麼用,為什麼用的時候不用級數很高的正規化。

問了問kaggle上的做過的一個專案,簡單介紹了一下。

Linux的知識,問用沒用過linux,查詢目前系統中執行的程式有哪些用什麼命令。

說一下自己的優缺點。

寫一下網路的7層協議,幀在哪一層,socket在哪一層。

問知不知道hadoop,以wordcount為例子來說一下hadoop的資料走的流程,在sort階段發生在什麼時候。

知道哪些聚類方法。

想在他們那實習得到什麼。

接下來就是一些閒聊了。

二面:

上來還是自我介紹,在說說自己做過的專案,然後稍微聊了一下專案的東西。

接下來給一個題,去掉字串中相鄰字元中的重複字元,比如abbcdb,處理完是abcdb,我用的是On的時間O1的空間

然後又給了一個題,讓完成一個類,這個類有兩個介面,其中一個介面在每次使用者訪問百度的時候都會執行一次,第二個介面返回最近一個小時使用者的訪問次數,也就是那個介面運行了多少次,類中的資料結構自己設計。讓完成這兩個函式。這個我沒做出來,有會的朋友可以留言告訴我一下具體怎麼做,非常感謝。

然後又問了問做的那個kaggle的專案,然後問了問LR,問LR的損失函式,向量更新的時候有什麼方法(牛頓,梯度下降),牛頓和梯度下降的原理,這兩個收斂的速度怎麼樣,所謂的收斂快中的快是以什麼為標準理解這個”快”。

之後說出去商量一下,然後。。。就沒然後了,告訴我今天面試結束,直接把我送出去了。

總結:

一面面的知識範圍太廣泛了,自己有的地方屬於知識的盲點,面試一開始就瘋狂地“我對這塊不怎麼了解”,導致面試官降低對我的期望,比如面向物件,資料庫,基本就宣告了我的GG。

二面面試官比較著急,問的沒有那麼廣了,但是深度上來了,雖然能說一些,但是被步步逼問就GG了。

問題是沒有發揮出自己的優勢,我的演算法題還是不錯的,但是面試中的演算法題實在是有點簡單了,根本構不成自己的加分項,而扣分項太多了。

接下來要好好學一下Java了,面試對語言的重視程度還是挺高的,要對語言的一些細節有清楚地瞭解。