面試了8家公司,他們問了我這些機器學習題目......

AI科技大本營發表於2018-04-23
翻譯 | 王柯凝
出品 | AI科技大本營(公眾號ID:rgznai100)

【導讀】今年年初以來,作者一直在印度找資料科學、機器學習以及深度學習領域的工作。在找工作的這三十四天裡,他面試了8到10家公司,其中也包括初創公司、基於服務的公司以及基於產品的公司。作者希望他的面試經驗能夠為求職者提供一些有用的資訊,因而撰寫了此文。希望你讀後能夠有所收穫!

首先自我介紹一下:

我在機器學習(語音分析、文字分析和影像分析領域應用)領域有4年以上的從業經驗。總的來說,我認為這個領域的大多數工作職位主要包括文字分析(自然語言處理)和影像分析(計算機視覺)。很少有公司招聘語音或音訊分析的人才。我現在的目標是應聘一箇中高階職位,可以帶領一個深度學習或機器學習團隊做一些有趣的專案。

下面是我在應聘過程中被問到的問題,希望能夠對你有所幫助。

▌公司一:基於全球性服務的某公司(面試時長:20-25min)

  1. 你在簡歷中提到曾經構建過一個文件挖掘系統,你都做了哪些工作?能否在主題建模(topic modeling)中使用LDA技術實現文件聚類?

  2. 假設你有數百兆位元組的資料檔案,這其中包括PDF檔案、文字檔案、影像、掃描的PDF檔案等等,請你給出一個分類方案。

  3. 你如何閱讀掃描版pdf檔案或影像格式的書面檔案的內容?

  4. 樸素貝葉斯為什麼被稱為“樸素”?

  5. 請詳細介紹一下樸素貝葉斯分類器。

  6. 什麼是深度學習?深度學習和機器學習的區別是什麼?

體驗:除此之外面試官還問了一些問題,但是都把我問懵了,我完全不知道他想聽到什麼答案。我一直都想深入的聊一些技術層面的問題,比如訓練一個 tesseract(一款由HP實驗室開發由Google維護的開源OCR引擎)或語言模型,但是他似乎並不感興趣。或許他只是想聽到一些已經實現的成果或者是一個好的解釋,又或者是一些更好的方案。我感覺他們面試一個新手和麵試一個有經驗的專業人員之間並沒有什麼區別。

面試了8家公司,他們問了我這些機器學習題目......

▌公司二:基於全球性服務的某公司(面試時長:40-45min)

  1. 在無監督學習中,如何進行檔案聚類?

  2. 如何找到與某些查詢語句/搜尋相關的檔案?

  3. 解釋下TF-IDF技術。

  4. 根據我的經驗來看,TF-IDF技術在檔案分類或聚類上效果並不好,你將如何改進?

  5. 什麼是長短期記憶神經網路(LSTM)?解釋下其工作原理。

  6. 什麼是word2vec模型?

  7. 解釋下python中的可變物件和不可變物件。

  8. 你在python中使用過什麼資料結構?

體驗整個面試過程都是圍繞著文字相似度提問的,我都順利通過了。但是這次仍舊沒有更深層次的技術探討。或許是公司在文字分析領域有幾個小專案,最終我拿到了公司的offer。

面試了8家公司,他們問了我這些機器學習題目......

▌公司三:基於全球性產品和服務的某公司(面試時長:40min)

  1. 如何使用不平衡資料集( unbalanced dataset)處理多類別的分類問題?

  2. 你如何從一個文字語句中進行語言識別?

  3. 如何表示中文或日文中的象形字元?

  4. 如何設計一個聊天機器人?(我沒什麼想法,但我嘗試用基於TF-IDF相似性的意圖和反饋來回答這個問題。 )

  5. 能否使用迴圈神經網路設計一個聊天機器人來對輸入的問題進行意圖和回答響應。

  6. 假設你在Reddit資料集上使用迴圈神經網路或長短時記憶神經網路設計了一個聊天機器人,它能夠提供10種可能的回覆,如何選擇最佳回覆,或者說如何刪除其他的回覆?

  7. 解釋一下支援向量機(SVM)如何學習非線性邊界。

體驗☞:還有幾個問題我已經記不清了,這是我第一次在面試中深入談論技術細節,隨後我也拿到了這家公司的offer。

