導讀:本文作者誠樸求食最近就算法/機器學習的崗位面試了一圈大的網際網路公司,分享了他的一些面試經驗,春招+秋招兩大塊,希望對算法或者機器學習/深度學習感興趣的朋友準備面試有點幫助。
本人(男,學歷雙985)從三月份從百度實習回來開始,一直準備機器學習算法面試,前前後後面了不少公司,以下面經一併送上。
【春招階段】——按時間順序
19min簡歷面
百度的項目介紹CNN、LSTM、RNN
介紹下LR
結果:掛完電話沒出20min顯示reject
33min電面
組裡有十臺GPU,每個上面四塊卡
多分類項目:數據怎麼預處理的,模型的調優以及改進,其中有沒有數據不平衡的問題。
百度的DBSCAN項目,為什麼不打標籤,做監督學習,DBSCAN中的參數。
最後問了ResNet後更新一點的網絡,這個沒回答上,我說了GAN增強對抗網絡,但是好像不是之後出的。
對CNN也有一些了解。
問我對其他算法的理解程度,回答的不太好。應該說對裡面的公式都推導過,每個算法怎麼來的怎麼工作的都明白。
word2vector怎麼做的,講一下其中的原理。
結果:本以為答的還可以,結果也是一面掛,面試官簡訊說不具有不可替代性。
現場面試30min在南大宣講會上
如何進行分詞,算法原理,分詞的幾種方法,正向最大匹配法,逆向最大匹配法
word2vec 算法原理,輸入是什麼,輸出是什麼,這個要詳細了解
LR公式推導 損失函數 如何多分類 什麼情況下用LR
在一個有序數組中查找一個數,怎麼最快 二分法 O(logn)
在一個無序數組中查找第k大的數字,怎麼最快 堆排序O(n+k*logn) 建立堆要O(n),每次找出最大的要O(logn)
結果:很多基礎問題沒答對,甚至二分寫錯了,LR損失也沒說上,當時還是too young too naïve,很明顯沒有通過面試。
酒店面試20min左右
在項目中遇到過哪些問題,怎麼解決的?
對文本進行向量化,數位化,然後開始模型訓練。
怎麼提升的準確率,你做了哪些?
從85%到90%多你花了多久?我說20天,平均每天半天的時間。
你認為你是努力大於聰明還是聰明大於努力?
你的缺點是什麼?
你有沒有女朋友?
你以為打算在那邊發展?
為什麼選擇金融?
對網際網路有沒有考慮?網際網路金融
結果:通過面試,拿到實習資格,但選擇了直通終面,因為去了其他公司實習,後續有講。
55min杭州網易現場面如何去掉電視劇中的廣告?
詳細介紹下word2vector
介紹百度的項目,用到的聚類,為什麼不用Kmeans,和DBSCAN有什麼區別,Kmeans的複雜度是多少
LR推導,推到梯度那裡
聊聊樹,ID3為什麼相比C4.5能會過擬合,信息熵,條件熵,信息增益,信息增益率
CNN的項目有沒有,CNN作文本也可以,回去跑一個tf的mnist模型
說一下CNN的過程
Xgboost相比GBDT的好處
一個求概率的題,5000個黑球5000個白球,每次摸兩個,如果同色,放一個黑球進去,如果不同色,放一個白球進去,求最後剩一個黑球的概率。
L1 L2正則化,怎麼挑選特徵的,L2對於那些特徵作用小的係數就很小麼?
L1為何能選取稀疏矩陣?
寫個算法吧,快排,說了下遞歸,結果面試官說讓我用非遞歸實現
結果:非遞歸快排沒寫出,一面掛。
一面:酒店預約的五點,6:40才開始面,現場13min
介紹下BSpline算法(介紹了下業務場景,閱讀的KDD論文,先用MATLAB實現,然後用JAVA實現的等等)
介紹下DBSCAN算法的業務場景,介紹下DBSCAN的原理
你的新聞多分類怎麼做的,one vs rest還是one vs one,sklearn裡是怎麼實現的
GBDT也可以多分類,為什麼你選用了LR
新聞多分類最後只使用了準確率作為參考麼,有沒有層次分類,或者分層查看哪一層更準確,哪一層錯誤率高
結果:面試官心不在焉,明顯不想招人了,未通過一面。
一面:55min
百度的BSpline算法,怎麼做的,原理,有沒有投入到線上使用,最後效果怎麼樣
手寫快排
看我的github
跟我介紹一下你的LR
在百度做的數據分析,分析的哪些數據
介紹在百度的業務
如何查找一個文件夾下所有文件的大小和,用什麼數據結構,我說用樹,然後遍歷,遍歷用後序比較節約時間,最後訪問根節點矩陣迷宮問題(我說了動態規劃)
二面:40min
從瀏覽器輸入一個網址,到返回的整個過程。是怎麼尋找到伺服器的
QT4A的底層有看過麼,是怎麼實現的。我說看過,用的是源碼,adb shell的命令行,查找的控制項,UISpy,有沒有對控制項做一些封裝一萬個數去排序,用什麼方法比較好,隨機順序。當N很小時,快速排序慢,歸併排序快,N很大時,無序,堆排序快,有序,快速排序快
結果:面試中表現出不希望被轉崗,未通過。
一面 50min
稍微問了下項目和多分類系統
開始寫代碼,寫一個buffer,帶有讀和寫操作,寫是從每次讀的後一個位置開始
寫完後開始詢問如何保證線程安全,寫一下
如何實現寫讀安全,兩個讀的時候不加鎖(沒有答上)
二面 50min
自我介紹
詢問java基礎,構造函數私有的情況,單例模式
protected和private的區別
final和finally的區別
圖的最短路徑問題
寫一個實際場景的算法,trigger和alarm的時間關係
三面 75min
自我介紹
多分類的項目,數據怎麼獲取的,如何進行訓練
開始寫算法,四道
topk 要求空間複雜度O(1),時間複雜度沒要求,有重複數字,不能改變原有數組
矩陣找數 劍指offer原題
鍊表找公共節點
鍊表找環
結果:一共手撕6道題目,通過面試,拿到了cong郵件實習資格,但最終沒去實習。
50min
一個女面試官
很和藹
寫了20多分鐘的程序
一個新聞多分類系統,怎麼做的,數據預處理怎麼做到
怎麼獲取的數據,去掉停用詞,特徵維數的選取
xgboost和gbdt的區別,shinkage,列抽樣,並行化,優化方法,XGBoost還支持線性分類器
項目都很基礎,所以沒有什麼可以問的
xgboost用的不都是CART樹
DBSCAN的原理
分詞的處理有沒有用過跳詞??????
分詞的語料庫用的哪裡的
其他的分詞工具了解不 jieba
樹模型不適合one hot編碼
auc是多少
樹模型要不要做歸一化
測試集怎麼拿到的。。。
寫一個算法:找到二叉樹每一層的最大值
結果:面試官說項目經驗少,建議轉開發,我拒絕了,當天面試結束。
一面,40min左右
自我介紹
說一下新聞多分類這個項目怎麼做的
講一下word2vecword2vec裡面有CBOW和skip-gram兩種方式,他們的區別(這個沒答好)
說一些特徵選擇的方法,PCA的原理講一下
了解SVD麼,說一下SVD和PCA的區別(這個沒答好)
講一下EM算法,E-step和M-step都是怎麼做的(這個沒答好)
介紹一下LR
了解梯度下降麼,牛頓法和梯度下降的區別
SGD和BGD的區別
RNN和LSTM講一下
深度學習了解麼,講一下CNN的結構
介紹下CNN的優化方法,adam和動量(這個沒答好)
GBDT和XGBoost的區別
了解LightGBM麼,說一下LightGBM和XGBoost的區別
講一下DBSCAN的原理
如果Kmeans沒有設置k,需要怎麼計算
背包問題:了解動態規劃麼,一個書包體積是V,有若干個m V的物體,最後讓書包最重,把方法和遞推公式說一下講一下快速排序的思想,最壞時間複雜度,什麼情況造成的,如何避免(三數取中)
(對方是拼多多廣告團隊,主要做點擊率預估、廣告分發等,算法團隊還有圖像、搜索等部門)
結果:一面通過,郵件邀請二面,因為當時已經確定實習地點,所以拒絕了二面。
14min
問項目,問圖像的項目,如何增加魯棒性,然後問java的Integer和int的區別,初始值都是啥,然後問python如何得到一個文件夾下的目錄
sql中的遊標知道麼
問我的數模做了什麼題目,用的什麼模型。
你為什麼選擇金融行業?
你覺得自己在這個行業有哪些優勢?
結果:通過,5-8月去了華泰證券實習。
以上是我的春招經歷,最終拿到了招行信用卡、微軟和華泰證券三個實習offer,我選擇了華泰證券四個月的實習。以下是秋招的面試經歷。
【秋招階段】——按時間排序
電面45min
自我介紹
問項目:
數字圖像水印,實現的原理,對圖像壓縮之後的效果
邏輯回歸的新聞多分類:數據處理方面,如何調優
驗證碼識別:怎麼實現的多任務
深度學習方面:
驗證碼識別中網絡的結構,自己做了哪些修改,做過哪些優化(回答了添加全連接層,batch_size,epoch個數等)
vc維
兩個矩陣同構和相似的定義
BP環節什麼最重要,回答了激活函數
優化中如果遇到懸崖邊怎麼處理
微積分中梯度的物理意義(速度下降最快的方向和下降的速度多快,一個量化值)
在學校學習過哪些這方面的課程(數據挖掘,線性代數)應該再說一下cs231的
兩個正太分布的相加還是正太分布麼,相乘還是正太分布麼?
平時看過哪些書,作者是誰?
簡歷要對口,投的深度學習,就要主要寫深度學習的項目,機器學習的崗位就主要寫機器學習。
查準率查全率好像說反了。。。
結果:面試官說我崗位不合適,建議優招換下崗位。
一面 男面試官 27min
自我介紹,問了是否是保研,是否雙985
介紹項目
介紹幾個機器學習模型中需要注意的地方
還是介紹項目
二面 hr
20min 男hr
自我介紹
問學校項目和實驗室做項目的區別
問項目中最棘手的地方是哪裡
問自己在nlp方面的優勢
偏向哪個城市
問我的有沒有什麼問題
結果:通過面試,很快拿到了錄用書,然後電話講薪資,直接給了SSP。
20min
春招直通
自我介紹
通過誰知道的招行卡中心,學長
為什麼想來這裡
對以後的打算等
結果:通過面試,拿到offer
電話80min
自我介紹
Java容器的了解,map的存儲方式,如何構建map,有序的map,treemap,如何擴容,n個數插入進hashmap,時間複雜度,每次擴容時要移動所有元素
Python range xrange 哪個是使用迭代器循環,哪個是先生成list再循環
數據結構,介紹下鍊表,了解遞歸麼,然後電話描述如何遞歸翻轉鍊表
機器學習,介紹lr,數據成什麼分布,loss函數,似然函數,求對數,怎麼求最優,什麼方法優化,使用時的注意事項,如何防止過擬合,l1 l2的原理,什麼時候用l1 什麼時候用l2
深度學習,了解哪些,lstm dnn 深度學習有哪些過擬合方法,了解哪些激活函數,激活函數怎麼選用,各有什麼優缺點
詳細介紹下lstm 三個門 每個門的輸入和輸出 輸入是什麼
介紹一個你所做的項目,介紹了華泰的特徵選擇模塊
你有什麼要問的問題
結果:面試已過去一個多月,至今未二面,狀態仍是待安排面試。
hr面 7min
自我介紹
問我對金融的看法
為什麼選擇金融行業
未來3-5年內的職業規劃談一談自己的缺點
結果:通過
一面:50min
百度的項目
華泰證券的項目
算法題,求最小編輯距離
二面:50min
華泰證券項目
Adam 和 SGD 的區別
LR的推導
交叉熵的物理含義,softmax的物理含義
xgboost的工程上的改進
求數字數組中最長的斐波那契數列長度
三面:hr面
對拼多多的看法
自己在專業課這麼多的情況下為何還參加了那麼多的競賽和課外活動
社團活動鍛鍊了自己哪方面的能力,這些能力在現在對你有什麼影響
你期望的offer,我提了40w
你為什麼選擇來拼多多(面向工資編程)
結果:通過,已拿到offer,但給的稍低
一面 65min 男面試官 玄武假日酒店
1、自我介紹
2、介紹新聞多分類的項目,數據獲取,特徵獲得,特徵處理
3、百度地圖實習項目,DBSCAN
4、算法題一:兩個語料庫,一個千萬級別,一個萬級別,返回萬級別中的詞條有沒有出現在千萬級別的語料庫中,考慮時間複雜度空間複雜度等,詞典樹(多叉樹)
5、算法題二:循環移動,一個數組,給定移動第幾位,以及右移多少位,若移動到數組尾部則從頭來
6、介紹下華泰證券實習中的項目,詳細介紹下項目如何優化的
7、寫一下LR的損失函數
8、講一下L1和L2的區別
9、說一下BP10、Java中的ArrayList是鍊表還是數組,為什麼插入和刪除可以O(1)
二面,55min,很和藹的一個面試官
1、自我介紹
2、漲停股的預測錯誤率,在華泰做的啥
3、百度地圖做的啥,留用了為啥不留
4、數組查找題,升序數組,旋轉一下,在旋轉數組中查找有沒有目標數字,二分法當時又寫錯了一點
5、概率題,三個硬幣,一個正正,一個反反,一個正反,隨機取了一枚,拋出是正面,求背面也是正面的概率
6、論文作者歸類,如何查找作者
三面 55min
1、自我介紹
2、算法題,給定一個字符串,給定一個很多子串的集合,求滿足能完整無重疊的拼成字符串的所有集合
3、上題修改為求用最小子集的拼成字符串的集合
4、遞歸,動規,記憶搜索
5、LR的損失函數,梯度下降的矩陣形式
6、對加班的看法
7、有哪些offer,身邊同學的offer情況
8、想來北京還是上海
9、提問題,想不想來度秘做nlp,我拒絕了說想做廣告或推薦
10、邏輯回歸損失函數中為什麼要除m樣本數
結果:本以為面的不錯,結果沒有拿到offer。
一面 qq語音 63min
1、自我介紹
2、java 問String、StringBuffer、StringBuilder的區別,問hashmap是不是線程安全,currentHashMap線程安全的原理
3、華泰的項目(特徵是什麼,用了這麼多模型最後選了啥,bagging,有哪些特徵,開高低收量,9:15-9:20集合競價大單撤單比例,對模型的可解釋性如何操作,有沒有做過特徵組合)
4、問我的博客啥時候寫的
5、百度的項目(路人軌跡擬合,DBSCAN算法,為什麼選用這個算法)
6、新聞多分類(多少個類,怎麼做的特徵,如何拼接在一起,面試官持懷疑,這樣拼接詞向量能到97%準確度??)
7、算法題:一棵普通的二叉樹(不是二叉搜索樹),已知兩個節點,求他們最近的公共父節點)用了遞歸
8、智力題:一個猴子,離家25米,有50根香蕉,猴子手裡最多能拿25根香蕉,每走一米吃一根,問最後回到家最多能剩多少根香蕉?
二面 qq視頻+qq語音 30min
1、自我介紹
2、這麼多模型是在哪裡學的,有沒有上課學(研一數據挖掘課程+自己找項目做)
3、RF、GBDT、XGBoost的區別
4、遇到的最有挑戰性的項目(百度BSpline)
5、新聞多分類數據集怎麼獲得的,特徵怎麼做的
6、了解最新的一些nlp常用的模型麼
7、算法題:一個有序整數數組,(a,a+1,a+2,a+3,….a+m,a+m,a+m+1,….) 大小為N,其中有一個重複的數字,編寫函數實現返回重複數字。
8、(這題在逗我???最後做錯了,用了O(n)的查找複雜度,其實可以二分的,因為是連續數組)
9、現在拿到的offer有哪些,是不是主要想在江浙滬發展。
10、你有什麼問題麼
結果:二面估計是因為編程題想太簡單了,未通過。一個多月後又被安全部門挖到簡歷邀請面試,不過因種種原因拒絕了面試。
華為FX科學家計劃沒通過以後就沒有面試過,邀請過現場面沒去拒絕掉了;網易考拉推薦算法秋招給了兩次杭州面試的機會,最後也都沒去
以上就是個人所有的面經,最後只剩華泰和拼多多兩家offer,其他都已經拒掉了。希望我的面經對大家有所幫助~(ps:小編了解到這位小哥哥最後是拿到了45萬的高薪offer喔~)
看完面經,小編只想用兩個字形容:優秀
小夥伴們看完有啥想法呢?歡迎留言分享吆~
本文的面經首發於七月在線官網社區(https://ask.julyedu.com)
這位小哥哥正在參加我們社區的【程式設計師面經分享大賽】喔,分享面經,贏櫻桃機械鍵盤、kindle、頸椎按摩儀、京東購物卡、2018VIP等。
覺得不錯的親們可以去社區給小哥哥的面經助力喔:關注+評論
面經地址:https://ask.julyedu.com/question/86833
小編再分享哈,我們這位小哥哥還有自己的個公眾號喔:誠樸求食,有什麼問題也可以私聊我們的這位小哥哥哈~
我們的面經活動正在火熱進行中喔,有興趣的小夥伴們,面經也可以寫起來嘍,學習提升自己幫助他人的同時,還能贏大獎喔,本月底活動就要結束啦~
長按識別下方二維碼
☟
長按識別二維碼
【機器學習集訓營第七期】
火熱報名中
前一百人特惠價:13999元
2019年1月14日開課
三個月挑戰年薪四十萬,甚至拿更高薪~
現在報名更是優惠多多喔,報名即送兩門輔助課程《機器學習工程師 第九期》、《深度學習 第四期》,助力您更好的學習機器學習。且兩人及兩人以上組團還能各減500元
諮詢/報名/組團可添加微信客服
julyedukefu_02
☟
長按識別二維碼
活動推薦
活動時間:12月12日-12月19日
活動火熱進行中,還沒參加親們抓緊時間嘍
參與活動贏
七月在線價值3650元VIP年會員、暢銷書籍、京東購物卡
無人駕駛、推薦系統、計算機視覺課程免費學
長按識別下方海報二維碼
關注:七月在線實驗室,回複數字:1212
立即參與
☟ ☟ ☟
活動詳情可戳下方查看
☟
【程式設計師學習節】
如果不想錯過喜歡的內容
可以順手打個"星標」
操作只需要四步
簡單快捷,馬上學起來
更多資訊
戳一戳
☟
往期推薦
【1212程式設計師學習節】免費送京東購物卡、價值3650元的VIP年會員、暢銷書籍、熱門課程等超級福利
斯坦福全球AI報告:人才需求兩年暴增35倍,中國機器人部署量漲500%
程式設計師!進阿里前這6大知識點你真的需要梳理一下了(年後跳槽必看)
Tensorflow實戰:端到端簡單粗暴識別驗證碼(反爬利器)
資源 | 30個經典機器學習項目,GitHub星星加起來超過16萬
程式設計師夏天穿格子衫,那麼冬天穿什麼?答案扎心了哈哈哈哈!
感謝您抽出 · 來閱讀此文
拼團,諮詢,查看課程,請點擊【閱讀原文】
↓ ↓ ↓