1. 程式人生 > >2016校招百度美團360機器學習崗面試經歷

2016校招百度美團360機器學習崗面試經歷

機器學習崗位

原文地址:http://blog.csdn.net/u014365862/article/details/50889976

今天下午在教室自習,順便還投了一些公司,準備筆試面試,突然接到百度hr的電話,順利拿到offer。期間,我有點屌絲地反覆問她這個offer是確定的吧,不會被取消吧,因為前幾天看到百度縮招的訊息,哈哈,hr跟我確定這個offer不會變,就等著籤三方了。lz是碩士,屬於計算機相關專業,無實習經歷。 關於機器學習崗的面經比較少,本著回報牛客網的目的,決定寫寫面經。 ======================================================================================================== 百度
在天津參加的百度的三輪面試,分三天面完 一面  1小時 問專案 邏輯迴歸估計引數時的目標函式    (就是極大似然估計那部分) 翻轉二叉樹 寫程式碼 其他內容我忘了,大部分時間在問專案 二面  1小時20分鐘  面試官語速很快,難度比一面高很多 問專案 邏輯迴歸估計引數時的目標函式 (呵呵,第二次) 邏輯迴歸估計引數時的目標函式 如果加上一個先驗的服從高斯分佈的假設,會是什麼樣  (天啦。我不知道,其實就是在後面乘一個東西,取log後就變成加一個東西,實際就變成一個正則項) SVM在哪個地方引入的核函式 如果用高斯核可以升到多少維  (無限維) 什麼是貝葉斯估計  k折交叉驗證 中k取值多少有什麼關係 (我不知道,隨便答,然後面試官後面問我知道bias和variance嗎?估計是和這兩個東西有關,  知乎上有個問題討論了k值大小與bias和variance的關係) 過擬合了怎麼辦 設計一個結構存取稀疏矩陣  (面試官最後告訴我了一個極度壓縮的存法,相同行或列存偏差,我當時沒聽懂,還不懂裝懂,最後還是沒記住) 平衡二叉樹是什麼 系統設計題,給一個query,如何快速從10億個query中找出和它最相似的 (面試官說可以對每個query找1000個最相似的,存起來,每天離線更新) 程式設計題 給了一個連結串列,第1個結點標號為1,把連結串列中標號在M到N區間的部分反轉  (我寫的很慢,面試官看不下去了,讓我只說思路) 程式設計題 在一個字串中,找出最長的無重複字元的字串 (這個問題還是有難度的,我碰巧想到了用hash,但沒想到完整解法,用hash的解法複雜度在O(N^2),在網上查了下,好像還有更快解法) 三面  1小時 邏輯迴歸估計引數時的目標函式   (呵呵 ,第三次) 邏輯迴歸的值表示概率嗎?(值越大可能性越高,但不能說是概率) 分類模型和迴歸模型的區別 分類模型可以做迴歸分析嗎?反過來可以嗎?(我回答是分類不可以做迴歸,迴歸倒是可以做分類,不知道對不對) 開放問題: 設計一個合理的電梯排程策略,排程兩個電梯 ,考慮滿足基本的接送需求,滿足能耗最小,滿足使用者等待時間最短 (難到我了,我想的方法不好,面試告訴我了他的想法,類似於一個程序排程問題,每一時刻只可能有一個使用者按按鈕,把這條指令接收,判斷當前電梯能否滿足,能滿足就執行,不能滿足則放入一個佇列裡,實際情況還要細化) 常用排序演算法的時間和空間複雜度 10.12號參加的第三輪面試,從5點面到6點,天已經黑了,我正對著面試官,面試官背後的窗戶開著,外面高樓的燈光射進來,房間裡只開了一盞檯燈,發著淡黃色的光,想開放題的時候覺得時間過得好慢,周圍好安靜,我想我會永遠銘記這一瞬間! ======================================================================================================= 美團
在面完百度三面回學校的公交上,接到了美團的面試邀請電話。 我在10.15參加了美團的三輪面試 一面 1小時 問會什麼機器學習演算法,那講下SVM的原理吧   (我把SVM的公式推導了一部分,面試官就著公式問了一些問題) 你簡歷裡說用過random forest 和 GBDT ,講一下他們的區別 資料庫索引用什麼建的 (b+樹,並不知道原理) 寫sql(並不會) tcp關閉連線的過程, 為什麼要四次?   寫程式 str2Int 二面 1小時 講專案 面試官是做NLP的,看我有個比賽涉及到NLP的內容,就問了我很多NLP的知識,比如做情緒分析,他態度很好,以一種討論的方法跟我交流(然而我並不瞭解NLP,最後他說算了,沒做過確實不知道) 問了一個概率題  54張牌,分成6份,每份9張牌,大小王在一起的概率(我算錯了,他告訴我是 8/53) 問了作業系統的記憶體管理, 分頁和分段的區別 銀行家演算法原理 寫程式 翻轉連結串列 三面 40分鐘 講專案  (我花了10幾分鐘,費盡口舌,繪聲繪色地講了在實驗室的專案,口乾舌燥,又累又餓) 我覺得你這個專案一點都不牛逼 !(我之前跟他提過,我知道美團技術部的口號是 要麼牛逼 , 要麼滾蛋) 尷尬,雙方停頓了10秒~ (所以我要滾蛋了?) 我覺得你設計的演算法沒什麼創新性,在其他論文裡可以找到很多類似的(補刀,但其實說的很對。。。)  我花了好幾分鐘來圓場,解釋自己不能滾蛋,不是,解釋自己的專案還是有價值的原因。。。。。 機器學習的大概過程是什麼? 特徵選取怎麼選? 為什麼資訊增益可以用來選特徵? 哪個專案是跟人合作的?(在實驗室的專案,和導師合作) 有沒有和導師意見不同的時候,怎麼做的?  簡歷裡有個專案是作為負責人,帶領低年級學生做的,講講怎麼帶的? 低年級學生不聽話怎麼辦? (學院的專案,我講到學院專案給錢給的不及時,有時候會自己掏錢請他們吃飯,當做是一種激勵,面試官笑了。。。。) 有沒有接觸過機器學習的前沿,深度學習看過paper沒有?(並沒有) =============================================================================================== 360(內推)
 9.14  面的搜尋部門  一面  1小時30分鐘 花了很長時間講了一個自己做的很水的比賽,屬於NLP相關,面試官也是NLP,感覺他沒怎麼聽懂。 寫程式  最短編輯距離 (寫了,但有很多錯誤) 如何從很多的query中找出一個query (我開始想到hash,後來經提示我想到了字首樹) 若允許有錯誤,可以再怎麼解決(不知道,面試官提示了布隆過濾器) 二面 1小時 類似於一個部門經理的人面我 講專案,根據專案問問題 問我知道倒排索引不 ? (不知道) 想考察我學習能力,所以決定教教我倒排索引 ,簡單畫了個圖,問了相關的問題  (答得不好) 很多數中找前k大數 三面 hr面 最有成就感的事? 和計算機專業的比有什麼優勢,什麼劣勢?    有女朋友嗎? (並沒有) 其他忘了 ================================================================================================ 總結: 我就我自己僅有的幾次機器學習崗面試做一下總結: 1. 公司喜好 百度會先問你熟悉的東西,有專案和比賽都會先問,這些答得好,後面會容易很多。 (所以,好好準備簡歷,並且把寫到簡歷裡的部分都熟悉一下) 美團問的感覺比較死,作業系統/計算機網路/資料庫等常見問題 都還是會涉及到 360因為是搜尋部門,問了很多搜尋相關的知識 2.不會的問題如何回答 很多帖子裡都談到過這一點,在機器學習崗面試中,我很認同的一種方式是儘量的向面試官輸出你的知識,不會就先說相關的。 如果還不會,適當的找面試官要提示。 百度二面那個query找相似的系統設計題,我先後說了字首樹,kd樹等解決方案,雖然不對,但面試至少知道我瞭解這些東西。 3.面對面試官的刁難怎麼辦? 如我在美團三面的時候,面試冷冷地一句你這專案一點也不牛逼,就把我弄傻了,因為其他面試官都不會這麼直接。 如果你是大牛,你的專案肯定很牛,面試官肯定不會說這種話。如果你水平一般,不要有什麼反抗的態度,你也是在找工作,如果你嚮往這家公司,不會因為一個面試官的態度不好,就改變你對公司的態度吧,回答的態度還是要溫和一點,拿到offer才是王道,被拒了在網上到處罵是弱者的行為。 4.如何準備機器學習面試? 就我面過的公司來說,機器學習方面的問題完全是與你自己以及面試官自身的水平有關的,如果你很牛,面試官也很牛,你們可能會討論到很高大上的演算法上去,但一般來說,李航的那本書應該是夠了。 關於大資料處理的問題要好好準備一下,我記得july好像有篇部落格專門講這個,有大概10種工具處理大資料問題,你可以挨個輪番用。 資料結構和演算法是一定要好好準備的 筆試題,機器學習崗位,我知道BAT、美團、蘑菇街等很多有針對演算法崗單獨的題,但還是要程式設計,還是要考基礎知識,所以都要好好準備才行,不要像我到處掛筆試。。 ================================================================================================= 美團可能掛了,我準備籤百度了,不過部門貌似很邊緣,看來還是和自己的能力掛鉤的。。。 其實我一直覺得能拿到offer挺幸運的,從8月份開始找工作到現在,我一共就面了3次 360內推,筆試很差,內推的師兄叫hr把我加到面試名單,我才有了面試機會,2輪技術面+1輪hr面在一個下午搞定,技術面面得不好,hr讓回去等訊息,然後就沒有訊息了。 百度,百度筆試做的很差,但好像筆試不怎麼刷人,所以抓住機會,一直撐到三面 美團,每個參加美團筆試的人都說題簡單,而且寫程式碼還支援python,這個要贊! 當天下午4點吃了個麵包,從5點開始,一直撐到晚上快8點,挺完3面。 其他公司都掛在筆試。。。。。。。。。 我講這個,是想說,在找工作的過程中,一定要挺住,掛筆試掛麵試不可怕,可怕的是你放棄自己,我在10月1號之前做了很多公司的筆試,次次都掛,但我都是洗個澡,換條內褲,第二天繼續到教室自習。整個找工作過程中,我從來不刷朋友圈,別人到處吃喝玩樂跟我無關,不想受到別人的打擾。 今天在朋友圈發了個狀態,寫道 拿到offer是因為運氣,心裡高興是因為付出。 感謝牛客網以及牛客的QQ群在我找工作的時候一直陪伴我,說實話,找不到工作的時候看到群裡有一大群人也找不到,心裡還是挺開心的,覺得自己也沒那麼差,嘿嘿,但我  祝願每一個人都能拿到自己心儀的offer。 O(∩_∩)O謝謝~ 2015.10.23