知乎高贊:面試官如何判斷面試者的機器學習水平?

↑↑↑點擊上方藍字,回覆資料,10個G的驚喜

來源:機器學習初學者

本文約2500字,建議閱讀8分鐘

本文爲你整理高贊回答。


高贊回答一


作者:wei chris

鏈接:https://www.zhihu.com/question/62482926/answer/210794177


幾個必問的問題:

  • 問一些面試官和麪試者都熟悉的問題,把握一下面試者的深度;

  • 問一些面試官熟悉,而面試者不熟悉的問題,考察一下應變和理解力;

  • 問一個面試官不熟悉,而面試者熟悉的問題,考查一下表達;

  • 問個過往項目,有什麼地方可以優化。考查一下迭代意識;

  • 給一個公司現有項目問題,看看解決實際問題能力。


機器學習技術日新月異,面試者的技能儲備和公司需要嚴絲合縫的匹配,其實很難。核心能力不錯的話,其實已經可以了!

高贊回答二


作者:王喆
鏈接:https://www.zhihu.com/question/62482926/answer/529823808

自己拿過Hulu,阿里,騰訊,美團的算法工程師offer,也作爲面試官面試過100+候選人,簡單談一下機器學習工程師的面試,說白了就一句話:

把你做過的機器學習項目的細節講清楚,有自己的理解,對經典的以及前沿的機器學習知識有所瞭解。


機器學習面試要考察三方面的內容:

  • 理論基礎

  • 工程能力

  • 業務理解


之前有的答主羅列了幾乎所有知識點,面試者能夠逐一準備當然是好的,但我不相信有任何人能夠對所有問題有深入的理解。也正因爲這一點,面試官一般不會大面積的深入考察所有知識點,面試時間也不允許,但資深一點的面試官只要從簡歷出發問你一個項目,這三方面的能力也就都考察到了。畢竟魔鬼躲在細節裏嘛。

我記得我的一位面試同學介紹自己實習時候用過XGBoost預測股票漲跌,那面試官會由淺入深依次考察:

  • GBDT的原理 (理論基礎)
  • 決策樹節點分裂時如何選擇特徵,寫出Gini index和Information Gain的公式並舉例說明(理論基礎)
  • 分類樹和迴歸樹的區別是什麼?(理論基礎)
  • 與Random Forest作比較,並以此介紹什麼是模型的Bias和Variance(理論基礎)
  • XGBoost的參數調優有哪些經驗(工程能力)
  • XGBoost的正則化是如何實現的(工程能力)
  • XGBoost的並行化部分是如何實現的(工程能力)
  • 爲什麼預測股票漲跌一般都會出現嚴重的過擬合現象(業務理解)
  • 如果選用一種其他的模型替代XGBoost,你會選用什麼?(業務理解和知識面)

除了上面的問題,我會再檢查一下面試者對NN,RNN,個別聚類算法,模型評估等知識的理解程度以及對GAN,LSTM,online learning是否有基本理解,這是考察面試者對經典以及前沿的機器學習知識的瞭解程度。再稍微檢查一下面試者對工具的瞭解程度,寫一段簡單的spark或者map reduce的程序,如果無誤的話,那麼可以說這位面試者的機器學習部分是完全合格的。

當然,如果你介紹的項目是用CNN實現的,這條考察線路當然是不一樣的,大概會是:“ LR推導->梯度消失->激活函數->TensorFlow調參經驗"這條路,大家體會意思就好。 除此之外,還有其他工程方向的面試官會着重考察coding和一些算法題目,那是另外一個話題了。

根據我去年的面試經驗,即使清華北大的同學也往往無法回答完整這些提問。一項答不出來的話無傷大雅,但兩項答不出來我基本會給fail或maybe。

所以真的希望大家嚴肅對待寫在簡歷上的東西,面試官會刨根問題的問到骨子裏。但就我個人而言我不會深究面試者簡歷之外的東西,比如故意問一問GAN的細節讓你一定要答出來,我認爲這樣毫無意義,有故意刁難之嫌。

最後再談一談對算法工程師面試更深一點的理解,其實面試的根本目的是找一個你願意在一起工作的靠譜的工程師

