普碩的秋招算法崗之路(2019屆)

現在是2019.3.3,金三銀四,剛好是春招黃金時刻,我把18年秋招的經歷以流水賬的形式寫下來,反饋給我的粉絲吧(雖然也沒多少粉絲哈哈,禁止轉載嘿嘿),希望對各位準備找工作找實習的同學有所幫助。這篇面經主要針對算法崗(主要是數據挖掘方向),歡迎大家關注我的博客,有算法相關的問題都可以與我交流。
首先,交代下背景,本人四非(非985非雙一流)一本普通碩士(渣碩這個詞太敏感就不說了哈哈),沒論文,有比賽,有實習經歷。
秋招期間,投了四十個公司,筆試20多個吧,面試10個,offer 5個。

下面是各個公司的面經(按時間先後順序排列):
一 海康杭州研究院:
這個最尷尬了,剛睡醒,一臉懵,而且當時還沒開始準備秋招面試,雖然問題不難,但是答得很糟糕,13分鐘完事。
1, 實習項目;
2, gbdt原理;
3, word2vec原理;
4, 講一個自己熟悉的算法原理;
5, 看我博客有寫動態規劃,就叫我講最長公共子序列;

二 步步高
1面:
主要問項目,沒問算法原理,問答環節我問了很多他們公司在這個崗位的業務和工作,主要是智能手錶和點讀機(大概是這兩個吧,記不太清了);
2面:
應該是某個部門的老大吧,進來之後HR還給他倒水了,然後沒給我倒,很氣。主要問三個問題:非科班,爲什麼想做算法?和其他985好學校的學生比,你有什麼優勢?(然後還說這個問題我不用回答)第三個問題是爲什麼選擇步步高?這一輪面試過程中明確說了想做點讀機相關的,但是一面的面試應該是智能手錶方向的,因此加了一輪技術面;
3面:
因爲短信上說明那天只有一輪技術面+一輪HR面,所以我完全不知道這一輪是技術面,還以爲是一位產品經理,問了項目,梯度消失,深度學習的一些問題,問的並不深,我以爲對方不是搞技術的,答得也很淺;
4面:
這一面是HR面,這一面就比較作死了。期望薪資說得比較高,另外HR問還投了哪些公司,答BAT,能不能儘快來實習,答不能。然後,就沒有然後了。。

3.珍愛網
1面:
面試之前偷瞄了下筆試成績,給了A。面試過程問的不是很深入,主要是聊了兩個實習項目,然後問想做哪個方向,答文本挖掘,然後就問我爲什麼想做文本挖掘,有什麼難度等等;
2面:
這一輪是總監面,從騰訊跳過去珍愛網的。沒問實習項目了,問了兩個比賽,問的很細,用什麼方法,怎麼優化,誤差多大,跟第一名比怎麼樣等等。答得還可以。出了一道題:一個m*n的矩陣,從左下角走到右上角總共有多少種走法?我用動態規劃解了,對方不同意,要我用數學方法證明,我說用數學歸納法,他說不是,最後沒解出來(回來查了一下,就是一道概率題)。

HR面:
常規問題,聊了很多,把我聊嗨了。最後她說他們有在做陌生人社交。我作死問了她不怕被國家監管查嗎balabala。

4.多益網絡
只有一輪技術面:
挑一個自己認爲最成功的項目講
線性迴歸和邏輯迴歸的區別
邏輯迴歸爲什麼可以處理非線性問題
介紹svm原理
一副撲克牌分三堆,大小王分在一起的概率
解釋什麼是外掛?怎麼判斷玩家是否使用外掛,怎麼提取特徵。
爲什麼投多益。有其他offer嗎,薪資如何。

  1. 順豐科技
    面試之前在網上看面經,都說順豐的面試很水,但是我面試的時候面試官是剛畢業的博士後,問的問題還是很難的,所以面試有時候也要看運氣的。。
    1面:
    Tfidf的原理,有什麼缺點,可以用什麼算法改進
    給一段話,怎麼識別出實體(命名實體識別問題)
    瞭解HMM嗎
    瞭解CRF嗎
    知道什麼時間序列算法
    聚類算法懂多少,kmeans與高斯混合模型的區別
    其實答得不是很好,最後面試官說你做過的這些東西我都做過,以後有機會多多交流,然後就讓我通過了,開心。

