0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

機(jī)器學(xué)習(xí)算法工程師的面試經(jīng)驗(yàn)

工程師人生 ? 來源:工程師吳畏 ? 2019-04-22 16:27 ? 次閱讀

作為一個(gè)過來人,分享一點(diǎn)我的經(jīng)驗(yàn)。

先介紹一下自己,本人是國內(nèi)讀的數(shù)學(xué)本科,北美top統(tǒng)計(jì)系碩士畢業(yè),之后在FLAG之一的總部核心部門做數(shù)據(jù)科學(xué)家。期間面試過20-30名candidate。

想要找到稱心的工作,需要知己知彼,了解公司對(duì)候選人的需求。

數(shù)據(jù)挖掘類的工作近期無論是在國內(nèi)還是北美,都非常炙手可熱,對(duì)于候選人的要求也相應(yīng)地水漲船高。以我司為例,基本只招統(tǒng)計(jì)博士,不過非常優(yōu)秀的統(tǒng)計(jì)碩士或不相關(guān)專業(yè)的博士也有少部分,本科生不招,對(duì)碩士的要求已經(jīng)越來越高。從公司的角度來說,工作內(nèi)容其實(shí)并不需要掌握這么多統(tǒng)計(jì)或機(jī)器學(xué)習(xí)的知識(shí)點(diǎn),往往是在一個(gè)比較小的分支進(jìn)行深入鉆研(例如廣告組的數(shù)據(jù)科學(xué)家可能需要優(yōu)化CTR預(yù)測模型的一小部分,但是需要對(duì)這一部分非常了解)。我了解的一些(包括其他公司)組的工作內(nèi)容甚至不需要進(jìn)行太多數(shù)學(xué)建?;?a href="http://www.wenjunhu.com/v/tag/1315/" target="_blank">編程,以data insight為主,用到最多的是Hive/SQL。之所以公司的簡歷和面試越來越嚴(yán)格,有很大一部分原因是供過于求。大量專業(yè)的畢業(yè)生都對(duì)數(shù)據(jù)挖掘類的工作非常感興趣,而實(shí)際上數(shù)據(jù)挖掘相對(duì)比較容易上手,所以求職者的數(shù)量遠(yuǎn)遠(yuǎn)大于公司的opening。

當(dāng)然,作為一名job seeker,既然現(xiàn)實(shí)就是越來越嚴(yán)格的簡歷篩選和越來越難的面試,那么能做的就是想辦法讓自己能夠從眾多求職者中脫穎而出,盡可能地提升自己綜合實(shí)力。一是要讓自己的簡歷能夠stand out, 二是面試中的表現(xiàn)。

關(guān)于簡歷

關(guān)于簡歷,最重要的一點(diǎn)就是在一頁紙上展現(xiàn)你能為這個(gè)公司這個(gè)職位做貢獻(xiàn)的最突出的technical skills。數(shù)據(jù)科學(xué)家的簡歷屬于technical resume,與普通的簡歷不同,要更突出自己的technical skills。大家可以多和有工作經(jīng)驗(yàn)的數(shù)據(jù)科學(xué)教聊一聊,這樣能更快地了解到業(yè)界所需和自己的不足,也能將自己的簡歷潤色得更加貼近業(yè)界要求。

面試策略

很多面試者在onsite面試中的每輪都沒有太大的不足,該回答的問題都答了出來,卻沒有如期拿到offer。這樣的面試者不為少數(shù),也正因此無法impress面試官。例如我自己當(dāng)時(shí)面試的時(shí)候,自認(rèn)為有兩輪都答得很一般,甚至有一些失誤,但是在某一輪中,我有一道問題的反應(yīng)極快,很明顯感覺到面試官被impress了。當(dāng)然,這樣的機(jī)會(huì)可遇不可求,可以做的就是提高自己的實(shí)力,hope for the best。

Behavior question

Behavior question一般比較隨機(jī),最常見也是最重要的behavior questions就是你的簡歷。比如,我見到過有些candidate在前一兩年full time工作的時(shí)候頻繁跳槽,有的做了幾個(gè)月就跳下一家,如果在簡歷上看到這樣的經(jīng)歷,我也會(huì)順便問一下為什么,因?yàn)槲业腸oncern是你會(huì)不會(huì)來我這里做了幾個(gè)月也跑了,如果有類似經(jīng)歷記得準(zhǔn)備好如何回答。