那麼對於公司來說,什麼人靠譜呢?有不錯的知識儲備,有鑽研問題的能力。所以面試官不僅會考察你知識的廣度,還會考察你項目的深度。只有深度沒有廣度,你學習新問題花的時間可能會過長,這不符合公司的利益,只有廣度沒有深度,你可能不具備攻堅克難的素質和潛力,這也不是一個合格工程師的標準。另外我們招的是工程師,不是科學家,不要求你是理論全才,不用樣樣精通,但因爲招的是工程師,你得懂得解決業務問題,你要熟練的使用工具。

那什麼人你願意一起工作呢? 對於工程師來說,當然是能一起討論問題,一起碰撞出新的idea的人,所以面試的時候很多面試官會問你一些開放的問題,就像上面說的“如果選用一種其他的模型替代XGBoost,你會選用什麼?”。面試官其實不期待你給出什麼高大上的答案,他們希望的是你去說出你的想法,你去跟面試官討論迭代,一起解決這個問題。其實這一點是很多面試者缺少的。也許有的時候是由於緊張或者不自信,你不願意說出自己初級的想法,這樣的考慮是多餘的,沒有任何解決方案一開始是完美的,大膽說出你的想法,講的條理清晰,也許面試官會幫你完善你的方案,這就是一個你願意共事的人的標準。


高贊回答三


作者:匿名用戶
鏈接:https://www.zhihu.com/question/62482926/answer/221091254

灣區某司員工,我們組在招 ML Engineer/Data Scientist,所以近幾周面了不少人,有電面有onsite,講一下個人經驗。

首先我很佩服高票回答能在面試中問那麼細的,就我的經驗而言,電面或onsite一場無非一個小時左右,對於單個面試官來說,能對面試者機器學習方面的基礎知識和數理、編程基礎有些瞭解就很不錯了。由於面試流程所限,在我司根本不可能有讓人花大半個小時悶頭實現個神經網絡。

因爲我們組偏重應用,做機器學習的目的都是爲了解決實際問題,所以招人時對機器學習知識和工程能力都有要求。基本上每個人都要有能力做到:建模、跑實驗、作分析、清理大量數據(TB級以上)、實現並部署模型到生產環境。所以我下面描述的面試內容並不僅限於機器學習。

一般來說面試流程中, 有以下兩類面試情形:

  • 情形A: 偏重機器學習基礎、數理知識,及利用機器學習解決問題的能力。


單場面試:

  1. 問一下做過的項目,挑一個最有意思的詳細問。
  2. 問一道涉及機器學習簡單數學推導的題,一般是概率或者優化之類,然後要求寫代碼實現。
  3. 給一個實際的應用場景,要求面試者設計基於機器學習解決方案:從用什麼模型,用什麼特徵到怎麼部署到生產環境,什麼都可以問。一般題目都是簡化自我們工作中實際遇到過的問題。

  • 情形B: 偏重算法數據結構、大數據處理、機器學習系統實現等。


單場面試:

  1. 問一道一般的算法題,不至於太難,一般用來測試面試者對常用的數據結構是否熟悉,工程能力是否紮實,寫代碼時思維溝通是否清晰,還有代碼風格之類。
  2. 問一道涉及MapReduce的題,當然不會是最簡單的那種word count,一般也是需要一定思考的。
  3. 問一些關於機器學習系統的題,比如分佈式算法,比如在線學習的系統如何設計等等。


總結


其實還有很多不錯的回答,大體上與以上三個回答類似,我就不一一列舉了。祝大家面試順利!

 
    
    
    


推薦閱讀

(點擊標題可跳轉閱讀)

論機器學習領域的內卷

機器學習博士自救指南

機器學習必知必會的 6 種神經網絡類型

你見過的最全面的Python重點知識彙總

100天搞定機器學習:寫YAML配置文件

100天搞定機器學習:模型訓練好了,然後呢?

老鐵,三連支持一下,好嗎?↓↓↓

本文分享自微信公衆號 - 機器學習算法與Python實戰(tjxj666)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

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