2面:
HR小姐姐很優秀啊,應該是工科背景,感覺全程在問技術,最優化,gbdt,項目該怎麼做等等,我一度懷疑我是在技術面,第一次遇到懂技術的HR小姐姐啊,膜拜orz

  1. 金山WPS
    2輪技術面+1輪HR面+1輪技術面+1輪部門老大面
    1面:
    詳細講項目
    Tfidf的原理
    textCNN的原理
    用什麼庫分詞
    怎樣搭建textCNN網絡(用什麼框架,庫函數之類的)
    出現樣本不平衡怎麼處理
    平時用什麼庫函數處理數據(答pandas),pandas怎麼做排序,怎麼合併兩個dataframe

2面:
手撕代碼(矩陣順時針打印),因爲做過,所以很快就寫出來了。面試官看我寫這麼快,以爲我很厲害,就問我手頭有什麼offer,當時剛好手上有幾個offer,面試官就認可了我的能力,試探性地叫我解釋minibatch,我也答出來了,接下來就很愉快地聊天了,問我選擇公司的時候最看重什麼,想去哪個地點工作,期望薪資等等。本來報的大數據團隊,面試官說我水平不錯,幫我推薦到他們的AI研究團隊去了,但是要加面。

3面:
這一輪是HR面,各種常規問題,然後HR主要是確認我想去大數據團隊還是AI研究團隊,我跟她說明去AI研究團隊之後,她就安排我去珠海現場加面了。

4面:
詳細講了其中一個視頻分類的項目,要我畫出網絡拓撲圖,機器參數,怎麼看GPU型號等(問的很細節,太久沒看有些記不起來了,答得不好)
講文本挖掘相關的項目,問word2vec的原理(答得比較詳細,被認可)

5面:
AI研究團隊的負責人面的,這一輪主要是想確認我的工作意向,跟我講解團隊工作,氛圍等,希望我過去等等。

7.華爲
華爲我覺得應該重視每個環節,筆試成績也挺重要,只要前面的環節表現好,後面基本上沒什麼問題。
1面:
主要詳細講了兩個實習項目,面試官看我筆試成績比較高,就問我熟悉什麼語言(答Python,也會些c++),問如果總分5分,用c++寫給自己打多少分(答3-4分),怎麼看待機器學習這個領域?主要是兩個項目講的不錯且筆試成績比較高,所以面試官也沒有爲難我,說表現不錯

2面:
一上來就問我有什麼性格缺點(尷尬)。然後看了我前面的記錄(筆試成績+性格測評+第一輪評價),說你筆試成績這麼高啊,前面的評價都不錯,我也不問你具體問題了,然後就向我解釋華爲的薪資構成和各部門的劃分架構等,最後問我有其他offer沒有,看的出來面試官對我的評價很好,本來想給我留電話說有問題可以直接找他,後來說公司不允許私自操作就沒給成。

8.微民保險
2輪技術面+一輪CTO面+一輪HR面
1面:
面試之前手撕了兩道題(鏈表反轉和矩陣轉置),我是最後一個且已經晚上七點多了,面試官也很累了,面試過程只有十幾分鍾,講了一個實習項目,問了一道nlp場景題然後就結束了,具體題目如下:
給很多session,每個session有很多問答對話(類似於我們的微信跟好友對話這樣子),怎麼構建模型提取出每個相關的question-answer對(保證question跟answer是匹配的)。

2面:
這一面問得比較細,兩個實習項目都講了,從其中挖了一些問題問
講LSTM的原理,各個門的作用
手推邏輯迴歸
手撕代碼:給一棵二叉樹,找出樹中最大值以及最大值所在的行和列(當時的思路是用層次遍歷寫,但是沒寫出來,尷尬)
場景題:提供用戶的微信數據,怎麼判斷用戶是否生病,可以怎麼提取特徵

3面:
這一面是CTO面,問了兩個比賽,是多少人蔘加的,自己負責哪個部分,怎麼提取特徵
問我對微保有什麼瞭解,有什麼問題問他(問了算法團隊負責工作,微保在做的互聯網保險跟支付寶在做的有什麼區別和優勢),其他忘了。。

4面:
HR面,也是各種常規問題,不能接受跟什麼樣的同事相處,自己在大學期間的成長,期望薪資(當時要了20K以上,hr第一反應是這麼高啊,把我嚇的,真怕她因此把我拒了),後來發現想多了,還是給offer了,但也沒給我想要的薪資。。

