應邀請來參加技術徵文。本人2019年畢業,目前2019秋招已結束,拿到了阿里巴巴,騰訊,美團,華為的機器學習演算法工程師offer,來到這個網站與大家分享面經。
先介紹一下樓主背景,985本+美國專排top15碩,有Amazon+Intel+美團的實習,現在秋招結束了,來回饋廣大網友!
美團AI演算法提前批(已拿兩提前批offer和一個轉正offer)
提前批 第一輪: 應邀參加了7月17號清華雙選會,在現場先是各個部門介紹自己的演算法團隊。 一人可以選兩個部門面試,每個面試就大概15min-30min 兩個部門共問到的問題有(模型多是根據專案問):
- xgboost原理,怎麼防過擬合
- gbdt推導
- boosting和bagging在不同情況下的選用
- DBSCAN原理和演算法虛擬碼,與kmeans,OPTICS區別
- LSTM原理,與GRU區別
- 演算法題:翻轉中間由各種符號隔開的字串 然後就說回去等通知
第二輪第三輪: 7月20號在望京,每個部門兩輪 共問到:
- EM演算法推導,jensen不等式確定的下界
- xgboost和lightgbm的區別和適用場景,推導xgboost
- LR的推導,損失函式
- gbdt推導和適用場景
- DNN的梯度更新方式,把momentum,RMSprop,Adam的公式寫出來
- 演算法題:2sum,3sum,4sum
- 演算法題: 從右邊看被遮擋的二叉樹,求露出的node
- 概率題,抽藍球紅球,藍結束紅放回繼續,平均結束遊戲抽取次數
第四輪: hr面 就聊聊人生聊聊理想
7月23-24號左右,兩天把offer都發了,讓意向選擇,我說想等我的轉正面結束再選擇,因為我還有一個部門的轉正機會。
轉正面: 主要就是介紹了實習期的工作,討論做得好和不好的,然後寫了一個快排一個歸併,聊聊各排序演算法的複雜度,穩定性,適應性,較簡單,之後就是hr聊了聊。
總結:美團面試比較喜歡考察演算法題,和白板寫bug-free的程式碼
騰訊技術研究-機器學習提前批(已拿offer)
騰訊一面,電話面
- 扣簡歷的專案,扣的很細
- xgb,rf,lr優缺點場景。。。真的逢面必問,有不瞭解的可以留下評論,我可以提點拙見,最好還是自己去網上扣一下這題
- 演算法題,單連結串列判斷是否有環 (leetcode easy),以及判斷環入口
- 演算法題,給前序和中序,求出二叉樹
- 是否寫過udf,問udaf,udtf區別和一些細節
騰訊二面,電話面
- 扣專案,問簡歷,其中涉及的演算法和上面差不多
- 問推薦演算法,fm,lr,embedding
- 演算法題,10億個32位正整數,求不同值,只給1GB記憶體。。。我只答出來4GB的情況,時間負責度還不是最優的,所以穩穩涼了,如果有人知道怎麼解1GB,求回覆,感謝
騰訊三面,onsite
- 演算法題: topK給出3種解法
- 演算法題:二叉樹的最大深度和最小深度
- 協同過濾的itemCF,userCF區別適用場景
- 扣專案,問簡歷,其中涉及的演算法和上面差不多
- 對專案中一些技術選型產生質疑,並友好的一起討論了這個問題
- 推薦系統的大概步驟,解決冷啟動。。。
騰訊四面 最後技術總監面,onsite
- 演算法題:名人問題,給出最優解法
- 問了一下專案和簡歷
- 自我評價優缺點,怎麼改進
- 描述一個演算法專案從kickoff-落地的全過程
騰訊五面 總監面完立刻就hr面了
hr面就是常見的問題,城市啊,薪資待遇啊,對部門的評價,對總監的評價 然後就在系統中提示offer報批中。。。
總結:騰訊面試會考一些業務中多遇到的問題,同時也很注重產品與技術的互動
阿里機器學習演算法工程師(共面了兩個部門,一個社招流程一個校招流程,拿了校招流程的offer)
校招部門: 一面:
- 扣簡歷,問得太細了,每個專案都要回答如果再做一次,有什麼改進的地方,演算法上和模型選擇上改進的地方,同時對專案中技術要點聊得很細
- 演算法題:反轉連結串列
- 演算法題:trim二叉搜尋樹
- 其他模型題都是在問我做的專案時同時穿插這問
- 非常友好的給我介紹了半小時這個部門做的事情,面試官真的非常友好,而且給我描述的很細,讓人非常有慾望去
二面:
- 扣簡歷
- CNN為什麼比DNN在影像識別上更好,這題我答得很爛,有好答案的歡迎留言
- LSTM內部的cell長啥樣,有幾個gate,分別怎麼求出來的
- 資料傾斜怎麼造成的,怎麼處理資料傾斜問題
- 用mapreduce實現10億級以上資料的kmeans
- rf和gbdt基分類器區別,裡面的決策樹分別長啥樣,怎麼剪枝
- 說一下gbdt的全部演算法過程
- 演算法題:醜數
三面:
這面是總監面,主要根據我的經濟學背景,沒有寫題,只是討論一小時怎麼把經濟學的知識帶到演算法領域。考察我的交叉背景。 其實這面是最難的,非常不好回答很多問題,但這些問題對大多數牛友沒意義,所以就不分享了,有相同經濟學背景的想知道可以私信我。
四面 (交叉面):
- 聊了簡歷上做的專案,對其中一些專案做得不太滿意,問我一些改進的方式
- XGBoost推導和優點
- 介紹了LSTM,裡面的每個gate是幹什麼,怎麼得出的,並與GRU做了對比
- 讓我挑一個最熟悉的模型講,我說都可以,於是他問了GBDT,FM和FFM模型
- 也聊到了我做演算法的初心,為什麼一個經濟學的來做演算法,有哪些優勢,同時也給了我很多建議,希望我打牢基礎,很感謝他的建議
hr面 (視訊面):
聊了一個小時
- 怎麼理解大資料
- 怎麼理解演算法
- 資料的價值在哪
- 怎麼看待資料販賣,對還是不對
- 怎麼看待阿里,和其他公司比較,why阿里
另一個部門面到4面交叉面後就結束了,沒有hr面,應該是涼了或者進備胎池了 具體就不說了,因為沒拿到,總之套路差不多,我搞砸了3面總監面,很砸很砸!
總結:阿里的任何一面都不能搞砸,感覺有一面B+了,基本就進備胎池涼了。阿里除了問技術,更會問一些你能為團隊帶來什麼的問題,和一些開放性問題
華為演算法工程師(hr說面試通過了,等流程,但具體offer還沒有下來)
海外視訊招聘,一共兩面,沒什麼特殊的,比較少見的是問了C語言的常見坑和解決辦法,其他基本差不多,整個過程感覺不太一樣,感覺華為的面試確實不怎麼考察技術。也可能是我太爛了。
如果大家覺得這篇文章有用,求點贊評論,畢竟是來參加這個技術徵文比賽,我的非科班演算法自學之路和一些學習方法寫在了這篇文章,也歡迎大家關注: juejin.im/post/5ba1a5…
我在參加掘金技術徵文?徵文活動連結