除了簡歷,談?wù)撔劫Y(what’s your expected salary)也常常是behavior questions被問頻率很高的問題。

避免常見誤區(qū)

很多公司的評(píng)分體系要求對(duì)于候選人進(jìn)行全方位的評(píng)估,例如對(duì)于統(tǒng)計(jì)水平、編程水平、口頭交流能力、業(yè)界經(jīng)驗(yàn)都需要給出評(píng)價(jià)。因此要注意避免以下誤區(qū):只注重理論水平,不進(jìn)行實(shí)際編程和項(xiàng)目;只注重技術(shù),不與人打交道;只知道書本上的內(nèi)容,不去了解業(yè)界的情況。相信如果已經(jīng)面試過幾家公司,你會(huì)發(fā)現(xiàn)在你介紹自己的課程作業(yè)和項(xiàng)目,甚至是Kaggle項(xiàng)目的時(shí)候,面試官都會(huì)告訴你,我們公司里面真的做的時(shí)候,數(shù)據(jù)量遠(yuǎn)大于這些項(xiàng)目,而且會(huì)有很多Kaggle項(xiàng)目和課程作業(yè)中沒有的data problem,例如大量數(shù)據(jù)缺失、特征如何選擇,甚至很多時(shí)候需要自己寫程序提取新的特征。當(dāng)然作為畢業(yè)生,面試官不可能要求你有太多這方面的經(jīng)驗(yàn),但是跟有工作經(jīng)驗(yàn)的學(xué)長學(xué)姐了解一下,會(huì)提高你對(duì)業(yè)界問題的理解,是個(gè)huge plus。

另一個(gè)有效的了解業(yè)界項(xiàng)目的方法是尋找相關(guān)的實(shí)習(xí)機(jī)會(huì)。即使是只有兩個(gè)月的相關(guān)實(shí)習(xí),都會(huì)對(duì)面試乃至將來的工作非常有幫助。如果能找到一份相關(guān)的實(shí)習(xí),除了對(duì)于簡歷有幫助,還能在面試中讓面試官跟你有的可聊,并且可以讓你的表現(xiàn)更上一層樓。我有的時(shí)候會(huì)遇到題目出得不太難或候選人較強(qiáng),候選人提前做完了所有的題目。當(dāng)然這是一個(gè)好的跡象,表明這輪面試比較順利,但是此時(shí)面試官總得找點(diǎn)話題防止尬聊,比如我會(huì)選擇深挖候選人的實(shí)習(xí)經(jīng)歷或者即興問一些工作中會(huì)遇到的問題看看候選人的反應(yīng)。有一些候選人的technical skill非常強(qiáng),但是說不清楚實(shí)習(xí)經(jīng)歷甚至是讓我感覺簡歷造假,這樣就非常尷尬了。如果對(duì)于我的即興問題對(duì)方支支吾吾,給我的感覺就是這位候選人是背答案型選手,并不一定真的理解數(shù)據(jù)挖掘或者有實(shí)際數(shù)據(jù)挖掘經(jīng)驗(yàn)。大家都是過來人,知道候選人都刷題,我作為候選人面試別的公司的時(shí)候一位面試官對(duì)我印象不錯(cuò),跟我說你應(yīng)該能進(jìn),刷題刷得很好。不是說不要刷題,而是說不能只會(huì)刷題,也需要溝通和業(yè)務(wù)理解。當(dāng)然還有一些personality方面的因素,例如是否自信、是否對(duì)數(shù)據(jù)挖掘領(lǐng)域有熱情等等,經(jīng)驗(yàn)豐富的面試官對(duì)于這些都能感覺得出來,也很難偽裝。

