2017-秋招:機器學習/算法工程師(含大量面經)

本博文已經發布在牛客網上的討論區:
https://www.nowcoder.com/discuss/61907
前言:

從今年的8月1號正式開啓秋招到現在,過去三個多月了,發生了很多事情,經歷了N多場筆試和麪試,深深感慨到本碩雙非的學生找算法崗的艱辛。。。,當經過了8、9月份的種種面試掛掉後,終於從十月下旬陸續收到了幾個offer,而且其中還有自己喜歡的公司,不得不感慨那句《極限挑戰》的結束語“這,就是,命!”

奇怪的數字:

對於我的整個秋招情況,有下面幾組數據,我感覺很有意思,而且感覺和自然數e有關:

  • 發送的申請內推郵件: 100多封郵件
  • 秋招期間投遞的數量:120多家公司
  • 收到筆試的公司數量:43家左右
  • 收到面試的公司數量:18家=13家+5家(內推無筆試)
  • 收到offer 的公司數量:5家左右

如果仔細對比一下,不難發現,從投遞的公司數量120一直到收到offer的數量呈現一個遞減的趨勢,關鍵這還是一個等比數列,遞減的倍數(公比)大約是1/e=0.368…呃。。。好詭異的數字,感覺這不是個巧合,看來我們普通人找工作還是符合自然規律的吧

筆面試經驗淺談:

1、發現還是走實習轉正最方便,因爲整個實驗室他們全部都是實習轉正,他們要麼去的百度,要麼去的滴滴,不管是公司平臺還是年薪,都過那些985的學生,所以秋招期間整個實驗室基本就我自己找工作。。
2、找內推,渠道:師兄師姐,相關微信公衆號,北郵人和水木社區論壇,牛客網等等。因爲只有進入面試纔能有機會獲得offer,可惜今年許多公司連內推都要先筆試,我擦嘞。。。,但是個別公司歧視學校,尤其是我們本碩雙非的學校,連筆試都不給我機會的公司:華爲,網易,唯品會,迅雷。。。
3、筆試:不多說,只能刷題吧,牛客網和賽碼網都行,因爲今年所有公司選擇的筆試平臺數量順序大致是:牛客網,賽碼網,AMCAT,微測網。。還是建議刷牛客,上面討論區的活躍率很高。
關於機器學習方面的話:

  1. 書:理論方面李航的《統計學習方法》、周志華的《機器學習》、《深度學習》
  2. 實踐方面:《機器學習實戰》《利用python進行數據分析》、hadoop、spark、TensorFlow等等。
  3. 視頻:吳恩達的<機器學習><深度學習>
  4. 博客:其實都差不多,隨便搜就行,還是建議多看書、視頻和敲代碼。

4、面試:這就尷尬了,offer=實力+運氣,缺一不可。但是面試經驗還是很重要的,我是面試掛了十幾家公司後才摸清了面試官套路,然後後續的其他公司的面試就開始反擊了。。。但是有的面試官很奇葩了,這個時候你就得懟回去了,上去就一個字,幹!

我的面試情況和結果:

按照面試時間順序,沒給結果的我也歸檔爲掛

  1. 便利蜂(內推,二面掛)
  2. 鏈家(內推,一面掛)
  3. 滴滴(內推,二面後沒給結果,掛)
  4. 百度(校招,一面掛)
  5. 雲腦科技(內推,一面掛)
  6. 中興(校招,二面後沒給結果,掛)
  7. 京東(校招,一面掛)
  8. 完美世界(內推,一面掛)
  9. 蘇寧(內推,一面技術,進入offer池)
  10. 樂信(校招,兩面技術+一面HR後給了offer)
  11. 新浪(校招,一面掛)
  12. 58到家(線下校招,二面掛)
  13. VIPKID(線下校招,二面技術後給offer)
  14. 美團(三面技術+HR面後給offer)
  15. 去哪兒(校招,一面掛)
  16. 鳳凰(校招,三面技術+HR面,給了offer)
  17. 瓜子二手車(校招,一面技術,拒絕了後續面試)
  18. 知乎(校招,三面技術,等hr面中)

