2017年5月百度機器學習實習面經

  古人云:不積跬步無以至千里,不積小流無以成江海。謹以此文爲開端,記錄我的學習過程。

面試持續1個小時,大致過程如下:
首先自我介紹,然後聊聊自己的項目,感覺百度統招的面試官更加關注細節,他們會詢問項目的細節,面試官會問很多特徵選擇、數據清洗的細節,也會問爲什麼要選擇你使用的模型,模型的參數是如何設定的,如果用其他的模型的話效果有什麼不同之類的問題。舉個小例子,如果你項目中使用了GBDT,那麼他也許會問,你爲什麼不用Xgboost,隨機森林模型。會問你這些模型有哪些區別,各自適用於什麼樣的數據,你所使用的決策樹深度是多少,使用什麼作爲評價函數,使用了什麼庫函數實現的問題(本人用的Sklearn),以及你使用過這個庫中哪些函數等問題。
項目問完後,面試官詢問了我一些C++、python相關的語法,隨後出了一些SQL語言的問題。因爲答的太爛,面試官爲了緩解氣氛,又出了一些很基本的數據結構問題,最後讓用python實現快速排序,面試至此結束(被拒)。
具體問題如下:

1.GBDT有哪些參數,如何確定樹的深度,學習率怎樣確定。
2.爲什麼不用XgBoost,GBDT 與XgBoost 的區別有哪些?
3.Xgboost 爲什麼要用到二階導信息?
4.如何防止GBDT過擬合,常用的迴歸模型有哪些,LR如何防止過擬合?
5.對於迴歸模型,描述LR和GBDT優劣勢對比分析。
5.常用的屬性選擇方法有哪些?
6.如何使用決策樹做屬性選擇,詳細描述屬性選擇時樹的構建過程。
7.常用的聚類函數有哪些,K-means的損失函數是什麼?
8.KNN有什麼使用限制,使用KNN要注意什麼?
9.描述你項目中的評價函數(F-measure),寫出它的公式。
10.C++中指針和引用有什麼區別,const和宏定義有什麼區別?
11.python中__main__: 有什麼實際意義。
12.sql中左連接和右連接有什麼區別?
13.使用過哪些處理大數據的分佈式工具?什麼是MapReduce?
14.常用的排序算法有哪些?哪些是穩定的,哪些是不穩定的。
15.使用python手寫出快速排序的代碼。

至此,面試結束,百度正規的統招給我留下的映像更偏向於細節,面試官會考察你簡歷上寫到的所有信息,只要你敢寫,他就會問,這次面試下來,我刪去了很多簡歷上的信息,之前在簡歷上甚至還寫了html,php等經歷,但這些好久都沒用過了,因此忘的也差不多了,被百度的面試官問的恨不得找個洞鑽進去….
以上的問題答案,我會在工作閒的時候逐步寫出來,分享給大家,同時也作爲一個總結增強我對這些概念的理解。
————————————————————————
部分答案更新:
GBDT與Xgboost相關問題答案:
http://blog.csdn.net/panda_zjd/article/details/71577463
排序:
http://blog.csdn.net/panda_zjd/article/details/71439920

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章