面試了10家公司,這是一份機(jī)器學(xué)習(xí)面試的內(nèi)容總結(jié)
先介紹一下我自己,我有過4年以上機(jī)器學(xué)習(xí)的工作經(jīng)驗(yàn),主要工作內(nèi)容有話語分析、文本分析和圖像分析。我認(rèn)為該領(lǐng)域最稀缺的人才是NLP專業(yè),然后是圖像分析(CV),主要進(jìn)行話語或音頻分析的較少。有了五年的工作經(jīng)驗(yàn)后,我的目標(biāo)是中高層職位,可以帶領(lǐng)一個(gè)數(shù)據(jù)或機(jī)器學(xué)習(xí)團(tuán)隊(duì)做一些有趣的研究。以下是我在面試過程中遇到的各種技術(shù)性問題,供大家參考。
全球服務(wù)性公司之一(20—25分鐘)
-
請(qǐng)問你在搭建文檔挖掘系統(tǒng)的過程中,做了哪些工作?
-
假設(shè)給你數(shù)TB的數(shù)據(jù)文件,其中包含PDF、文本文件、圖像、掃描的PDF文件等等。你將如何對(duì)其分類?
-
你如何閱讀掃描的PDF或書面文件?
-
為什么樸素貝葉斯被稱為“樸素”?
-
詳細(xì)談?wù)剺闼刎惾~斯分類器?
-
什么是深度學(xué)習(xí)?機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的區(qū)別在哪里?
除此之外還有一些類似的問題,但是我對(duì)它們有些一頭霧水,完全不知道面試官想聽到什么樣的答案。我一直想探討更深層次的技術(shù)層面的東西,但是他們一直沒有聊到這方面。而且當(dāng)我扯起模型訓(xùn)練、tesseract或者語言模型時(shí),他們似乎完全不吃這一套。也許他們想聽到的是現(xiàn)成的成果,或是很簡(jiǎn)單的解釋。這跟我五年前第一次面試的感覺非常相似。
全球服務(wù)型公司之二(40—45分鐘)
-
你如何能在無監(jiān)督的方式下收集文件?
-
你如何找到與某些查詢問題相關(guān)的文件?
-
解釋一下TF-IDF。
-
根據(jù)我的經(jīng)驗(yàn),TF-IDF在文檔分類或收集方面失敗了,你今后會(huì)怎么改善?
-
什么是LSTM神經(jīng)網(wǎng)絡(luò)?解釋一下它是如何工作的。
-
什么是word2vec向量?
-
Python中可變和不可變對(duì)象是什么意思?
-
你在Python中使用什么數(shù)據(jù)結(jié)構(gòu)?
雖然有幾個(gè)問題是圍繞文本相似度的,但我都順利回答出來了。不過這次和上次一樣,仍然沒有深層次技術(shù)上的探討,或許是考慮到公司有幾個(gè)關(guān)于文本分析的小項(xiàng)目,他們最終還是向我發(fā)出了offer。
全球生產(chǎn)和服務(wù)公司(40分鐘)
-
在不平衡的數(shù)據(jù)集中,你如何處理多類別的分類問題?
-
你是如何從文本句子中進(jìn)行語言識(shí)別的?
-
你如何表示中文或日文中的象形文字?
-
該如何設(shè)計(jì)一個(gè)聊天機(jī)器人?(在這一點(diǎn)上我沒有太多想法)
-
輸入一對(duì)問題和回答,我能用RNN設(shè)計(jì)一個(gè)聊天機(jī)器人嗎?
-
假設(shè)我用Reddit上的數(shù)據(jù)集和RNN或LSTM創(chuàng)建了一個(gè)聊天機(jī)器人,它給了我10個(gè)備選回復(fù),我如何才能選擇最佳的那個(gè)?或者說,我如何刪除其他的回復(fù)?
-
解釋一下SVM是如何學(xué)習(xí)非線性邊界的?
除此之外還有幾個(gè)問題我記不清了,不過這是目前為止第一個(gè)問技術(shù)性問題的公司,我感到非常欣慰。最后這家公司也向我發(fā)了offer。
成立一年的醫(yī)療健康公司(50分鐘)
-
精確率(precision)和召回率(recall)是什么?在醫(yī)學(xué)診斷中,你認(rèn)為哪個(gè)更重要?
-
對(duì)精確率和召回率分別進(jìn)行定義。
-
你如何繪制ROC曲線?ROC曲線下面積表示什么?
-
在多類別分類任務(wù)中你如何繪制ROC曲線?
-
除此之外,還有哪些評(píng)估多類別分類任務(wù)結(jié)果的方法?
-
靈敏度(sensitivity)和特異度(specificity)是什么?
-
隨機(jī)森林中的“隨機(jī)”指什么?
-
你如何進(jìn)行文本分類?
-
在沒有TF-IDF的情況下,你如何確定自己學(xué)會(huì)了文本?
-
你還能用機(jī)器學(xué)習(xí)做些什么?
-
當(dāng)神經(jīng)網(wǎng)絡(luò)由線性節(jié)點(diǎn)構(gòu)成時(shí),它如何學(xué)習(xí)非線性形狀?它如何學(xué)會(huì)非線性邊界?
除此之外還有幾個(gè)不錯(cuò)的問題。盡管面試過程感覺不錯(cuò),但是在某些問題上我們未能達(dá)成一致。而且在面試過程中,我發(fā)現(xiàn)公司只有2—3人專注于ML/DL/DS。
亞馬遜(50—55分鐘)
-
訓(xùn)練決策樹時(shí)的參數(shù)是什么?
-
在決策樹的節(jié)點(diǎn)處分割的標(biāo)準(zhǔn)是什么?
-
基尼系數(shù)的公式是什么?
-
熵的公式是什么?
-
決策樹如何決定在哪個(gè)特征處分割?
-
你如何用數(shù)學(xué)計(jì)算收集來的信息?你確定嗎?
-
隨機(jī)森林的優(yōu)點(diǎn)有哪些?
-
介紹一下boosting算法。
-
gradient boosting如何工作?
-
關(guān)于AdaBoost算法,你了解多少?它如何工作?
-
SVM中用到了哪些核?SVM中的優(yōu)化技術(shù)有哪些?
-
SVM如何學(xué)習(xí)超平面?用數(shù)學(xué)方法詳細(xì)解釋一下。
-
介紹一下無監(jiān)督學(xué)習(xí),算法有哪些?
-
在K-Means聚類算法中,如何定義K?
-
告訴我至少3中定義K的方法。
-
除此之外你還知道哪些聚類算法?
-
談?wù)凞B-SCAM算法。
-
階層聚合式分類法(Hierarchical Agglomerative clustering)是如何工作的?
-
解釋一下PCA,使用PCA時(shí)有哪些數(shù)學(xué)步驟。
-
使用PCA有哪些缺點(diǎn)?
-
CNN如何工作?詳細(xì)說一下使用細(xì)節(jié)。
-
解釋一下CNN中的反向傳播。
-
你如何部署機(jī)器學(xué)習(xí)模型?
-
大多時(shí)候,我們可能需要用C++從零開始搭建機(jī)器學(xué)習(xí)模型,你能做嗎?
我面試的是亞馬遜level 6的職位。我只能說,他們主要的關(guān)注點(diǎn)在算法和背后的數(shù)學(xué)上。不幸的是,我的面試都是即興的,并沒有準(zhǔn)備數(shù)學(xué)方面的知識(shí),我只說了我所記得的所有東西。不過面試官并不認(rèn)為我適合level 6的工作。我相信只要你能記住通用的機(jī)器學(xué)習(xí)算法的數(shù)學(xué)細(xì)節(jié),就能輕易地通過亞馬遜技術(shù)輪面試。
全球服務(wù)型巨頭(50—55分鐘)
-
S函數(shù)的范圍是什么?
-
scikit-learn的哪個(gè)安裝包能實(shí)現(xiàn)邏輯回歸?
-
標(biāo)準(zhǔn)正態(tài)分布的平均數(shù)和變量是什么?
-
你在Python中用什么數(shù)據(jù)結(jié)構(gòu)?
-
文本分類的方法有什么,你都怎樣做?
-
解釋一下TF-IDF,它的缺點(diǎn)有什么?你怎么克服?
-
bigrams和trigrams是什么?用帶有文本句子的例子解釋一下bigram和trigram的TF-IDF。
-
word2vec有哪些應(yīng)用,舉個(gè)例子?
-
你會(huì)怎樣設(shè)計(jì)一個(gè)神經(jīng)網(wǎng)絡(luò)?怎樣把它變深?
-
LSTM是如何工作的?它是怎么記住文本的?
-
什么是樸素貝葉斯分類器?
-
拋10次硬幣,4次是正面的概率有多大?
-
如何獲取Python中列表元素的索引?
-
如果用pandas合并兩個(gè)數(shù)據(jù)集?
-
從用戶角度出發(fā),你需要模擬欺詐活動(dòng),你會(huì)如何解決這個(gè)問題?
-
你更喜歡決策樹還是隨機(jī)森林?
-
使用邏輯回歸和隨機(jī)森林有什么區(qū)別?
-
在分類問題上,你會(huì)用決策樹還是隨機(jī)森林?用隨機(jī)森林有什么優(yōu)點(diǎn)?
最終這家公司向我發(fā)放了數(shù)據(jù)科學(xué)崗位的offer。事實(shí)上,我非常享受這次的技術(shù)性交流。你可能會(huì)覺得這些問題也是最基礎(chǔ)的機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)問題。不過在面試過程中我感到面試官可能不是這一領(lǐng)域的,或者對(duì)現(xiàn)在的發(fā)展了解的不多。
全球商業(yè)管理公司(25—30分鐘)
-
在不平衡的數(shù)據(jù)集中,你會(huì)選擇什么模型:隨機(jī)森林還是boosting?為什么?
-
你了解的boosting技術(shù)有哪些?
-
用監(jiān)督學(xué)習(xí)的方法進(jìn)行分類問題,你會(huì)選擇哪個(gè)模型?(大約40—50個(gè)類別)
-
你如何使用集成技術(shù)?
-
SVM如何工作的?
-
什么是Kernel?簡(jiǎn)單介紹一下。
-
如何執(zhí)行非線性回歸?
-
Lasso回歸和Ridge回歸是什么?
說實(shí)話,這次面試有點(diǎn)水,以至于我沒有認(rèn)真對(duì)待。不過問題還是不錯(cuò)的。我面試的是領(lǐng)導(dǎo)一個(gè)15—16人的團(tuán)隊(duì),在這之后是經(jīng)理面試和HR面試。最終他們給我提供了咨詢崗位以及不錯(cuò)的薪水。
成立4年的生產(chǎn)和服務(wù)型公司(60分鐘)
-
簡(jiǎn)歷上說,你曾做過用語音識(shí)別演講者,具體方法是什么?
-
什么是MFCCs?
-
高斯混合模型是什么,它是如何完成聚類的?
-
如何實(shí)現(xiàn)期望最大化?其中的步驟是什么?
-
GMM中的概率如何計(jì)算?
-
在對(duì)演講者進(jìn)行識(shí)別時(shí),你是如何為GMM-UBM技術(shù)執(zhí)行MAP調(diào)整的?
-
談?wù)勀闼玫腎-向量技術(shù)。
-
語境中的分析因素是什么?
-
JFA和I-向量的區(qū)別是什么?為什么選擇I-向量而不選JFA?
-
你用過PLDA I-向量技術(shù)嗎?
-
你讀過百度的有關(guān)Deep Speaker的論文嗎?
-
如果有兩個(gè)模型都可用,你會(huì)如何選擇?
-
貝葉斯信息度量(BIC)和赤池信息量(AIC)工作的數(shù)學(xué)原理是什么?
-
BIC和AIC背后的原理是什么?
-
在你的MFCC特征向量矩陣中,如果有數(shù)據(jù)丟失怎么辦?
-
如何分辨語言?有什么特點(diǎn)?
-
你的分類器更像是話語和音樂的分類器,還是話語和非話語的分類器?
-
在語言分析應(yīng)用中,如何部署深度神經(jīng)網(wǎng)絡(luò)?
是的,你可能會(huì)問這都是什么問題。非常巧的是,我們兩個(gè)人的研究領(lǐng)域都是語音分析,特別是演講者識(shí)別。所以整個(gè)面試過程一直在圍繞語音分析。很顯然,面試官很專業(yè),并且給了我非常積極的反饋。之后,這家公司給我提供了AI解決方案架構(gòu)師的工作。
建議
在整個(gè)求職過程中,我大概與25—30位專業(yè)人士有過交談,以下是我在這之后能給出的建議:
-
簡(jiǎn)歷很重要。要在其中寫明參加過的項(xiàng)目、Kaggle競(jìng)賽、MOOC證書或者論文。我就是在沒有任何推薦人推薦的情況下接到了亞馬遜的電話。你的簡(jiǎn)歷是打動(dòng)HR和面試官的重要武器。
-
自信心和驅(qū)動(dòng)力是成功的一半。參加面試時(shí)一定要自信,并且展示出你的熱情(尤其是在創(chuàng)業(yè)公司和服務(wù)型公司)。
-
面試時(shí)不要急著回答問題?;ㄐr(shí)間想想如何組織答案,如果有不明白的地方一定要問。面試時(shí)一定要冷靜。
-
在解釋概念時(shí)別忘了表現(xiàn)自己。你可以提幾個(gè)做過的案例,并且要熟悉你簡(jiǎn)歷里寫的技能和項(xiàng)目。
-
如果你是這一領(lǐng)域的新人,在創(chuàng)建簡(jiǎn)歷時(shí)可以從自己做過的項(xiàng)目開始,或者GitHub賬號(hào)也是很有說服力的。除此之外,可以多參加Kaggle競(jìng)賽和MOOC課程。
-
學(xué)會(huì)謙虛,注意傾聽面試官的意見。有的時(shí)候,R和Python的
-
使用者會(huì)互相鄙視,最好不要這樣,不然很可能掛掉。
最后,祝大家面試成功!(小編:答案?擬答案什么的是不可能的,這輩子都不可能的)