那些線下的不知名公司的面試,還有一個特殊的自薦面試,我就不列舉了,反正各種面試加起來應該超過了二十幾家公司。這裏我想吐槽一下360和京東的面試,360今年僱的中華英才網來安排面試,那叫一個混亂,說好的給改內推面試時間,然後就沒有然後了,連校招也不讓參加!還有京東,它今年完全是玄學面試,各種坑逼,搞的進入十月份,大量學生違約,尤其京東物流開始瘋狂補招,不,應該說是直接補招發offer。。

2017的應屆算法薪資情況:

這個話題有點敏感,但是學生還是應該瞭解行情的,網上說今年應屆算法崗的年薪批發價是30W,呃。。。這個我不敢肯定,但是25W的話,我還是承認的。關於批發價,北方的公司大概分這麼幾類:
1、普通互聯網公司:1515
2、滴滴,今日頭條,愛奇藝,新浪等:20
(15-16)
3、百度,美團等:1714.6和16.515.5約等於25w
具體的薪資,有個薪資網站,大家可以看下:offershows

所以整體上看,除了個別加班嚴重或者融資較多的公司批發價是30W。其他不管是bat還是普通互聯網公司,年薪大都是25W,除非你是sp的offer,那樣的話年薪>30W,可惜我們大都是普通人。

我的面經:

便利蜂 一面(內推無筆試,北京公司面試,2017.8.14,40min)
1、問實習項目
2、特徵工程做的有哪些?非線性可分的情況怎麼處理的?
3、SVM的核函數了解多少?
4、L1與L2區別?L1爲啥具有稀疏性?
5、xgboost的原理
6、sigmoid函數的導函數的取值範圍是多少?其實就是一元二次方程的y值範圍,0-1/4

便利蜂 二面(電話面試,2017.8.24,15min)
1、 實習內容:數據之間的關係和特徵?
2、 Python中協成的概念,即微線程,具體可以看廖雪峯的網站
3、 C++中vector增刪改的時間複雜度,O(1),O(n),O(n)
4、 MySQL中索引用的什麼數據結構?B-Tree或B+Tree
5、 Hash_table的底層是什麼實現的?拉鍊法,數組+鏈表
6、 HBase的列式存儲解釋
7、 面試官建議多注重工程方面的能力,全程不問機器學習方面的問題

鏈家 一面(內推筆試過後,北京公司面,2017.8.27,40min)
1、 面試前全體做五道編程題:
1數組中出現次數超過一半的數
2括號匹配
3一串珠不同顏色,求包含所有顏色的最短子串
4從日誌中找出IP出現次數超過1024次的惡意IP
2、 最小二乘與極大似然函數的關係?從概率統計的角度處理線性迴歸並在似然概率爲高斯函數的假設下同最小二乘簡歷了聯繫
3、 LR爲啥是個線性模型?本質就是線性的,只是特徵到結果映射用的是sigmoid函數,或者說迴歸邊界是線性的,即P(Y=1|x)=P(Y=0|x)時有Wx=0
4、 Hadoop中MR是怎麼實現聯表查詢的?
5、 分類的評價標準,準確度,AUC,召回率等等
6、 有的邏輯迴歸損失函數中爲啥要加-1
m
7、 欠擬合的解決方法?模型簡單,加深神經網絡,svm用核函數等等
8、 L2正則的本質?限制解空間範圍,縮小解空間,控制模型複雜度
9、 SVM引入核函數本質?提高維度,增加模型複雜度

滴滴校招 (內推筆試後一面,牛客視頻面,2017.9.12,45min)
1、 介紹實驗室的項目
2、 介紹xgboost、gbdt、rf的區別
3、 樹模型的特徵選擇中除了信息增益、信息增益比、基尼指數這三個外,還有哪些?
4、 Sklearn中樹模型輸出的特徵重要程度是本身的還是百分比?
5、 介紹下SVM以及它的核函數
6、 熟悉FM算法不?
7、 算法題:兩個鏈表的第一個公共節點