面試的時(shí)候遇到做過的題怎么辦?我們建議如果是一看就很有名的題不妨大方承認(rèn)自己見到過,例如見到two sum,然后假裝冥思苦想就沒意思了,反而讓人覺得不夠誠實(shí)。如果面試官聽到你見過,可能有兩種反應(yīng),一種是那我們換一道,另一種就是沒關(guān)系,告訴我你怎么想。如果是第一種,固然承擔(dān)了遇到不會(huì)做的難題的風(fēng)險(xiǎn),但是至少能讓面試官覺得你很誠實(shí),是個(gè)好印象。如果是第二種,那么就是你表現(xiàn)的機(jī)會(huì)了,即使是做過的題目,能夠很快地寫出bug free code并且給出清晰的解釋,就是很優(yōu)秀的表現(xiàn)了。還有一種情況就是這道題不算特別常見,例如leetcode上周周賽剛好做到,那么就沒必要承認(rèn)了,不然如果你leetcode刷完了跑去面試每道題都說見過,那面試官心里就一萬匹神獸在奔騰了。這時(shí)候需要演一下自己沒見過,但是不能演過頭。例如你不能苦思冥想10分鐘什么話都不說,然后突然“真相只有一個(gè)”開始在白板上寫。你需要和面試官交流,首先給出很快能想到的brute force解法,但是不需要寫代碼,然后逐步改進(jìn),遇到比較難的坎可以讓面試官給點(diǎn)提示。

面試千萬不要悶頭想問題,要和面試官進(jìn)行交流。真的卡住的時(shí)候可以要提示,因?yàn)橛刑崾鞠伦龀鰜砗糜谧霾怀鰜?。一般比較nice的面試官都是會(huì)給提示的。遇到完全不懂的領(lǐng)域,可以大方承認(rèn)不太了解。我在面試的時(shí)候遇到過問我網(wǎng)絡(luò)協(xié)議的,我就表示完全不懂這些,不過計(jì)劃下學(xué)期選個(gè)課之類的,對(duì)方就換了一道題,最后也拿到了不錯(cuò)的offer。很多面試官的理念不是用面試來卡你,而是用面試來了解你,因此要揚(yáng)長避短。

我們分為機(jī)器學(xué)習(xí)、統(tǒng)計(jì)、優(yōu)化、編程、業(yè)界經(jīng)驗(yàn)、自我介紹五個(gè)部分介紹面試的準(zhǔn)備工作。

機(jī)器學(xué)習(xí)

Coursera上Andrew Ng開的machine learning是最經(jīng)典的機(jī)器學(xué)習(xí)入門,另外建議把斯坦福的CS229包括作業(yè)都做一下。這門課的編程是MatLab,但是在實(shí)現(xiàn)過程中需要想清楚機(jī)器學(xué)習(xí)算法的數(shù)學(xué)部分,因此是個(gè)很好的訓(xùn)練。斯坦福CS229的好處是非常系統(tǒng)化,如果能夠理解這里面的全部內(nèi)容不但對(duì)機(jī)器學(xué)習(xí)有個(gè)大概認(rèn)識(shí),對(duì)其中每一個(gè)小部分都能比較solid,面試中不會(huì)出現(xiàn)類似于”Logistic Regression我大概知道思路,但是不知道具體的損失函數(shù)是什么,梯度怎么推導(dǎo)”的情況。此外,建議進(jìn)行一定的編程練習(xí),最好熟練掌握Python的sklearn用法。

統(tǒng)計(jì)

需要回顧一下參數(shù)估計(jì)/點(diǎn)估計(jì)、置信區(qū)間、假設(shè)檢驗(yàn)的知識(shí)點(diǎn)。對(duì)于沒有系統(tǒng)性上過統(tǒng)計(jì)課的同學(xué)會(huì)比較challenging。建議找一本統(tǒng)計(jì)的教科書看一下。重點(diǎn)在于t檢驗(yàn)、卡方檢驗(yàn)等。

有些公司面試會(huì)問一些概率論的問題,可以在網(wǎng)上收集一些面試題,推薦Introduction to Quantitative Finance這本書。

優(yōu)化

可能會(huì)有人推薦斯坦福大學(xué)的凸優(yōu)化課程。個(gè)人認(rèn)為是overkill了,這門課內(nèi)容較為全面,遠(yuǎn)超過了面試和工作需要了解的。一般來說,對(duì)于梯度下降的各種變體之間的tradeoff有所了解即可,最好熟悉一下牛頓迭代,簡單了解擬牛頓法(如L-BFGS等)的原理和motivation。