面試了8家公司,他們問了我這些機器學習題目......

▌公司四:成立一年的醫療初創公司(面試時長:50min)

  1. 什麼是精確率(precision)和召回率(recall)?在醫療診斷中,你認為哪個更重要?

  2. 解釋一下精確率和召回率。

  3. 如何繪製受試者工作特徵曲線 (ROC曲線)?ROC曲線下面積是什麼意思?

  4. 如何為多類別分類任務繪製ROC曲線?

  5. 列舉多類別分類任務其他的度量標準。

  6. 什麼是靈敏度(sensitivity)和特異度(specificity)?

  7. 隨機森林中的“隨機”指什麼?

  8. 如何進行文字分類?

  9. 如何確定已經學會了一個文字?沒有TF-IDF技術是不是不可能實現?(我回答說使用n-gram模型(n=1,2,3,4),並使用TF-IDF技術建立一個長的計數向量)

  10. 你還能利用機器學習做些什麼?(我建議將長短期記憶神經網路和word2vec結合起來,或者是一維迴圈神經網路與word2vec結合起來,進行分類。但面試官希望改進基於機器學習的演算法。)

  11. 當神經網路由線性節點構成時,神經網路如何學習非線性形狀?它學習非線性邊界的原因是什麼?

體驗還有幾個很好的問題我沒有記住。儘管整個面試過程很不錯,但是我們在一些問題上看法並不一致。並且在面試期間,我發現作為一個初創公司,目前只有2-3個人在做ML、DL和DS。最後我沒有面試成功。

面試了8家公司,他們問了我這些機器學習題目......

▌公司五:亞馬遜公司(面試時長:50-55min)

  1. 訓練決策樹時,其引數是什麼?

  2. 在決策樹的某個節點處進行分割,其分割標準是什麼?

  3. 基尼係數的計算公式是什麼?

  4. 熵的計算公式是什麼?

  5. 決策樹如何決定在哪個特徵處必須進行分割?

  6. 如何利用數學計算收集來的資訊?

  7. 簡述隨機森林的優點。

  8. 簡述boosting演算法。

  9. 梯度提升演算法(gradient boosting)是怎樣工作的?

  10. 簡述AdaBoost演算法工作原理。

  11. SVM中用到了哪些核心?SVM的優化技術有哪些?

  12. SVM如何學習超平面?論述下其數學運算細節。

  13. 談一談無監督學習?都有哪些演算法?

  14. 如何定義K-Means聚類演算法中K的值?

  15. 列舉至少3中定義K-Means聚類演算法中K的方法。

  16. 除此之外你還知道哪些聚類演算法?

  17. 介紹一下DB-SCAM演算法。

  18. 簡述下分層凝聚聚類(Hierarchical Agglomerativeclustering)的工作原理。

  19. 解釋一下主成分分析演算法(PCA),簡述下使用PCA演算法的數學步驟。

  20. 20.使用 PCA演算法有哪些缺點?

  21. 談談卷積神經網路的工作原理?詳細說明其實現細節。

  22. 解釋一下卷積神經網路中的反向傳播。

  23. 你如何部署機器學習模型?

  24. 我們大部分情況下都要用C++從零開始搭建一個機器學習模型,這一點你能做到嗎?

體驗我面試的是亞馬遜level 6的職位。他們的主要關注點是在演算法和數學上。但是我並沒有準備數學方面的知識,我只是談論了我所瞭解的東西,並沒有在數學的細節上做更為詳細的探討,因此面試官認為我並不適合level 6的工作。我相信如果你能記住機器學習演算法在數學上的通用表示,就可以很輕鬆的通過亞馬遜技術面試。

面試了8家公司,他們問了我這些機器學習題目......