滴滴校招 (二面,牛客視頻面,2017.9.12,15min)
1、 面試官一直看時間,感覺就是爲了走個過場
2、 介紹下實驗室項目
3、 進程和線程的區別?
4、 HBase數據庫的優點?
5、 閒聊。。。你想從事哪方面的算法?c++用了幾年?有啥問我的嗎?我是做路徑優化的

雲腦科技 (散招,AI研發工程師,現場一面,2017.9.14, 5min?)
1、 到公司後先做一道題,一個小時之內做出來:
輸入:今天,有,很多,筆試
昨天,“全運會,比賽”,結束了
明天,“不知,”“有多少筆試”“”
輸出:今天 有 很多 筆試
昨天 全運會,比賽 結束了
明天 不知,“有多少筆試”
輸出與輸入的關係,即句子中有逗號的話,則用“”包住;有“”的話,先用“”將其包住,再用“”將其所在部分包住
2、 做完筆試,面試官來了,看了下代碼,說你寫的代碼不是我想要的,謝謝您今天來北京面試,WTF ?!

中興 (一面基礎面,天津晉濱國際大酒店,2017.9.18,20min)
1、 兩個面試官,一個大叔,一個女的,貌似領導級別
2、 問實習項目,重點關注特徵工程和模型選擇方面,爲啥用深度學習,當時調參的具體數據是多少?多層的神經網絡有沒有用GPU?
3、 有啥問我們的麼?我們主要在天津做AI方面,涉及金融,比較缺人(其實是缺985。。)

中興 (二面綜合面,天津晉濱國際大酒店,2017.9.19,20min)
1、 兩個很年輕的面試官小哥,來自北京燕郊那兒的
2、 全程不問任何技術,聊人生,性格怎樣,喜歡看啥書,打遊戲不?本科爲啥學的數學?blabla。。。
3、 有啥問我們的沒?我們來自北京燕郊那兒的,業務主要是通信研發,無算法崗位,且他們主要用c

京東,玄學招人 (一面掛,北京海潤艾麗華酒店,2017.9.18,20min)
1、 自我介紹,全程不寫代碼。。。
2、 聊實習項目,特徵工程,模型選擇,項目中的細節,你是如何選擇算法模型的?效果如何?
3、 重點來了,你有什麼問我的麼?哦,我們是無人機部門,涉及到視覺,路徑規劃,通信方面的算法,基本沒有傳統機器學習算法業務,WTF?!
完美世界 (數據開發工程師?一面掛,完美世界大廈現場面,2017.9.19,30min)
1、 兩個面試官,其中一個主要負責問
2、 介紹實習項目,怎麼判斷特徵的重要性?rf與gbdt的區別講下?
3、 對實驗室的項目絲毫不感興趣,面試官果然不是做算法的。。。
4、 算法題:兩個數字鏈表求和,將結果也存到一個鏈表裏面,注意相加超10時進位就行

蘇寧 (一面,天大現場面試,2017.9.21,70min)
1、 是一個年齡不小的面試官,貌似經理或者總監
2、 自我介紹+聊實習項目
3、 RF與xgboost的區別?怎樣選取的特徵?如何判斷這些特徵的重要程度?最後RF的層數和深度是多少?
4、 還用了深層神經網絡?幾層?用GPU沒?特徵維度到底多少?服務器配置?啥?你能把全部數據放進內存?
5、 有啥問我的沒?我是搜索部門的,即所有涉及搜索相關的業務。。。

樂信 (一面,牛客視頻面試,2017.9.25,40min)
1、 自我介紹,介紹實驗室項目,發表的論文內容
2、 關聯規則中,置信度和支持度的概念?
3、 MySQL中MYISAM和InnoDB的區別
4、 LR,svm,rf等算法的區別
5、 模型評價指標,解釋AUC,準確率和召回率
6、 對於同一個數據,怎樣根據AUC判斷模型的好壞?數據?沒聽懂。。。
7、 介紹實習的項目,服務器配置
8、 有啥問我的麼?我們是大數據部門,數據倉庫、分析、算法,涉及各種與金融相關的業務

樂信 (二面,牛客視頻面試,2017.9.28,34min) 10.17晚上HR電話直接給了offer
1、 女面試官?後來才知是女主管。。全程沒有問技術。。
2、 講實習經歷,爲啥不留在實習公司呢?
3、 你遇到的問題,是如何解決的?
4、 介紹了部門,同一面面試官所介紹的

