今年年初以來,作者一直在印度找數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)以及深度學(xué)習(xí)領(lǐng)域的工作。在找工作的這三十四天里,他面試了8到10家公司,其中也包括初創(chuàng)公司、基于服務(wù)的公司以及基于產(chǎn)品的公司。作者希望他的面試經(jīng)驗(yàn)?zāi)軌驗(yàn)?a target="_blank">求職者提供一些有用的信息,因而撰寫了此文。希望你讀后能夠有所收獲!
首先自我介紹一下:
我在機(jī)器學(xué)習(xí)(語音分析、文本分析和圖像分析領(lǐng)域應(yīng)用)領(lǐng)域有4年以上的從業(yè)經(jīng)驗(yàn)。總的來說,我認(rèn)為這個(gè)領(lǐng)域的大多數(shù)工作職位主要包括文本分析(自然語言處理)和圖像分析(計(jì)算機(jī)視覺)。很少有公司招聘語音或音頻分析的人才。我現(xiàn)在的目標(biāo)是應(yīng)聘一個(gè)中高級(jí)職位,可以帶領(lǐng)一個(gè)深度學(xué)習(xí)或機(jī)器學(xué)習(xí)團(tuán)隊(duì)做一些有趣的項(xiàng)目。
下面是我在應(yīng)聘過程中被問到的問題,希望能夠?qū)δ阌兴鶐椭?/p>
公司一:基于全球性服務(wù)的某公司(面試時(shí)長:20-25min)
你在簡歷中提到曾經(jīng)構(gòu)建過一個(gè)文檔挖掘系統(tǒng),你都做了哪些工作?能否在主題建模(topic modeling)中使用LDA技術(shù)實(shí)現(xiàn)文檔聚類?
假設(shè)你有數(shù)百兆字節(jié)的數(shù)據(jù)文件,這其中包括PDF文件、文本文件、圖像、掃描的PDF文件等等,請(qǐng)你給出一個(gè)分類方案。
你如何閱讀掃描版pdf文件或圖像格式的書面文件的內(nèi)容?
樸素貝葉斯為什么被稱為“樸素”?
請(qǐng)?jiān)敿?xì)介紹一下樸素貝葉斯分類器。
什么是深度學(xué)習(xí)?深度學(xué)習(xí)和機(jī)器學(xué)習(xí)的區(qū)別是什么?
體驗(yàn):除此之外面試官還問了一些問題,但是都把我問懵了,我完全不知道他想聽到什么答案。我一直都想深入的聊一些技術(shù)層面的問題,比如訓(xùn)練一個(gè) tesseract(一款由HP實(shí)驗(yàn)室開發(fā)由Google維護(hù)的開源OCR引擎)或語言模型,但是他似乎并不感興趣?;蛟S他只是想聽到一些已經(jīng)實(shí)現(xiàn)的成果或者是一個(gè)好的解釋,又或者是一些更好的方案。我感覺他們面試一個(gè)新手和面試一個(gè)有經(jīng)驗(yàn)的專業(yè)人員之間并沒有什么區(qū)別。
公司二:基于全球性服務(wù)的某公司(面試時(shí)長:40-45min)
在無監(jiān)督學(xué)習(xí)中,如何進(jìn)行文件聚類?
如何找到與某些查詢語句/搜索相關(guān)的文件?
解釋下TF-IDF技術(shù)。
根據(jù)我的經(jīng)驗(yàn)來看,TF-IDF技術(shù)在文件分類或聚類上效果并不好,你將如何改進(jìn)?
什么是長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)?解釋下其工作原理。
什么是word2vec模型?
解釋下python中的可變對(duì)象和不可變對(duì)象。
你在python中使用過什么數(shù)據(jù)結(jié)構(gòu)?
體驗(yàn):整個(gè)面試過程都是圍繞著文本相似度提問的,我都順利通過了。但是這次仍舊沒有更深層次的技術(shù)探討?;蛟S是公司在文本分析領(lǐng)域有幾個(gè)小項(xiàng)目,最終我拿到了公司的offer。
公司三:基于全球性產(chǎn)品和服務(wù)的某公司(面試時(shí)長:40min)
如何使用不平衡數(shù)據(jù)集( unbalanced dataset)處理多類別的分類問題?
你如何從一個(gè)文本語句中進(jìn)行語言識(shí)別?
如何表示中文或日文中的象形字符?
如何設(shè)計(jì)一個(gè)聊天機(jī)器人?(我沒什么想法,但我嘗試用基于TF-IDF相似性的意圖和反饋來回答這個(gè)問題。 )
能否使用循環(huán)神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)一個(gè)聊天機(jī)器人來對(duì)輸入的問題進(jìn)行意圖和回答響應(yīng)。
假設(shè)你在Reddit數(shù)據(jù)集上使用循環(huán)神經(jīng)網(wǎng)絡(luò)或長短時(shí)記憶神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)了一個(gè)聊天機(jī)器人,它能夠提供10種可能的回復(fù),如何選擇最佳回復(fù),或者說如何刪除其他的回復(fù)?
解釋一下支持向量機(jī)(SVM)如何學(xué)習(xí)非線性邊界。
體驗(yàn):還有幾個(gè)問題我已經(jīng)記不清了,這是我第一次在面試中深入談?wù)摷夹g(shù)細(xì)節(jié),隨后我也拿到了這家公司的offer。
公司四:成立一年的醫(yī)療初創(chuàng)公司(面試時(shí)長:50min)
什么是精確率(precision)和召回率(recall)?在醫(yī)療診斷中,你認(rèn)為哪個(gè)更重要?
解釋一下精確率和召回率。
如何繪制受試者工作特征曲線 (ROC曲線)?ROC曲線下面積是什么意思?
如何為多類別分類任務(wù)繪制ROC曲線?
列舉多類別分類任務(wù)其他的度量標(biāo)準(zhǔn)。
什么是靈敏度(sensitivity)和特異度(specificity)?
隨機(jī)森林中的“隨機(jī)”指什么?
如何進(jìn)行文本分類?
如何確定已經(jīng)學(xué)會(huì)了一個(gè)文本?沒有TF-IDF技術(shù)是不是不可能實(shí)現(xiàn)?(我回答說使用n-gram模型(n=1,2,3,4),并使用TF-IDF技術(shù)創(chuàng)建一個(gè)長的計(jì)數(shù)向量)
你還能利用機(jī)器學(xué)習(xí)做些什么?(我建議將長短期記憶神經(jīng)網(wǎng)絡(luò)和word2vec結(jié)合起來,或者是一維循環(huán)神經(jīng)網(wǎng)絡(luò)與word2vec結(jié)合起來,進(jìn)行分類。但面試官希望改進(jìn)基于機(jī)器學(xué)習(xí)的算法。)
當(dāng)神經(jīng)網(wǎng)絡(luò)由線性節(jié)點(diǎn)構(gòu)成時(shí),神經(jīng)網(wǎng)絡(luò)如何學(xué)習(xí)非線性形狀?它學(xué)習(xí)非線性邊界的原因是什么?
體驗(yàn):還有幾個(gè)很好的問題我沒有記住。盡管整個(gè)面試過程很不錯(cuò),但是我們?cè)谝恍﹩栴}上看法并不一致。并且在面試期間,我發(fā)現(xiàn)作為一個(gè)初創(chuàng)公司,目前只有2-3個(gè)人在做ML、DL和DS。最后我沒有面試成功。
公司五:亞馬遜公司(面試時(shí)長:50-55min)
訓(xùn)練決策樹時(shí),其參數(shù)是什么?
在決策樹的某個(gè)節(jié)點(diǎn)處進(jìn)行分割,其分割標(biāo)準(zhǔn)是什么?
基尼系數(shù)的計(jì)算公式是什么?
熵的計(jì)算公式是什么?
決策樹如何決定在哪個(gè)特征處必須進(jìn)行分割?
如何利用數(shù)學(xué)計(jì)算收集來的信息?
簡述隨機(jī)森林的優(yōu)點(diǎn)。
簡述boosting算法。
梯度提升算法(gradient boosting)是怎樣工作的?
簡述AdaBoost算法工作原理。
SVM中用到了哪些內(nèi)核?SVM的優(yōu)化技術(shù)有哪些?
SVM如何學(xué)習(xí)超平面?論述下其數(shù)學(xué)運(yùn)算細(xì)節(jié)。
談一談無監(jiān)督學(xué)習(xí)?都有哪些算法?
如何定義K-Means聚類算法中K的值?
列舉至少3中定義K-Means聚類算法中K的方法。
除此之外你還知道哪些聚類算法?
介紹一下DB-SCAM算法。
簡述下分層凝聚聚類(Hierarchical Agglomerativeclustering)的工作原理。
解釋一下主成分分析算法(PCA),簡述下使用PCA算法的數(shù)學(xué)步驟。
20.使用 PCA算法有哪些缺點(diǎn)?
談?wù)劸矸e神經(jīng)網(wǎng)絡(luò)的工作原理?詳細(xì)說明其實(shí)現(xiàn)細(xì)節(jié)。
解釋一下卷積神經(jīng)網(wǎng)絡(luò)中的反向傳播。
你如何部署機(jī)器學(xué)習(xí)模型?
我們大部分情況下都要用C++從零開始搭建一個(gè)機(jī)器學(xué)習(xí)模型,這一點(diǎn)你能做到嗎?
體驗(yàn):我面試的是亞馬遜level 6的職位。他們的主要關(guān)注點(diǎn)是在算法和數(shù)學(xué)上。但是我并沒有準(zhǔn)備數(shù)學(xué)方面的知識(shí),我只是談?wù)摿宋宜私獾臇|西,并沒有在數(shù)學(xué)的細(xì)節(jié)上做更為詳細(xì)的探討,因此面試官認(rèn)為我并不適合level 6的工作。我相信如果你能記住機(jī)器學(xué)習(xí)算法在數(shù)學(xué)上的通用表示,就可以很輕松的通過亞馬遜技術(shù)面試。
公司六:某全球服務(wù)巨頭(面試時(shí)長:50-55min)
Sigmoid 函數(shù)的范圍是什么?
說出scikit-learn能夠?qū)崿F(xiàn)邏輯回歸的包的名稱。
標(biāo)準(zhǔn)正態(tài)分布的均值和方差分別是多少?
你在Python中都使用什么數(shù)據(jù)結(jié)構(gòu)?
文本分類的方法有哪些?你會(huì)怎么做分類?
解釋TF-IDF技術(shù)及其缺點(diǎn),如何克服TF-IDF的缺點(diǎn)?
什么是雙詞搭配(Bigrams)和三詞搭配(Trigrams)?用一個(gè)文本語句解釋一下雙詞搭配和三詞搭配的TF-IDF技術(shù)。
舉例說明word2vec有哪些應(yīng)用。
如何設(shè)計(jì)一個(gè)神經(jīng)網(wǎng)絡(luò)?如何做到“深度”?這是一個(gè)基礎(chǔ)的神經(jīng)網(wǎng)絡(luò)問題。
簡述LSTM的工作原理。它是如何記住文本的?
什么是樸素貝葉斯分類器?
拋10次硬幣,4次是正面的概率是多少?
如何獲取Python列表中元素的索引?
如果合并兩個(gè)pandas數(shù)據(jù)集?
從用戶行為來看,你需要模擬一個(gè)欺詐活動(dòng),你會(huì)如何解決這個(gè)問題?這是可能是一個(gè)異常檢測問題或分類問題!
決策樹和隨機(jī)森林,你更喜歡哪一個(gè)?
邏輯回歸和隨機(jī)森林有什么區(qū)別?
你會(huì)用決策樹還是隨機(jī)森林來解決分類問題?隨機(jī)森林有什么優(yōu)點(diǎn)?
體驗(yàn):我也拿到了這家公司的offer。事實(shí)上,我很喜歡這次技術(shù)交流?;蛟S你會(huì)覺著這些問題是機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)領(lǐng)域最基礎(chǔ)的問題,但是我感覺面試官可能不是這一領(lǐng)域的,或者是對(duì)這個(gè)領(lǐng)域的發(fā)展了解的并不多。
公司七:全球性商業(yè)管理公司(面試時(shí)長:25-30min)
在不平衡數(shù)據(jù)集中,你會(huì)選擇什么模型:隨機(jī)森林還是Boosting?為什么?
你所了解的Boosting技術(shù)有哪些?
采用監(jiān)督學(xué)習(xí)解決分類問題,你會(huì)選擇哪個(gè)模型?假設(shè)有 40-50個(gè)分類!
你怎樣使用合奏(Ensemble)技術(shù)?
簡述支持向量機(jī)(SVM)的工作原理。
什么是Kernel?簡單介紹一下。
如何實(shí)現(xiàn)非線性回歸?
什么是Lasso回歸和Ridge回歸?
體驗(yàn):說實(shí)話,這次面試有點(diǎn)水,以至于我沒有認(rèn)真對(duì)待。但是問題問的很不錯(cuò)。我面試的職位是要帶領(lǐng)一個(gè)十五六人的團(tuán)隊(duì)做項(xiàng)目,在這之后是經(jīng)理面試和HR面試。最終他們給我提供了崗位咨詢以及不錯(cuò)的薪資。
公司八:成立4年的生產(chǎn)和服務(wù)型公司(60分鐘)
你在簡歷上提到曾經(jīng)做過演講中的發(fā)音識(shí)別,具體來講講你的實(shí)現(xiàn)方法是什么?
什么是梅爾頻率倒譜(MFCCs)?
什么是高斯混合模型,它是如何完成聚類的?
如何實(shí)現(xiàn)期望最大化?講講其實(shí)現(xiàn)步驟。
GMM模型中的概率如何計(jì)算?
在進(jìn)行發(fā)音識(shí)別時(shí),你是如何為GMM-UBM技術(shù)執(zhí)行MAP調(diào)整的?
談?wù)勀闼玫腎-vector技術(shù) 。
在分析語境時(shí),主要因素是什么?
JFA和I-vector的區(qū)別是什么?為什么選擇I-vector而不是JFA?
你有沒有用過PLDA I-vector技術(shù)嗎?
有沒有讀過百度的Deep Speaker論文?
如果有兩個(gè)模型可供你選擇,你選擇的依據(jù)是什么?(考察模型選擇的技術(shù))
簡述下貝葉斯信息度量(BIC)和赤池信息量(AIC)的數(shù)學(xué)工作原理。
貝葉斯信息度量和赤池信息量的工作原理是什么?
如果MFCC特征向量矩陣中的數(shù)據(jù)發(fā)生丟失,應(yīng)該怎么辦?
如何進(jìn)行語音辨識(shí)?有什么特點(diǎn)?
你的分類器是語音和音樂的分類器,還是語音和非語音的分類器?
深度神經(jīng)網(wǎng)絡(luò)是如何應(yīng)用在語音分析中的?
體驗(yàn):是的,你可能會(huì)驚訝這都是些什么問題。巧合的是,我們兩個(gè)人的研究領(lǐng)域都是語音分析(尤其是發(fā)音識(shí)別)。所以整個(gè)面試過程一直在圍繞語音分析進(jìn)行提問。很顯然,面試官很專業(yè),并且給了我一個(gè)正面反饋。之后,這家公司給我提供了AI解決方案架構(gòu)師的工作。
一些建議
在這整個(gè)求職過程中,我大概和25-30位專業(yè)人士有過交流,下面是我為讀者以及求職者提出的建議:
簡歷很重要。一定要在簡歷中寫清楚你參加過的項(xiàng)目、Kaggle競賽、獲得的MOOC課程證書或者論文。我就是在沒有任何推薦人推薦的情況下接到了亞馬遜的面試電話。你的簡歷是打動(dòng)HR和面試官的利器。
自信心和熱情是成功的一半。參加面試時(shí)一定要自信,并且向面試官展示出你的熱情(這一點(diǎn)在面試創(chuàng)業(yè)公司和基于服務(wù)的公司時(shí)尤為重要)。
不要過于急著回答面試官提出的問題?;ㄐr(shí)間組織好答案再回答,如果對(duì)問題有不理解的地方,一定要請(qǐng)教面試官。還有就是在面試時(shí)一定要冷靜!
在解釋概念時(shí)一定要恰當(dāng)?shù)谋憩F(xiàn)自己。舉幾個(gè)你已經(jīng)實(shí)現(xiàn)過的項(xiàng)目,并且一定要熟悉簡歷中提到的熟練技能和做過的項(xiàng)目。
大多數(shù)情況下,面試官都是在尋找這個(gè)領(lǐng)域內(nèi)有經(jīng)驗(yàn)的技術(shù)人才。如果你在這個(gè)領(lǐng)域還是一個(gè)新手,在創(chuàng)建簡歷時(shí)可以從自己做過的項(xiàng)目開始。你的GitHub賬號(hào)也很有說服力。除此之外,還可以多參加Kaggle競賽和MOOC課程。
面對(duì)面試官的時(shí)候,一定要謙虛,注意傾聽面試官的意見,否則你就會(huì)被拒之門外。有的時(shí)候,使用R語言和Python語言的人會(huì)相互鄙視,你最好不要陷入這種爭論當(dāng)中,否則也容易被拒。我個(gè)人認(rèn)為R語言和Python語言都是實(shí)現(xiàn)邏輯和概念的工具。
最后,祝大家面試成功!
評(píng)論
查看更多