▌公司六:某全球服務巨頭(面試時長:50-55min)

  1. Sigmoid 函式的範圍是什麼?

  2. 說出scikit-learn能夠實現邏輯迴歸的包的名稱。

  3. 標準正態分佈的均值和方差分別是多少?

  4. 你在Python中都使用什麼資料結構?

  5. 文字分類的方法有哪些?你會怎麼做分類?

  6. 解釋TF-IDF技術及其缺點,如何克服TF-IDF的缺點?

  7. 什麼是雙詞搭配(Bigrams)和三詞搭配(Trigrams)?用一個文字語句解釋一下雙詞搭配和三詞搭配的TF-IDF技術。

  8. 舉例說明word2vec有哪些應用。

  9. 如何設計一個神經網路?如何做到“深度”?這是一個基礎的神經網路問題。

  10. 簡述LSTM的工作原理。它是如何記住文字的?

  11. 什麼是樸素貝葉斯分類器?

  12. 拋10次硬幣,4次是正面的概率是多少?

  13. 如何獲取Python列表中元素的索引?

  14. 如果合併兩個pandas資料集?

  15. 從使用者行為來看,你需要模擬一個欺詐活動,你會如何解決這個問題?這是可能是一個異常檢測問題或分類問題!

  16. 決策樹和隨機森林,你更喜歡哪一個?

  17. 邏輯迴歸和隨機森林有什麼區別?

  18. 你會用決策樹還是隨機森林來解決分類問題?隨機森林有什麼優點?

體驗我也拿到了這家公司的offer。事實上,我很喜歡這次技術交流。或許你會覺著這些問題是機器學習和資料科學領域最基礎的問題,但是我感覺面試官可能不是這一領域的,或者是對這個領域的發展瞭解的並不多。

面試了8家公司,他們問了我這些機器學習題目......

▌公司七:全球性商業管理公司(面試時長:25-30min)

  1. 在不平衡資料集中,你會選擇什麼模型:隨機森林還是Boosting?為什麼?

  2. 你所瞭解的Boosting技術有哪些?

  3. 採用監督學習解決分類問題,你會選擇哪個模型?假設有 40-50個分類!

  4. 你怎樣使用合奏(Ensemble)技術?

  5. 簡述支援向量機(SVM)的工作原理。

  6. 什麼是Kernel?簡單介紹一下。

  7. 如何實現非線性迴歸?

  8. 什麼是Lasso迴歸和Ridge迴歸?

體驗說實話,這次面試有點水,以至於我沒有認真對待。但是問題問的很不錯。我面試的職位是要帶領一個十五六人的團隊做專案,在這之後是經理面試和HR面試。最終他們給我提供了崗位諮詢以及不錯的薪資。

面試了8家公司,他們問了我這些機器學習題目......

▌公司八:成立4年的生產和服務型公司(60分鐘)

  1. 你在簡歷上提到曾經做過演講中的發音識別,具體來講講你的實現方法是什麼?

  2. 什麼是梅爾頻率倒譜(MFCCs)?

  3. 什麼是高斯混合模型,它是如何完成聚類的?

  4. 如何實現期望最大化?講講其實現步驟。

  5. GMM模型中的概率如何計算?

  6. 在進行發音識別時,你是如何為GMM-UBM技術執行MAP調整的?

  7. 談談你所用的I-vector技術 。

  8. 在分析語境時,主要因素是什麼?

  9. JFA和I-vector的區別是什麼?為什麼選擇I-vector而不是JFA?

  10. 你有沒有用過PLDA I-vector技術嗎?

  11. 有沒有讀過百度的Deep Speaker論文?

  12. 如果有兩個模型可供你選擇,你選擇的依據是什麼?(考察模型選擇的技術)

  13. 簡述下貝葉斯資訊度量(BIC)和赤池資訊量(AIC)的數學工作原理。

  14. 貝葉斯資訊度量和赤池資訊量的工作原理是什麼?

  15. 如果MFCC特徵向量矩陣中的資料發生丟失,應該怎麼辦?

  16. 如何進行語音辨識?有什麼特點?

  17. 你的分類器是語音和音樂的分類器,還是語音和非語音的分類器?

  18. 深度神經網路是如何應用在語音分析中的?

體驗是的,你可能會驚訝這都是些什麼問題。巧合的是,我們兩個人的研究領域都是語音分析(尤其是發音識別)。所以整個面試過程一直在圍繞語音分析進行提問。很顯然,面試官很專業,並且給了我一個正面反饋。之後,這家公司給我提供了AI解決方案架構師的工作。

面試了8家公司,他們問了我這些機器學習題目......


一些建議

在這整個求職過程中,我大概和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/



相關文章