新浪門戶 (一面,新浪大廈,2017.10.10,40min)
1、 很嚴肅的一個面試官,感覺他面試了很多人的樣紙,不讓自我介紹,有點小傲嬌的樣紙。。
2、 討論實驗室的項目
3、 介紹LR,爲啥用的是似然函數不用最小二乘?當用lr時,特徵中的某些值很大,意味着這個特徵重要程度很高?對嗎?不對,用lr時需要對特徵進行離散化。。。
4、 L1和L2正則的區別?
5、 樹模型中,特徵選擇方法有哪些?ID3和C4.5分裂後,節點的信息熵是變大還是變小?變小
6、 RF和gbdt的區別
7、 介紹下深度學習,CNN中的卷積和池化
8、 Hadoop中shuffle過程
9、 有啥問我的麼?我是新浪手機客戶端部門那兒的,主要做推薦等等

58到家(一面,天大現場面,2017.10.12,1h)
1、 很年輕的面試官,感覺面試經驗不足,大部分時間是我講。。。
2、 項目期間遇到的問題,怎麼解決的?
3、 爲啥你的svm訓練起來那麼慢?
4、 瞭解貝葉斯不?它的應用場景都有哪些?
5、 知道哪些深度學習的框架?
6、 網絡分幾層?TCP和UDP區別?寫個快排吧
7、 場景題:一個10T的文本,一個10M的文本,從大文本中找出與小文本中相似度大於80%的文本,提示,用SameHash
8、 我們是58速運部門的,主要做路徑優化和推薦

58到家(二面,天大現場面,2017.10.12,40min)
1、 這個面試官是58家政部門的
2、 同一面,詳細介紹了下實習項目,從特徵工程到最後的模型融合
3、 場景題:北京市所有小區的客戶發出家政請求的可能性(迴歸問題);或者從家政的全部業務流程中找出一個具體場景進行分析:家政阿姨接到派單通知後,進行家政服務的路徑選擇,可阿姨一天頂多服務2-3個家庭,該如何派單?
4、 討論之前的筆試題編程題:最短迴文串,但是題目中有要求只能向字符串的末尾插入字符串,使得新字符串是最短的迴文串,不是向任意位置插入。。。

百度 (一面,百度大廈C座,2017.10.15,1h)
1、 很年輕的面試官,問的很廣,感覺回答出來了80%,依然沒過
2、 介紹實驗室項目,是怎樣用的KNN進行的預測
3、 XGBoost與RF的區別
4、 RF的隨機性體現在哪裏?它的代碼中輸出的特徵重要程度是怎麼進行計算的?
5、 實習項目中的評價標準是什麼?accuracy和precision、recall這些一樣嗎?AUC的解釋
6、 瞭解哪些損失函數?區別是啥?
7、 線性模型爲何用的最小二乘作爲損失函數而不用似然函數或者交叉熵?
8、 瞭解哪些深度學習模型?keras底層用TensorFlow和theano時,代碼有何不同?TensorFlow原理、流程圖,session是啥?
9、 編程題:兩個數組的最長公共子序列和最長遞增子序列,用DP寫出來後,讓繼續優化。。。

陌陌 (一面,望京soho,2017.10.16,1h)
1、 介紹實驗室項目,對問題是迴歸還是分類進行了詳細探討。。。
2、 LR與SVM的區別
3、 GBDT與XGBoost的區別?
4、 實習期間遇到的問題,是怎麼解決的?
5、 瞭解FM嗎?GBDT的數據在使用前有什麼需要注意的嗎?
6、 做過廣告點擊率預估沒?LR+GBDT和GBDT+FM怎麼結合的知道不?