編程

數(shù)據(jù)挖掘類工作的coding要求不同于software engineer類工作。Leetcode上的前150題足矣。建議從easy刷起,medium都要會(huì),hard可以不刷或者直接看思路不寫代碼。語言的話用Python即可。另外SQL需要掌握,一般準(zhǔn)備兩三天就足夠了。如果你熟悉R的話,那么Python可選,建議熟悉一下業(yè)界常用的dplyr庫中的select, aggregate等操作。

業(yè)界經(jīng)驗(yàn)

如果有實(shí)習(xí)經(jīng)驗(yàn),那么就應(yīng)該已經(jīng)對(duì)業(yè)界的實(shí)踐有所了解。否則的話,可以多與身邊已經(jīng)工作的小伙伴進(jìn)行不透露公司機(jī)密的交流。

當(dāng)然,不需要了解業(yè)界的所有部分,但是需要知道大廠的數(shù)據(jù)都是遠(yuǎn)遠(yuǎn)大于平時(shí)的作業(yè)和項(xiàng)目的。如果掌握Hadoop、Spark、Hive等會(huì)比較好,也是簡歷上的plus。對(duì)于A/B test要有基本的理解。

另外,做一些Kaggle上的項(xiàng)目有諸多好處:首先能為你的簡歷添加一些內(nèi)容;Kaggle競賽往往需要對(duì)數(shù)據(jù)進(jìn)行很多exploratory data analysis,并且深挖數(shù)據(jù),是非常實(shí)用的技能;增加不少寫代碼的經(jīng)驗(yàn)和對(duì)建模流程的了解;為了獲得較高的ranking, 需要進(jìn)行大量的調(diào)參和error analysis;討論區(qū)有很多大牛分享的方法和代碼可供學(xué)習(xí);面試的時(shí)候多一個(gè)談資。

自我介紹

