翻譯 | 王柯凝
python
出品|人工智能頭條(公衆號ID:AI_Thinker)面試
【導讀】今年年初以來,做者一直在印度找數據科學、機器學習以及深度學習領域的工做。在找工做的這三十四天裏,他面試了8到10家公司,其中也包括初創公司、基於服務的公司以及基於產品的公司。做者但願他的面試經驗可以爲求職者提供一些有用的信息,於是撰寫了此文。但願你讀後可以有所收穫!算法
首先自我介紹一下:小程序
我在機器學習(語音分析、文本分析和圖像分析領域應用)領域有4年以上的從業經驗。總的來講,我認爲這個領域的大多數工做職位主要包括文本分析(天然語言處理)和圖像分析(計算機視覺)。不多有公司招聘語音或音頻分析的人才。我如今的目標是應聘一箇中高級職位,能夠帶領一個深度學習或機器學習團隊作一些有趣的項目。網絡
下面是我在應聘過程當中被問到的問題,但願可以對你有所幫助。
數據結構
▌公司一:基於全球性服務的某公司(面試時長:20-25min)架構
你在簡歷中提到曾經構建過一個文檔挖掘系統,你都作了哪些工做?可否在主題建模(topic modeling)中使用LDA技術實現文檔聚類?app
假設你有數百兆字節的數據文件,這其中包括PDF文件、文本文件、圖像、掃描的PDF文件等等,請你給出一個分類方案。機器學習
你如何閱讀掃描版pdf文件或圖像格式的書面文件的內容?ide
樸素貝葉斯爲何被稱爲「樸素」?
請詳細介紹一下樸素貝葉斯分類器。
什麼是深度學習?深度學習和機器學習的區別是什麼?
體驗:除此以外面試官還問了一些問題,可是都把我問懵了,我徹底不知道他想聽到什麼答案。我一直都想深刻的聊一些技術層面的問題,好比訓練一個 tesseract(一款由HP實驗室開發由Google維護的開源OCR引擎)或語言模型,可是他彷佛並不感興趣。或許他只是想聽到一些已經實現的成果或者是一個好的解釋,又或者是一些更好的方案。我感受他們面試一個新手和麪試一個有經驗的專業人員之間並無什麼區別。
▌公司二:基於全球性服務的某公司(面試時長:40-45min)
在無監督學習中,如何進行文件聚類?
如何找到與某些查詢語句/搜索相關的文件?
解釋下TF-IDF技術。
根據個人經驗來看,TF-IDF技術在文件分類或聚類上效果並很差,你將如何改進?
什麼是長短時間記憶神經網絡(LSTM)?解釋下其工做原理。
什麼是word2vec模型?
解釋下python中的可變對象和不可變對象。
你在python中使用過什麼數據結構?
體驗:整個面試過程都是圍繞着文本類似度提問的,我都順利經過了。可是此次仍舊沒有更深層次的技術探討。或許是公司在文本分析領域有幾個小項目,最終我拿到了公司的offer。
▌公司三:基於全球性產品和服務的某公司(面試時長:40min)
如何使用不平衡數據集( unbalanced dataset)處理多類別的分類問題?
你如何從一個文本語句中進行語言識別?
如何表示中文或日文中的象形字符?
如何設計一個聊天機器人?(我沒什麼想法,但我嘗試用基於TF-IDF類似性的意圖和反饋來回答這個問題。 )
可否使用循環神經網絡設計一個聊天機器人來對輸入的問題進行意圖和回答響應。
假設你在Reddit數據集上使用循環神經網絡或長短時記憶神經網絡設計了一個聊天機器人,它可以提供10種可能的回覆,如何選擇最佳回覆,或者說如何刪除其餘的回覆?
解釋一下支持向量機(SVM)如何學習非線性邊界。
體驗:還有幾個問題我已經記不清了,這是我第一次在面試中深刻談論技術細節,隨後我也拿到了這家公司的offer。
▌公司四:成立一年的醫療初創公司(面試時長:50min)
什麼是精確率(precision)和召回率(recall)?在醫療診斷中,你認爲哪一個更重要?
解釋一下精確率和召回率。
如何繪製受試者工做特徵曲線 (ROC曲線)?ROC曲線下面積是什麼意思?
如何爲多類別分類任務繪製ROC曲線?
列舉多類別分類任務其餘的度量標準。
什麼是靈敏度(sensitivity)和特異度(specificity)?
隨機森林中的「隨機」指什麼?
如何進行文本分類?
如何肯定已經學會了一個文本?沒有TF-IDF技術是否是不可能實現?(我回答說使用n-gram模型(n=1,2,3,4),並使用TF-IDF技術建立一個長的計數向量)
你還能利用機器學習作些什麼?(我建議將長短時間記憶神經網絡和word2vec結合起來,或者是一維循環神經網絡與word2vec結合起來,進行分類。但面試官但願改進基於機器學習的算法。)
當神經網絡由線性節點構成時,神經網絡如何學習非線性形狀?它學習非線性邊界的緣由是什麼?
體驗:還有幾個很好的問題我沒有記住。儘管整個面試過程很不錯,可是咱們在一些問題上見解並不一致。而且在面試期間,我發現做爲一個初創公司,目前只有2-3我的在作ML、DL和DS。最後我沒有面試成功。
▌公司五:亞馬遜公司(面試時長:50-55min)
訓練決策樹時,其參數是什麼?
在決策樹的某個節點處進行分割,其分割標準是什麼?
基尼係數的計算公式是什麼?
熵的計算公式是什麼?
決策樹如何決定在哪一個特徵處必須進行分割?
如何利用數學計算收集來的信息?
簡述隨機森林的優勢。
簡述boosting算法。
梯度提高算法(gradient boosting)是怎樣工做的?
簡述AdaBoost算法工做原理。
SVM中用到了哪些內核?SVM的優化技術有哪些?
SVM如何學習超平面?論述下其數學運算細節。
談一談無監督學習?都有哪些算法?
如何定義K-Means聚類算法中K的值?
列舉至少3中定義K-Means聚類算法中K的方法。
除此以外你還知道哪些聚類算法?
介紹一下DB-SCAM算法。
簡述下分層凝聚聚類(Hierarchical Agglomerativeclustering)的工做原理。
解釋一下主成分分析算法(PCA),簡述下使用PCA算法的數學步驟。
20.使用 PCA算法有哪些缺點?
談談卷積神經網絡的工做原理?詳細說明其實現細節。
解釋一下卷積神經網絡中的反向傳播。
你如何部署機器學習模型?
咱們大部分狀況下都要用C++從零開始搭建一個機器學習模型,這一點你能作到嗎?
體驗:我面試的是亞馬遜level 6的職位。他們的主要關注點是在算法和數學上。可是我並無準備數學方面的知識,我只是談論了我所瞭解的東西,並無在數學的細節上作更爲詳細的探討,所以面試官認爲我並不適合level 6的工做。我相信若是你能記住機器學習算法在數學上的通用表示,就能夠很輕鬆的經過亞馬遜技術面試。
▌公司六:某全球服務巨頭(面試時長:50-55min)
Sigmoid 函數的範圍是什麼?
說出scikit-learn可以實現邏輯迴歸的包的名稱。
標準正態分佈的均值和方差分別是多少?
你在Python中都使用什麼數據結構?
文本分類的方法有哪些?你會怎麼作分類?
解釋TF-IDF技術及其缺點,如何克服TF-IDF的缺點?
什麼是雙詞搭配(Bigrams)和三詞搭配(Trigrams)?用一個文本語句解釋一下雙詞搭配和三詞搭配的TF-IDF技術。
舉例說明word2vec有哪些應用。
如何設計一個神經網絡?如何作到「深度」?這是一個基礎的神經網絡問題。
簡述LSTM的工做原理。它是如何記住文本的?
什麼是樸素貝葉斯分類器?
拋10次硬幣,4次是正面的機率是多少?
如何獲取Python列表中元素的索引?
若是合併兩個pandas數據集?
從用戶行爲來看,你須要模擬一個欺詐活動,你會如何解決這個問題?這是多是一個異常檢測問題或分類問題!
決策樹和隨機森林,你更喜歡哪個?
邏輯迴歸和隨機森林有什麼區別?
你會用決策樹仍是隨機森林來解決分類問題?隨機森林有什麼優勢?
體驗:我也拿到了這家公司的offer。事實上,我很喜歡此次技術交流。或許你會覺着這些問題是機器學習和數據科學領域最基礎的問題,可是我感受面試官可能不是這一領域的,或者是對這個領域的發展瞭解的並很少。
▌公司七:全球性商業管理公司(面試時長:25-30min)
在不平衡數據集中,你會選擇什麼模型:隨機森林仍是Boosting?爲何?
你所瞭解的Boosting技術有哪些?
採用監督學習解決分類問題,你會選擇哪一個模型?假設有 40-50個分類!
你怎樣使用合奏(Ensemble)技術?
簡述支持向量機(SVM)的工做原理。
什麼是Kernel?簡單介紹一下。
如何實現非線性迴歸?
什麼是Lasso迴歸和Ridge迴歸?
體驗:說實話,此次面試有點水,以致於我沒有認真對待。可是問題問的很不錯。我面試的職位是要帶領一個十五六人的團隊作項目,在這以後是經理面試和HR面試。最終他們給我提供了崗位諮詢以及不錯的薪資。
▌公司八:成立4年的生產和服務型公司(60分鐘)
你在簡歷上提到曾經作過演講中的發音識別,具體來說講你的實現方法是什麼?
什麼是梅爾頻率倒譜(MFCCs)?
什麼是高斯混合模型,它是如何完成聚類的?
如何實現指望最大化?講講其實現步驟。
GMM模型中的機率如何計算?
在進行發音識別時,你是如何爲GMM-UBM技術執行MAP調整的?
談談你所用的I-vector技術 。
在分析語境時,主要因素是什麼?
JFA和I-vector的區別是什麼?爲何選擇I-vector而不是JFA?
你有沒有用過PLDA I-vector技術嗎?
有沒有讀過百度的Deep Speaker論文?
若是有兩個模型可供你選擇,你選擇的依據是什麼?(考察模型選擇的技術)
簡述下貝葉斯信息度量(BIC)和赤池信息量(AIC)的數學工做原理。
貝葉斯信息度量和赤池信息量的工做原理是什麼?
若是MFCC特徵向量矩陣中的數據發生丟失,應該怎麼辦?
如何進行語音辨識?有什麼特色?
你的分類器是語音和音樂的分類器,仍是語音和非語音的分類器?
深度神經網絡是如何應用在語音分析中的?
體驗:是的,你可能會驚訝這都是些什麼問題。巧合的是,咱們兩我的的研究領域都是語音分析(尤爲是發音識別)。因此整個面試過程一直在圍繞語音分析進行提問。很顯然,面試官很專業,而且給了我一個正面反饋。以後,這家公司給我提供了AI解決方案架構師的工做。
一些建議
在這整個求職過程當中,我大概和25-30位專業人士有過交流,下面是我爲讀者以及求職者提出的建議:
簡歷很重要。必定要在簡歷中寫清楚你參加過的項目、Kaggle競賽、得到的MOOC課程證書或者論文。我就是在沒有任何推薦人推薦的狀況下接到了亞馬遜的面試電話。你的簡歷是打動HR和麪試官的利器。
自信心和熱情是成功的一半。參加面試時必定要自信,而且向面試官展現出你的熱情(這一點在面試創業公司和基於服務的公司時尤其重要)。
不要過於急着回答面試官提出的問題。花些時間組織好答案再回答,若是對問題有不理解的地方,必定要請教面試官。還有就是在面試時必定要冷靜!
在解釋概念時必定要恰當的表現本身。舉幾個你已經實現過的項目,而且必定要熟悉簡歷中提到的熟練技能和作過的項目。
大多數狀況下,面試官都是在尋找這個領域內有經驗的技術人才。若是你在這個領域仍是一個新手,在建立簡歷時能夠從本身作過的項目開始。你的GitHub帳號也頗有說服力。除此以外,還能夠多參加Kaggle競賽和MOOC課程。
面對面試官的時候,必定要謙虛,注意傾聽面試官的意見,不然你就會被拒之門外。有的時候,使用R語言和Python語言的人會相互鄙視,你最好不要陷入這種爭論當中,不然也容易被拒。我我的認爲R語言和Python語言都是實現邏輯和概念的工具。
最後,祝你們面試成功!
原文連接:
https://appliedmachinelearning.wordpress.com/2018/04/13/my-data-science-machine-learning-job-interview-experience-list-of-ds-ml-dl-questions/
CSDN學院直播小程序上線了
經過CSDN學院直播小程序,你能夠學到 IT 領域前沿技術課程,包括:人工智能、大數據、Python、區塊鏈等,學習的同時更能找到志同道合的朋友。
敲代碼雖然是平常,技術提高才是永遠的王道。咱們更但願可以一塊兒有計劃有目的進階學習。咱們提供專項的技術老師進行直播答疑,提供大咖的源代碼,一切的一切,還須要你來體驗!