陌陌 (二面,望京soho,2017.10.16,15min)
1、 LR與GBDT的結合瞭解不
2、 智力算法題(說是它的校招筆試題):
f(x)=p,y=0; 1-p,y=1 將這個概率函數轉換爲T(x)=1/2, y=0或者y=1
提示:f(x)執行四次可能出現的結果有0,0:p^2 0,1:p*(-1p) 1,0:p*(1-p) 1,1(1-p)^2
裏面有兩次結果的概率是一樣的
陌陌 (HR面,望京soho,2017.10.16,20min)
1、 來一很結實的HR小哥哥。。。很少看見男的HR。。
2、 說說自己的優缺點
3、 喜歡啥樣的老闆和同事
4、 期望薪資?我們發15個月的,還有加班費
5、 如果有其他公司的offer,你會怎麼選

VIPKID (一二面,天大現場面,2017.10.17,40+20min)
1、 一面試官是做java後端開發的,有點尬聊。。
2、 簡單介紹下實習項目,解釋了rf和gbdt
3、 項目中遇到的問題,怎麼解決的?
4、 瞭解各種大數據框架不?呵呵噠。。。。
5、 二面面試官貌似主管或者經理級別
6、 對公司的業務進行了詳細的介紹,並展示了團隊在硅谷的人員。。
7、 場景題:如何向小學生推薦或者預測適合的外教?怎樣準備數據和算法?
8、 別人二面後直接HR面,我面後,被告知加一面,等待北京算法負責人電面,什麼鬼。。。

美團 (一面,天津維也納酒店津南區,2017.10.18,40min)
1、 總的來說,美團的面試官還是很好的,循循善誘,技術不是太差的話,應該都能過
2、 介紹了實習項目,數據特徵怎樣選擇的?怎樣表示的?模型的選擇?當時的模型參數是多少?結果效果如何?
3、 RF與GBDT的區別?爲啥你要用集成的方法而不用準確度更高的算法模型?
4、 推導LR
5、 編程題:刪除鏈表中倒數第K個節點,寫出來後,面試官加難度:如果是個帶環的鏈表呢?也就是先找到環的入口,再注意邊界條件就行
6、 有什麼問我的麼?我們是風控部門,主要涉及資金、賬號安全,作弊,刷單,反爬蟲等

美團 (二面,天津維也納酒店津南區,2017.10.18,30min)
1、 納尼?!美女面試官!秋招期間碰到的唯一一個女的算法面試官,還是美女。。。。
2、 介紹實驗室項目,交流下預測那裏怎麼做的
3、 爲啥LR的輸入特徵一般是離散的而不是連續的?
4、 瞭解各種優化算法不?梯度下降和隨機梯度下降的區別?牛頓法和擬牛頓法的區別?爲啥提出擬牛頓?因爲牛頓法涉及海塞矩陣,它的逆矩陣求解很麻煩
5、 KNN的使用場景
6、 智力題:
1<=a,b<=99,甲手裏有a+b的結果,乙手裏有a*b的值,兩人目前都不知道a和b的值,兩人對話如下:
1甲:你肯定不知道a,b的值是多少
2乙:我好像知道了
3甲:我好像也知道了
問:a,b的值是多少
思路:對話1說明a+b的可能性有多種組合,其對應的乘積也有多種組合,形成兩個集合S和T
對話2說明乙根據手裏的乘積結果,可以得出S和T這兩個集合的交集是唯一的
對話3說明甲猜到了乙的想法,故也能猜出交集唯一。。。

美團 (三面,天津維也納酒店津南區,2017.10.18,30min)
1、 這個面試官貌似是一總監或者技術經理
2、 介紹實習項目,和上面的類似
3、 項目期間遇到的問題以及怎麼解決的?
4、 從數學角度和你的個人理解完整推導和講解LR
5、 又仔細講了下風控部門的主要業務,

美團 (HR面,天津維也納酒店津南區,2017.10.18,20min)
1、 自我評價,自己的優缺點
2、 工作中遇到的問題怎麼解決的
3、 家庭對你的影響
4、 遇到的最遺憾的事情,最有成就的事情,最後悔的事情,what?!這是要鬧哪樣。。。
5、 朋友和同事對你的評價

