作為一個(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ù)自身情況量身打造屬于自己的自我介紹才能吸引面試官眼球。
-
算法工程師
+關(guān)注
關(guān)注
2文章
30瀏覽量
6133
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論