一般面試都會(huì)以Tell me about yourself或者Can you walk me through your resume開始,面試官希望你在半分鐘到一分鐘之內(nèi)簡短地突出自己的優(yōu)點(diǎn),也就是我們所說的Elevator pitches。一般的模板是我是誰-》我以前做過什么-》我有什么值得一提的成就和technical skills-》我為什么感興趣這個(gè)職位以及為什么我能勝任這個(gè)職位。每個(gè)人都是獨(dú)特的,要根據(jù)自身情況量身打造屬于自己的自我介紹才能吸引面試官眼球。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 算法工程師
    +關(guān)注

    關(guān)注

    2

    文章

    30

    瀏覽量

    6133
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    電子工程師經(jīng)驗(yàn)分享

    電子工程師在實(shí)際工作中積累了豐富的經(jīng)驗(yàn),這些經(jīng)驗(yàn)對(duì)于新手工程師和電子專業(yè)的學(xué)生具有重要的參考價(jià)值。 一、電路設(shè)計(jì)經(jīng)驗(yàn) 電路設(shè)計(jì)核心思想 電路
    的頭像 發(fā)表于 01-14 10:14 ?57次閱讀

    面試題】人工智能工程師高頻面試題匯總:機(jī)器學(xué)習(xí)深化篇(題目+答案)

    隨著人工智能技術(shù)的突飛猛進(jìn),AI工程師成為了眾多求職者夢寐以求的職業(yè)。想要拿下這份工作,面試的時(shí)候得展示出你不僅技術(shù)過硬,還得能解決問題。所以,提前準(zhǔn)備一些面試常問的問題,比如機(jī)器
    的頭像 發(fā)表于 12-16 13:42 ?2019次閱讀
    【<b class='flag-5'>面試</b>題】人工智能<b class='flag-5'>工程師</b>高頻<b class='flag-5'>面試</b>題匯總:<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>深化篇(題目+答案)

    面試題】人工智能工程師高頻面試題匯總:Transformer篇(題目+答案)

    隨著人工智能技術(shù)的突飛猛進(jìn),AI工程師成為了眾多求職者夢寐以求的職業(yè)。想要拿下這份工作,面試的時(shí)候得展示出你不僅技術(shù)過硬,還得能解決問題。所以,提前準(zhǔn)備一些面試常問的問題,比如機(jī)器
    的頭像 發(fā)表于 12-13 15:06 ?563次閱讀
    【<b class='flag-5'>面試</b>題】人工智能<b class='flag-5'>工程師</b>高頻<b class='flag-5'>面試</b>題匯總:Transformer篇(題目+答案)

    人工智能工程師高頻面試題匯總——機(jī)器學(xué)習(xí)

    隨著人工智能技術(shù)的突飛猛進(jìn),AI工程師成為了眾多求職者夢寐以求的職業(yè)。想要拿下這份工作,面試的時(shí)候得展示出你不僅技術(shù)過硬,還得能解決問題。所以,提前準(zhǔn)備一些面試常問的問題,比如機(jī)器
    的頭像 發(fā)表于 12-04 17:00 ?927次閱讀
    人工智能<b class='flag-5'>工程師</b>高頻<b class='flag-5'>面試</b>題匯總——<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>篇

    圖像算法工程師的利器——SpeedDP深度學(xué)習(xí)算法開發(fā)平臺(tái)

    隨著人工智能的興起,AI工程師特別是基于圖像的算法工程師日益成為炙手可熱的香餑餑。特別是在一些行業(yè)市場例如工業(yè)領(lǐng)域等行業(yè)領(lǐng)域,需要根據(jù)具體場景對(duì)檢測識(shí)別算法進(jìn)行不斷地優(yōu)化完善,以達(dá)到更
    的頭像 發(fā)表于 11-08 01:06 ?345次閱讀
    圖像<b class='flag-5'>算法</b><b class='flag-5'>工程師</b>的利器——SpeedDP深度<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>算法</b>開發(fā)平臺(tái)

    FPGA算法工程師、邏輯工程師、原型驗(yàn)證工程師有什么區(qū)別?

    ,共同進(jìn)步。 歡迎加入FPGA技術(shù)微信交流群14群! 交流問題(一) Q:FPGA中的FPGA算法工程師、FPGA邏輯工程師、FPGA原型驗(yàn)證工程師三者有什么區(qū)別? A:FPGA
    發(fā)表于 09-23 18:26

    嵌入式軟件工程師如何提升自己?

    的基礎(chǔ) 嵌入式軟件工程師需要具備扎實(shí)的計(jì)算機(jī)科學(xué)和工程知識(shí)。因此,在職業(yè)生涯的起步階段,建議將重點(diǎn)放在學(xué)習(xí)基礎(chǔ)知識(shí)上,包括數(shù)據(jù)結(jié)構(gòu)、算法、操作系統(tǒng)、編程語言等。通過深入
    發(fā)表于 06-12 11:20

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    、機(jī)器人等。 定義和工作職責(zé) 嵌入式軟件工程師的主要職責(zé)包括但不限于:設(shè)計(jì)、開發(fā)、測試和調(diào)試嵌入式軟件應(yīng)用程序,以滿足特定硬件和軟件要求。他們需要理解并掌握嵌入式系統(tǒng)的基本原理,熟悉相關(guān)硬件接口
    發(fā)表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識(shí) #面試

    電子工程師電路
    安泰小課堂
    發(fā)布于 :2024年04月30日 17:33:15

    如何入門硬件工程師

    想跨行業(yè)做硬件設(shè)計(jì)工程師,應(yīng)該如何學(xué)習(xí)規(guī)劃呢
    發(fā)表于 03-17 21:49

    fpga工程師前景如何

    FPGA工程師的前景看起來相當(dāng)積極和廣闊。隨著5G通信、物聯(lián)網(wǎng)、邊緣計(jì)算和人工智能等技術(shù)的快速發(fā)展,F(xiàn)PGA工程師的需求將進(jìn)一步增加。FPGA芯片具有可編程性強(qiáng)、并行處理能力強(qiáng)、功耗低等特點(diǎn),因此在
    的頭像 發(fā)表于 03-14 16:32 ?3219次閱讀

    一位硬件工程師的歷練之路:從入門學(xué)習(xí)理論到... #搞笑 #硬件工程師 #電子工程師 #揚(yáng)興科技

    硬件工程師揚(yáng)興科技
    揚(yáng)興科技
    發(fā)布于 :2024年03月13日 17:50:21