去哪兒(開發工程師?崗匹配度嚴重不符,一面,2017.10.23,30min)
1、 去哪兒沒有純算法崗麼?官網也是把算法歸檔爲開發工程師裏面去了。。。
2、 面試官是一個做後天開發和存儲的,註定要尬聊!
3、 自我介紹,簡歷上的機器學習項目一個都不細問,剛推了兩個公式,打斷我停止。。。
4、 本科數學?計算機基礎知識會嗎?TCP與UDP區別,三次握手,四次揮手解釋下?
5、 知道哪些linux命令,知道多少說多少
6、 選個語言,python的數據結構有哪些?都有哪些特性?但是這面試官不搞python,對我說的絲毫不感冒
7、 數據庫瞭解多少?mysql的引擎InnoDB是怎麼實現的?
8、 場景題1:如何針對郵箱中用戶名和手機號的匹配和存儲,實現以下功能:
1> 數據量很大,存儲方案怎麼設計
2> 根據用戶名快速檢索出對應的手機號
3> 如何保證用戶名的唯一性
場景題2:模擬高德地圖或者百度地圖中,求兩地間的最短路徑?只考慮公路這一種情況,沒清楚面試這是搞哪樣。。。

鳳凰網 (一二三面試+HR面,北京中輕大廈A座16層 ,2017.10.25,2.8h)
1、 一面貌似來的是數據分析的年輕面試官。。
2、 自我介紹+實驗室項目
3、 實習項目,主要集中於特徵工程那裏
4、 Linux 命令知道多少?網絡基礎呢?TCP和UDP的區別?
5、 編程題:數組A[N+1]中每個數據的都是1<=x<=N,其中只有一個數字是重複的,請找出來。使用一些技巧性的方法,比如根據值找對應索引位置,將其變爲負數,依次這樣,知道發現要變的那個已經是負數,找到了。。。
6、 二面了,好高大的年輕面試官,而且還是懂點算法的
7、 解釋rf,xgboost,gbdt的區別
8、 編程題:從數組A中找出所有和爲S的兩個數的索引,leetcode 原題。。。
1、三面是經理,上來問了問特徵方面的事兒,尤其是特徵組合,詳細介紹了下部門涉及的業務,數據量很大,可以開展各種業務,推薦,視頻識別等等
1、HR面就厲害了啊,微胖的女HR小姐姐屌屌的樣紙,上來就說:“我們給不了你這個期望薪資,我們這兒每天好多985的來排隊面試,他們都還能來提前實習”(WTF,看不起我這天津的雙非,呃。。。好像大都看不起。。)

瓜子二手車 (筆面試?,微信 ,2017.10.27,1h)
1、 奇怪的面試,本以爲是面試,誰知變成了遠程在線筆試。。
2、 微信發來兩個算法編程題:
1> 輸入一個整數,反轉輸出:比如輸入1234,然後輸出4321。我給的答案。。

2> 最大合數的質子分解,比如輸入20,輸出2,2,5
3、 筆試通過後,約的11.03天大面試,拒絕了。。。

知乎(一二面,微信 ,2017.11.04,2h)
1、 又是微信?搞不懂了。。。
2、 一面面試官讓簡單自我介紹後,不問簡歷內容!直接擼代碼。。
1> 一個大小是N-1的數組,所有數字範圍是1<=x<=N,請找出缺失的那個數字。提示:求出當前數組的和,然後根據1到N的求和公式,兩者相減。。
2> 求無序數組的中位數
3> 數組中出現次數超過一半的數字:劍指offer上的原題
4> 求最長的無重複字母的子串
5> 將一個二維的nn的數組,逆轉90度,空間複雜度是O(1)。提示:剝洋蔥般,一圈圈的從外向內逆轉90度
3、 二面面試官終於讓說簡歷內容了,先簡單介紹了下實習內容
4、 數據的特徵怎麼處理的?用了哪些算法模型?
5、 RF和GBDT的區別?二者的優化目標是什麼?
6、 擼代碼:
順時針打印矩陣:劍指offer上的原題
7、11.10三面面試官,50min
8、上來就先寫兩道算法題:
1>一個m
n的矩陣,求順時針矩陣的最後一個數字
2>一個大小爲N的數組,裏面的值代表的是股價,求一次買入賣出所能夠求得最大收益?如果是兩次買入賣出呢?動態規劃解決
參考的題目
9、聊了聊實習項目,特徵工程和模型選擇

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