0
本文作者: AI研習社-譯站 | 2018-06-04 10:05 |
雷鋒網(wǎng)按:本文為雷鋒字幕組編譯的技術(shù)博客,原標題 What I learned from interviewing at multiple AI companies and start-ups,作者為 Aman Dalmia。
翻譯 | 付騰 杜建忠 整理 | 凡江
在過去的 8 年里,我一直在招聘數(shù)據(jù)科學家,軟件工程師或者研發(fā)工程師的各種公司(如:Google 的 DeepMind,Wadhwani Institute of AI,Microsoft,Ola,F(xiàn)ractal Analytics 等)進行面試。在這一過程中,我不僅可以有機會與許多偉大的思想者交流,也能夠自我反思:面試官到底在尋找什么樣的人才。我相信,如果我以前知道這些知識和經(jīng)驗,我可以更好地準備面試以避免很多錯誤。這是本文的初衷,即:幫助大家得到理想工作的 offer。
畢竟,如果我們一天要用 2/3 的時間工作,它最好值得我們付出這么多精力。
在本文的創(chuàng)作之前,我和我的一位手下探討了一個現(xiàn)象:通過校園招聘得到 AI 行業(yè)的真正令人滿意的工作機會非常少。并且,在本文的準備階段,我發(fā)現(xiàn)人們在找工作的過程中使用了大量的資源,但是從我過去幾個月的經(jīng)驗來看,對大部分 AI 類的工作,人們可以用少量的工作去準備,這一點我將在本文的最后談到。本文將首先介紹如何在簡歷篩選中吸引注意,然后提供一些可以申請的公司和初創(chuàng)企業(yè),接下來談到如何在面試中獲勝。結(jié)合我的經(jīng)驗,我增加一部分,來討論什么樣的公司才是我們的奮斗目標。最后,我給出了準備階段需要使用的最低資源。
注:對那些坐等校園招聘的同學來說,我想附加兩點建議:首先,除了本文的最后一點,本文的大部分內(nèi)容可能對你的幫助不大;然而,第二點,正如我之前提到的,校園招聘的工作機會基本上都是軟件工程師,與 AI 的關(guān)聯(lián)很少。所以,本文的目標對象是那些希望從事 AI 類工作的申請者。此外,需要補充的是,我無法總結(jié)所有面試經(jīng)驗,但我認為本文包括了面試失利的本質(zhì)問題,這正是最好的老師!我在此提到的并非都有用,但是這些都是我曾犯過的錯誤,我不知道還有其他方式可以使本文更加有說服力。
1. 如何在簡歷篩選中吸引注意
說實話,這是最重要的一步。社會招聘之所以艱難費力是因為你要讓你的簡歷在一堆簡歷中脫穎而出。通過公司內(nèi)部員工的引薦將會讓這一步變得非常容易,然而一般來說,這一步可以分為三個關(guān)鍵的小步驟:
a)把常規(guī)性的準備工作做好。常規(guī)性的準備工作是指:LinkedIn 個人資料,Github 個人資料,作品在線展示的網(wǎng)頁和一個潤色好的簡歷。首先,你的簡歷應該真正的簡潔精練??梢酝ㄟ^ Udacity 上的 Resume Revamp 課程美化你的簡歷。課程包括了所有我想表達的注意事項,我一直以此作為我的參考。至于簡歷的模板,Overleaf 上有一些內(nèi)建的格式十分不錯。個人的話,我使用 deedy-resume。下面是一個簡歷的預覽:
如上所示,一頁紙可以容納很多內(nèi)容。但是,如果您真的需要更多內(nèi)容,那么直接使用上面鏈接的格式模板將不會有效。相反,您可以在 https://latexresu.me/ 找到一個修改后的多頁面格式模板。接下來最重要的是你的 Github 個人資料。很多人低估了這一資料的潛在價值,這僅僅因為 Github 與 LinkedIn 不同,它沒有「誰看過你的資料」這一選項。但是,招聘人員確實會查閱你的 Github 資料,因為這是他們驗證你簡歷內(nèi)容真實性的唯一方法,尤其是當下,人們會在他們的個人資料使用各種流行語,這會使招聘人員很難做出正確的判斷。特別是對于數(shù)據(jù)科學而言,開源在大多數(shù)編程工具的使用,各種算法的程序?qū)崿F(xiàn),學習資源列表等方面都扮演著重要的角色。在早期帖子 https://medium.com/@amandalmia18/the-world-of-open-source-8f516c674647中,我討論了參與開源的好處,以及如何從頭開始學習它。綜上所述,目前,準備的最低要求應該是:
如果您還沒有 Github 帳戶,請創(chuàng)建一個 Github 帳戶。
為您已完成的每個項目創(chuàng)建一個存儲庫。
對如何運行項目中的代碼增加清晰的解釋文檔
(可選)為每個文件添加解釋文檔,說明每個函數(shù)的作用,每個參數(shù)的含義,適當?shù)倪\行格式(例如 Python 的 PEP8)以及用于自動執(zhí)行上述步驟的腳本。
接下來,第三步,一個在線作品個人網(wǎng)頁用來展示工作經(jīng)驗和個人項目經(jīng)歷,這是大多數(shù)人所缺少的。制作一個作品展示個人網(wǎng)頁可以表明你希望從事此領(lǐng)域工作的認真態(tài)度,并可以為你的簡歷的真實性加很多分。另外,由于頁數(shù)限制,你的簡歷往往會省略很多細節(jié)。只要你愿意,你可以通過在線作品個人網(wǎng)頁深入探究相關(guān)細節(jié),強烈建議個人網(wǎng)頁能夠通過某種方式實現(xiàn)可視化演示你的項目/想法。創(chuàng)建一個在線作品個人網(wǎng)頁真的很容易,https://medium.com/@tristaljing/top-10-free-online-portfolio-websites-to-create-perfect-ux-ui-design-portfolios-7d99888ab9 列出了很多免費的平臺。通過簡單的拖放功能,制作個人網(wǎng)頁的過程將變得非常輕松。我個人使用 Weebly。這是一個廣泛使用的工具。一開始使用的時候最好參考相關(guān)經(jīng)驗。目前已經(jīng)有很多很棒的攻略,在制作我的個人網(wǎng)頁 http://amandalmia.weebly.com/時,我參考了 http://deshraj.xyz/。
最后要注意的是,現(xiàn)在很多招聘人員和初創(chuàng)公司開始使用 LinkedIn 作為他們的招聘平臺。很多好工作都在那里貼了出來。除招聘人員外,那些在重要崗位上工作的人在 LinkedIn 也非?;钴S。所以,如果你能吸引他們的注意力,你將有很好的機會得到一份理想的相關(guān)工作。除此之外,保持個人資料的簡潔性對于有意與你建立聯(lián)系的人們是必要的。LinkedIn 的一個重要功能是他們的搜索工具。為了讓您可以被及時搜索到,您必須在您的個人資料中加入相關(guān)的關(guān)鍵字(https://www.job-hunt.org/linkedin-job-search/linkedin-keywords.shtml)。當時,我在更新并重新評估個人資料方面花了很多時間,才終于有一個得體有效的個人簡歷。此外,您一定要請求您的同事或領(lǐng)導在 LinkedIn 上正式認可您的技能,并談?wù)撘幌滤麄兣c您合作的經(jīng)歷。所有這些都會增加您在簡歷篩選中真正獲得注意的機會。Udacity 的 https://career-resource-center.udacity.com/linkedin-github-profiles可以更詳細幫助您配置 LinkedIn 和 Github 個人資料。
所有這些工作可能看起來很多,但請記住,您不需要在一天、一星期或一個月內(nèi)完成。這是一個不斷完善的過程。一開始設(shè)置好所有內(nèi)容肯定會花費一些努力,但是這些內(nèi)容一旦設(shè)置好,你只需要隨著閱歷的豐富而不斷更新它。屆時,你不僅會發(fā)現(xiàn)它很容易,而且你還可以隨時隨地介紹你自己,無需事先做好準備,因為您對自己非常了解。
b)做好自己:我發(fā)現(xiàn)很多人犯這種錯誤:為不同的工作使用不同的簡歷。在我看來,您在尋找工作機會之前,最好先決定真正感興趣的工作是什么,你做什么事情會感到開心,而不是相反。AI 人才的需求量超過供應量,這使您不必盲目確定工作。在進行上述常規(guī)性準備時,您可以對自己有一個全面的了解,這會有助于您做出工作決定。此外,您不需要提前準備好在面試時可能被問到的所有問題。因為當你在談?wù)撜嬲P(guān)心的事情時,大多數(shù)問題的答案會自己出現(xiàn)在你的腦子里。
c)社交網(wǎng)絡(luò):一旦你完成了步驟 a)和步驟 b),社交網(wǎng)絡(luò)能真正幫助你找到好工作。如果你不和人交談,你會錯過很多你可以發(fā)揮很好的機會。每天都結(jié)識新人是非常重要的。如果不是面對面交流,那么在 LinkedIn 上也可以。這樣堅持多天后,你就擁有了一個龐大而強大的社交網(wǎng)絡(luò)。社交網(wǎng)絡(luò)不是為了讓你認識的人為你做內(nèi)推。在我開始找工作的時候,我經(jīng)常犯這種錯誤,直到我偶然看到馬克梅?。∕ark Meloon)的這篇優(yōu)秀文章(https://www.markmeloon.com/climbing-relationship-ladder-get-data-science-job/),他談到:建立人與人之間真正的關(guān)系,首先主動幫助他人是十分重要的。社交網(wǎng)絡(luò)中的另一個重要步驟是分享您的消息。例如,如果你擅長某事,就可以在 Facebook 和 LinkedIn 上分享相關(guān)博客的鏈接。這不僅可以幫助他人,還可以幫助你。一旦你有足夠好的社交網(wǎng)絡(luò),你的影響力就會成倍增加。你永遠不知道,社交網(wǎng)絡(luò)中的某個人通過對你的帖子進行點贊或評論,可能會幫助你接觸更廣泛的受眾群體,其中可能包括正在尋找符合你專業(yè)經(jīng)驗的招聘人員。
2. 可以申請的公司和初創(chuàng)企業(yè)名單
為避免誤解,此列表按字母順序。但是,我會在個人推薦的工作機會上加「*」符號。這樣推薦是基于以下幾個方面的考慮:工作任務(wù),人員,同事間互動和學習范圍。超過 1 個「*」完全是因為有第二個或者第三個推薦原因。
Adobe Research
*AllinCall—(由印度理工學院 Bombay 分校的校友創(chuàng)建)
*Amazon
Arya.ai
*Facebook AI Research:智能家居項目
*Fractal Analytics (also acquired:Cuddle.ai,**Qure.ai)
**Google (Brain / DeepMind / X):智能家居項目
Goldman Sachs
Haptik.ai
**HyperVerge—由印度理工學院 Madras 分校的校友創(chuàng)建,他們正致力于來自全球的客戶的實際問題開發(fā) AI 解決方案。創(chuàng)始人包括印度理工學院 Madras 分校著名的計算機視覺項目的創(chuàng)始人員。
IBM Research
*Intel AI labs (Reinforcement Learning)
**Jasmine.ai—創(chuàng)始人是印度理工學院 Madras 分校的校友,他獲得了美國密歇根大學的博士學位。這家公司致力于語言智能,資金雄厚,誠邀英才盡快加入他們的 Bangalore 公司。
JP Morgan
*Microsoft Research:
- 在印度實驗室 1 到 2 年的實習期
- 智能家居項目
MuSigma
Next Education
niki.ai
*Niramai—創(chuàng)始人之前在 Xerox Research 工作,目前致力于研究通過熱成像實現(xiàn)對乳腺癌的早期發(fā)現(xiàn)。
Ola
*OpenAI
*PathAI
Predible Health
Qualcomm
*SalesForce
Samsung Research
*SigTuple
*Suki—為醫(yī)生提供 AI 驅(qū)動的語音助手。最近,它也籌集到了大量資金,并可能即將在印度設(shè)立辦事處。
*Swayatt Robotics—致力于為印度開發(fā)自動駕駛汽車。
**Wadhwani AI—受億萬富翁 Romesh Wadhwani 和 Sunil Wadhwani 資助, 他們的目標是成為第一個致力于 AI 社會福利的組織
*Uber AI Labs & Advanced Technologies Group: 智能家居項目
*Umbo CV—基于計算機視覺的信息安全
Uncanny Vision
Zendrive
注意:這些只是我所知道的公司,如有遺漏,請?zhí)嵝盐?,我會更新這個列表。
附上一些其他的公司參考鏈接:
3. 如何在面試中嶄露頭角
你的面試從你走進房間的時候就開始了。到自我介紹之前就可能會發(fā)生很多事,諸如肢體語言,微笑和對面試官問候等等,都起著很大的作用。尤其是當你在面對初創(chuàng)公司的面試時,公司非常一點,那就是你是否和公司文化是否契合。有一點你也要理解,面試官對于你來說是陌生人,但對于他(她)來說,你也是陌生人。所以,就緊張程度來說,他們可能和你一樣。
將把面試盡量作為你和面試官之間的對話是非常重要的。你們倆都在尋找雙方的契合點,你在尋找一個優(yōu)秀的公司,而面試官也在尋找一個優(yōu)秀的同事(比如你)。所以,你要對自己有信心,同時保證雙方的開場對話輕松愉快。我所知道的最簡單有效的辦法就是微笑。
面試主要有兩種類型:第一種是面試官已經(jīng)準備了一些列的問題來面試,這些問題都是必問的,與你的個人資料無關(guān);另一種則是基于你的簡歷。我從第二種面試開始。
第二種面試通常是從「可以介紹你自己嗎?」這個問題開始。在這一點上,有兩個要注意的地方:第一,談?wù)撃阍诖髮W的 GPA,第二,太過詳細介紹自己的過往項目。好的回答應該在一兩分鐘之內(nèi),簡明扼要的介紹你做過些什么,內(nèi)容可以不限于學術(shù)。比如你的個人愛好,如讀書、運動、冥想等等,主要是能幫別人對你有個大概印象。然后面試官會把你在自我介紹里的某些東西作為下一個問題的開頭,進入技術(shù)方面的面試。這種面試的目的是檢驗簡歷的真實性:
一個真正解決過某個具體問題的人都能夠回答關(guān)于這個問題的各個方方面面。他們能夠深入問題的核心,不然問題不可能解決——Elon Musk
很多相關(guān)問題會被提及,尤其是關(guān)于可以采取的解決方法的選擇,例如是否可以用 X 代替 Y,可能會出現(xiàn)何種情況等等。在這一點上,權(quán)衡很重要,一定要充分了解具體的實際情況。例如,面試官可能說使用更復雜的模型會獲得更好的結(jié)果,那么你可以指出在實際情況下,因為獲得的數(shù)據(jù)較少,反而會導致模型過擬合。在一次面試中,面試官讓我做一個案例分析,具體內(nèi)容是為一個實際場景設(shè)計算法。我注意到,如果我以下面的流程來展開討論的話,面試官會非常喜歡:
問題是什么?> 1 至 2 個已有的解決方案 > 基于公司情況的解決方案 > 可能的結(jié)果 > 從直覺上可行性
另外一種面試只是為了測試基本知識。問題應該不會太難,但肯定會涉及必須掌握的基本知識。主要基于線性代數(shù)、概率、統(tǒng)計、優(yōu)化、機器學習和深度學習。需要準備的背景知識 一節(jié)中提到的資源足夠全面,但一定不要遺漏任何一點。這里要注意的是回答這些問題所花的時間。因為這些問題包含了基礎(chǔ)知識,所以面試官希望你能夠迅速給出答案。所以,根據(jù)自己的實際情況做好準備。
在整個問答過程中,一定要對你知道和不知道的知識保持自信和誠實,這很重要。對于確定不知道的問題,直接說不知道,不要故作思考。如果某個概念真的很重要,但是你覺得很難表達,這時候面試官通常會給你提示,或者一些指導,來讓你找到正確的解決方案(取決于面試開始階段你的表現(xiàn))。正確理解面試官的提示并且找到正確的解決方案是一個很大的加分項。盡量不要緊張,而最佳方法也是 微笑。
現(xiàn)在來到面試結(jié)尾,通常來說,面試者會問你是否有什么問題。這時候你可能認為面試結(jié)束了,回答說沒有問題。據(jù)我所知,很多人就是因為這最后一個問題被拒。之前提到過,你和面試官其實是在互相面試。你和公司雙方都在尋找契合點。從這點來說,很明顯,如果你真的想加入公司,你肯定想搞清楚諸如公司文化,或者公司對你的角色安排等等,甚至是面試官個人感到好奇。,一定要確保給面試官留下你對公司團隊很感興趣的印象,而且你樂于從身邊的事物中學習新知識。一般來說,我對面試者提出的最后一個問題是:反饋意見,就是他們覺得我可以從那些方面得到提升。這些反饋意見給了我巨大的幫助,我仍然記得每一條反饋意見,而且我在日常工作中貫徹它們。(譯者注:最后的問題不要太多,三個為限,最后的 feedback 很重要,一定要用心記下。)
結(jié)束了!根據(jù)我的經(jīng)驗,如果你足夠坦誠,有能力勝任相關(guān)工作,能真正從面試公司的角度出發(fā)看問題,具備契合的思維模式,那么你應該在各項上都達標,很快就能收到 offer 了!?
4. 努力工作的源頭是什么
我們身處一個充滿機會的時代,有機會做任何自己想做的事情。只要你想努力成為某個領(lǐng)域最優(yōu)秀的人,你就能找到走向巔峰的路。Gary Vaynerchuk 說過:別對自己討厭的東西妥協(xié)。
這是一個對 AI 來說偉大的時代。如果你真的對 AI 充滿激情,你可以做許許多多跟 AI 相關(guān)的工作。你可以給那些被低估的人以助力。不要一直抱怨身邊的小事,因為從來沒有一個時代像現(xiàn)在這樣,能讓我們這樣普通人也可以做出真正的貢獻,而不僅僅是抱怨。正如 Jeffrey Hammerbacher 的名言:
我們這一代人中的翹楚都在拼命思考如何吸引人點擊廣告。這太糟了。
我們可以利用 AI 做的事情遠超我們的想象。有很多非常難的挑戰(zhàn),需要極有才華的人來腳踏實地的解決,比如你。你可以讓許多人的生活變得更美好。放棄「酷」的,或者是「看起來不錯」的事情,認真思考,謹慎抉擇。
5. 必須知道的背景知識準備
關(guān)于數(shù)據(jù)科學面試中會出現(xiàn)的問題大部分都可以歸類為以下四類:計算機科學,數(shù)學,統(tǒng)計學和機器學習。
計算機科學
算法和數(shù)據(jù)結(jié)構(gòu)
- InterviewBit (Practise)
- 油管上NPTEL IIT Delhi 的 lectures
操作系統(tǒng)
- 開發(fā)人員必須要記住的 10 個操作系統(tǒng)概念軟件
- Operating System Concepts 這本書的第3,4,5,7章。
-GeeksForGeeks 的操作系統(tǒng)
面向?qū)ο缶幊蹋?/strong>你肯定會被問及系統(tǒng)設(shè)計的問題,例如鐵路售票系統(tǒng)。你首先要和面試者討論他們的需求,需要哪些類型的類,每個類具體應該包含哪些變量/方法,如何使用類繼承(如 Engineer 和 Scientist 類都是 Employee 類派生的)等等。實踐出真知,你可以在這里找到一些基本術(shù)語的解釋。
數(shù)學和統(tǒng)計
如果你對于深度學習背后的數(shù)學機理不是很清楚,那你可以考慮看看我之前的 blog 提供的資源,應該能幫助你理解。如果你對自己的數(shù)學有信心,那我覺得 Ian Goodfellow 大神的花書的第二,三和四章應該足夠你應付一般面試中的理論性問題。我正在準備對花書的一些章節(jié)做總結(jié),這些都是我曾經(jīng)覺得比較難理解的概念,現(xiàn)在我試圖對它們進行解釋,希望這樣對你有些幫助,讓你事半功倍。如果你已經(jīng)完成了概率論的課程,你應該也能回答一些相關(guān)的問題。關(guān)于統(tǒng)計,通讀這些方面應該就夠了。
機器學習
在這一部分,問題的范圍則完全取決于具體面試的工作崗位。如果是傳統(tǒng)的機器學習類的面試,那么機器學習的基礎(chǔ)知識就是重點,那就需要完成下面的課程:
- Machine Learning by Andrew Ng?—?CS229
- Machine Learning course by Caltech Professor Yaser Abu-Mostafa
重要的領(lǐng)域包括:監(jiān)督學習(分類、回歸、支持向量機、決策樹、隨機森林、邏輯回歸、多層感知機、參數(shù)估計、貝葉斯決策規(guī)則),無監(jiān)督學習(K-means 聚類、高斯混合模型),降維(PCA)。(譯者注:在每個大類中,最好能精通至少一個算法,推薦 SVM 和高斯混合模型,因為涉及了 kernel 和 EM 算法,能讓你對 ML 有比較好的理解)
如果申請的職位比較高級,那很可能會被問到有關(guān)深度學習的知識。如果是這種情況,你需要非常了解卷積神經(jīng)網(wǎng)絡(luò)(CNNs)和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNNs)及其變體。想要明白這些,你就要對對深度學習的基礎(chǔ)知識有所了解,比如 CNNs/RNNs 是如何工作的,目前存在哪些主流架構(gòu),以及這些改進的架構(gòu)的動機都是什么。
在這一方面,我們沒有捷徑。無論花多少時間,都要吃透這些知識。對于 CNNs,我推薦斯坦福大學的 CS231N 課程(http://www.mooc.ai/course/268),RNNs 我推薦 CS224N 課程(http://www.mooc.ai/course/494)。Hugo Larochelle 的神經(jīng)網(wǎng)絡(luò)課程(http://www.mooc.ai/course/300)很有啟發(fā),適合新手上路?,F(xiàn)在你應該發(fā)現(xiàn) Udacity 是一個很適合 ML 從業(yè)者的地方。在印度沒有多少強化學習 RL 的應用場所,而我個人也不是對 RL 很在行。所以,我會找機會以后再加進來。
6. 結(jié)論
離開大學之后的職業(yè)生涯是一個自我實現(xiàn)的漫長過程。我知道這是一篇不短的博客,但是我再次非常感謝你能認同并且重視我的想法。希望這篇文章能給你帶來一些啟發(fā),并幫助你以更好的方式為下一次數(shù)據(jù)科學面試做好準備。如果它真的幫助你拿到了 offer,我希望你能切實的思考一下我提到的:我們努力工作的源頭是什么?
7. 鳴謝
我十分感謝來自 IIT Guwahati 的朋友,因為他們提供了有用的反饋,特別是 Ameya Godbole, Kothapalli Vignesh 和 Prabal Jain. 我提到的很多的技巧比如「視面試為交談」和「從面試官那里獲取反饋」等等都是我和 Prabal 多次討論的結(jié)果,Prabal 也是經(jīng)常對我提點讓我能不停的提升我的面試技巧。
你想要的未來一定是你希望事情越來越好,而不是越來越糟。
—Elon Musk
找工作很多時候不是個讓人愉快的過程,但是要相信自己,時刻準備著,不斷的磨練自己,這個世界總有你的位置。
雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。