9.迅雷
迅雷一面就掛了,太難了,喜歡問底層原理,對於非科班的我,只能說要不起了。
用過哪些Linux指令
操作系統瞭解多少
Python的多線程有哪些並行方式(如果沒記錯的話)
大數據平臺有了解嗎
Jieba分詞的原理
介紹pandas(講了一些函數),用什麼調試工具
代碼佔用內存太多的情況下,怎麼優化
SVM與LR的區別
解釋偏差與方差
熟悉哪些排序算法,直接插入排序與快速排序的區別
24小時內時針與分針的重複次數
場景題:怎麼找出微博熱點/熱詞
對機器學習的理解

10.美團
2輪技術面+一輪leader+hr面
1面:
詳細問了兩個比賽,主要關注點在如何提取特徵,多少人做怎麼分工,然後說了隊友用規則,問我用了什麼規則(不太記得了,尷尬…)
手撕代碼:給一個01矩陣(矩陣的每個數非0即1),找出全爲1的矩形的面積(沒寫出來…)
CNN跟RNN的應用場景的區別
CNN爲什麼能用於文本任務
其他機器學習問題忘了。。。

2面:
這一面面的很長,將我的簡歷從頭到尾問了一遍,而且問的很細。
詳細講了實習項目,問題目推薦爲什麼要用那個方法
隨機森林與Xgboost的區別,哪一個需要的深度更深
Word2vec原理,word2vec怎樣進行負採樣,解釋霍夫曼樹
Word2vec比以前的神經網絡算法快的原因是什麼
對於LR,決策樹,SVM這三個算法,什麼情況下該用哪個算法,分別講出來
LR跟SVM,小樣本下哪個比較好,爲什麼?SVM線性核情況下,小樣本SVM會比LR好嗎
手撕代碼:給定一個一維數組L表示青蛙過河,其中L[i]==0表示此處沒有石頭,L[i]>=2表示一隻青蛙可以往前跳多少步;判斷青蛙是否能夠過河?

3面:
Leader+hr一起面,leader的問題基本上都是場景題,而且感覺很難回答。
你的項目當時爲什麼要這樣選型,爲什麼要用這個算法
在這個項目中遇到什麼難題,怎麼解決
RNN跟xgboost的應用場景的區別(不太記得是不是這個了…)
場景題:給一段房東與租客的對話,怎麼判斷在具體某個時間段是否有房源

百度:
1面(1h):
項目(問得很細,差點被問趴。。)
Linux熟不熟悉(不熟悉)
C++ STL懂嗎(不懂)
Hadoop, spark這些懂嗎(不懂)
Python2與Python3的區別(比如編碼問題)
LSI具體怎麼做
GBDT的梯度提升是怎麼做的
Xgboost的損失函數可以換成什麼
Xgboost對缺失值是怎麼處理的
Xgboost怎麼做分類
CNN是圖像處理領域的,爲什麼可以用於文本分類(我從textcnn舉例說明)
面試官的評價是數據領域的理解比較透徹,但是工程能力比較差

2面(1h):
項目
PCA原理(講得很亂,沒講清楚)
CNN中爲什麼要用卷積(講利用到局部信息,保留空間特徵)
Python中怎麼判斷兩個變量相等(答AB, |A-B|<10^-6,問AB的話Python底層是怎麼實現的)
大數據處理這一塊瞭解嗎(不懂)
Linux熟不熟悉
代碼題:一個有序數組(如[1,1,1,1,2,3,3,4,55,555]),找出不重複的數,不能引入額外空間消耗,不能改變數組大小,不能改變元素值(答:從左到右遍歷,找出下一個不同的數,將該數與上一個數的第二個值做交換,然後從該不同的數的下一個數繼續遍歷;如上面數組中,找到不等於1的數2,將2與第二個1交換,然後從3開始繼續遍歷)
面試官用指針去遍歷,思路跟我是一致的,居然說我的太複雜了,我的天啊。。

總結:
算法崗主要考察三個部分:項目,機器學習基礎,coding。
1) 項目:對自己的項目一定要深入瞭解,最好有自己的idea,而不是簡單的調包;
2) 機器學習基礎:《統計學習方法》中常見的算法都要熟悉;
3) Coding:這一塊筆試刷leetcode(medium難度足夠了),面試刷劍指offer(劍指一定要刷,不然手撕代碼會很痛苦的,一般面試不會給你留太多時間思考的)。

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