一份AI公司應聘指南: AI 從業人員如何在面試中引起注意?
這篇文章是專門為那些想利用人工智能解決有趣問題的人寫的。
過去 8 個月里,我參加了谷歌 DeepMind、Wadhwani 人工智能研究所、微軟、Ola、Fractal Analytics 等多家公司的面試,應聘數據科學家、軟件工程師和研究工程師等職位。在這個過程中,我不僅有機會與許多厲害的人物打交道,還能審視自己,了解面試官在面試過程中真正想要什么。我相信,如果我以前有這方面的知識,就可以避免許多錯誤,并以更好的方式做好準備,這也是我撰寫此文的動機,希望本文能夠幫助別人找到理想的工作。
畢竟,如果人生(至少)三分之二的時間都在工作,那么最好找一份值得的吧。
本文的靈感源于我和一個三年級學生的討論,他認為從事 AI 的人很難通過校園招聘找到滿意的工作機會。此外,我在為面試做準備的時候,發現人們使用了大量資源,但根據過去幾個月的經驗,我認為對于大多數 AI 從業人員,很多基本資源都是不必要的,文末列出了所需資源的最簡清單。本文首先介紹如何在面試中引起注意,然后我提供了一份可以申請的企業和初創公司名單,接著是如何在面試中取得成功。我根據個人經驗,增加了一個我們應該為何努力工作的部分。最后是準備工作所需的最少資源。
注意:對于那些在等校園招聘的人,我想補充兩點:首先,我要說的大部分內容(可能除了最后一點)都與你無關。但是,第二點是,正如我之前提到過的,校園招聘的工作機會大多是軟件工程崗,與人工智能沒有交集。所以,這篇文章是專門為那些想利用人工智能解決有趣問題的人寫的。此外,我還想補充一點,我并沒有通過所有面試,但我想這就是失敗的意義——它是最偉大的老師。本文提到的事情可能并非全都有用,但這些都是我的經驗,我不知道還有什么辦法能讓它變得更有說服力。
一、如何在面試中引起注意
老實說,這一步最重要。讓社會招聘變得如此艱難和疲憊的原因是如何讓招聘人員在收到的眾多申請中仔細查看你的個人資料。與公司內部人員建立聯系可以讓你很容易地獲得推薦,但一般而言,這一步可細分為三個關鍵步驟:
1. 做好相關準備
即準備好領英檔案、Github 檔案、個人網站以及一份精心打造的簡歷等材料。首先,你的簡歷應該非常整潔和精煉??梢愿鶕?Resume Revamp?來規劃簡歷,它包含我想說的所有有關簡歷的內容,我自己也一直用它作為參考。至于簡歷模板,Overleaf 上提供的一些格式很不錯。我個人使用?deedy-resume,以下是預覽:
如上圖所示,一頁可以有很多內容。但是,如果你要寫的內容不止于此,那么上述格式的直接效果不會太好。你可以在這里找到多頁格式:https://latexresu.me/。下一個要點是你的 GitHub 資料。很多人僅僅因為它不像 LinkedIn 那樣具備「誰看過你的資料」選項,而低估了它的重要性。人們真的會看你的 GitHub,因為這是驗證你 CV 中提及項目的唯一方式,鑒于人們現在在自己的職業資料中添加了很多與各種流行詞相關的噪聲。尤其是對于數據科學來說,開源意味著把使用的很多工具、實現的不同算法、各種學習資源都開放出來了。我在之前的文章里談過開源的益處和如何從頭開始創建自己的 GitHub。最低要求是:
- 創建一個 GitHub 賬號;
- 為自己做過的項目創建一個 repo;
- 添加關于如何運行代碼的清晰文檔說明;
- 為每個提及函數作用、參數意義、格式和腳本的單個文件添加說明文檔。
第三步是大部分人缺少的,即在招聘網站上展示自己的經歷和個人項目。制作個人職業資料表示你非常嚴肅地考慮進入某領域,在真實性上加了很多分。此外,履歷(CV)通常會有空間限制,可能會缺失一些重要細節。你可以在個人職業資料中深入介紹這些細節,推薦對項目/思路進行某種形式的可視化或其他展示。創建一份職業資料非常簡單,有很多免費平臺,通過拖放功能就可以實現這一過程。我個人使用 Weebly,這是個廣泛使用的工具。開頭有 reference 更好。有很多不錯的例子,不過我參考了 Deshraj Yadav 的個人網站,制作了我自己的:
最后,很多招聘者和創業公司開始使用領英作為招聘平臺,領英上有大量好工作。除了招聘者之外,擔任有影響力職務的人在領英上也很活躍。因此,如果你可以吸引他們的注意力,你就有機會進入面試。
此外,維護個人資料也是必要的,這樣人們更有意愿與你聯系。領英的一個重要部分是搜索工具,如果你想被看到,那么你的資料中必須有相關關鍵詞。我更改了很多次,進行了多次評估,才有了一份不錯的個人資料。你還應該請同事或領導為你的技能背書、寫推薦語。所有這些都會提高你被注意到的幾率。領英和 Github 個人資料指南,可參考:https://career-resource-center.udacity.com/linkedin-github-profiles。
這看起來太多了,但是記住,你不必要一天內或者一周、一個月內完成。這是一個過程,一個不會結束的過程。起初設置好一切肯定需要你付出精力和時間,但是一旦完成,你就只需要定期更新條目就可以了,這種方法不僅容易,而且還可以隨時隨地談論自己,不用刻意準備,因為你對自己已經有了清晰的認知。
2. 確保真實性
我見過很多人犯下這樣的錯誤,他們的個人資料出現在多個不同的職位之外。我認為,更好的做法是先確定自己真正感興趣、樂意做的事情,再尋找相關機會,而不是反過來。AI 人才供不應求的現狀給你提供了機會?;ㄒ恍r間按上述做法定期更新資料能夠使你對自己有一個全面的認知,幫助你及早確定方向。此外,你無需對面試中可能被問的不同問題準備答案。大部分答案在你談論自己真正熱愛的事情時會自然而然地出現。
3. 人際關系網
完成 a 和 b 之后,人際關系網將真正幫助你達到目的。如果你不和別人溝通,那么你可能錯過很多好機會。每天聯系新的人是很重要的,如果不能面見,那就在領英上溝通,這樣過些時候,你就擁有了強大的大型人際網絡。
人際關系不是聯系別人為你寫推薦信。我最初經常犯這個錯誤,直到讀了 Mark Meloon《Climbing the Relationship Ladder to Get a Data Science Job》一文,他在這篇文章中談論了通過率先提供幫助來構建真實聯系的重要性。構建人際關系過程中另一個重要的步驟是展示自己。比如,如果你擅長某事,在博客中寫出來,然后在 Facebook 和 LinkedIn 上分享這篇博客。這樣不僅能夠幫助到別人,還能幫助到自己。
一旦你擁有了足夠強大的人際關系網,那么你被人看到的幾率將大大提升。你不會知道你關系網中的一個人是否喜歡、如何評價你的博客,這或許可以幫助你接觸到更廣泛的受眾,包括尋找像你這樣具備某方面專業知識的人才。
二、可以申請的企業及初創公司名單
我將按字母順序呈現該列表,避免帶來優先性方面的誤解。但是,我會在我個人推薦的那些公司上面加上*。本推薦列表基于以下因素:使命陳述、人員、人際互動、學習范圍。多于一個的*是完全基于第 2 和第 3 個因素而加的。
- Adobe Research
- *AllinCall(由印度理工學院孟買分校校友會創建)
- *Amazon
- Arya.ai
- *Facebook AI Research: AI Residency Program
- *Fractal Analytics(以及 Cuddle.ai、**Qure.ai)
- **谷歌(Brain/DeepMind/X):AI Residency Program
- 高盛
- Haptik.ai
- **HyperVerge——由印度理工學院馬德拉斯分校校友會創建,他們正在與世界各地的客戶合作,為現實問題開發人工智能解決方案,創始人包括在該校創立著名計算機視覺小組的人
- IBM Research
- *Intel AI labs(強化學習)
- **Jasmine.ai——由在密歇根大學獲得博士學位的印度理工學院馬德拉斯分校校友會創辦,他們致力于會話智能研究。而且他們的資金很充足。他們正在尋找能盡快加入班加羅爾辦事處的人:https://docsend.com/view/xff9hwr
- 摩根大通;
- *Microsoft Research:印度實驗室 1 到 2 年研究員職位,AI Residency Program
- MuSigma
- Next Education
- niki.ai
- *Niramai:由之前在施樂研究公司的員工組成,致力于使用熱成像技術進行乳腺癌早期篩查
- Ola
- *OpenAI
- *PathAI
- Predible Health
- Qualcomm
- *SalesForce
- Samsung Research
- *SigTuple
- *Suki:為醫生設計的 AI 語音助手。近期,它籌集到大量資金,可能很快會在印度開設辦事處
- *Swayatt Robotics:開發適應印度交通條件的自動駕駛汽車
- **Wadhwani AI:由億萬富翁 Romesh Wadhwani 和 Sunil Wadhwani 資助,他們的目標是成為 AI 領域的第一個社會公益組織
- *Uber AI Labs & Advanced Technologies Group:AI Residency Program
- *Umbo CV:使用計算機視覺的安全性
- Uncanny Vision
- Zendrive
三、 如何贏得面試
從你走進房間的那一刻起,面試就已經開始了。從那一刻到進行自我介紹之前可能會發生很多事——你的肢體語言及微笑問候起著很大的作用,尤其是當你去一家初創公司面試時,他們非常關心這一點。你要知道,盡管對于你來說面試官是陌生人,但對于他/她來說你也是陌生人。所以他們可能和你一樣緊張。
把面試看作是你和面試官之間的對話,這點非常重要。你們倆都在尋找對雙方都有利的結果(mutual fit)——你在尋找一個優秀的工作場所,而面試官在尋找一個優秀的共事者。所以,確保你對自己感覺良好,同時保證對話的開場令人愉悅。要做到這一點,最簡單的方法就是微笑。
面試主要有兩種類型——一種是面試官帶著準備好的問題來面試,不管你的個人資料如何,他/她都會問你這些問題;另一種面試基于你的簡歷。我從第二種面試開始解釋。
第二種面試的開場白通常是“可以簡單介紹下自己嗎”。關于這個問題的回答有兩個大忌——談論你在大學的 GPA 或詳細介紹自己的項目。理想的回答應該控制在一兩分鐘左右,簡要說明你做過些什么,內容并不局限于學術??梢哉務勀愕膼酆?,比如讀書、運動、冥想等,也就是談論任何有助于定義你的東西。然后面試官會把你在自我介紹里談到的一些東西作為他下一個問題的引子,開啟面試的技術部分。這種面試的目的是為了檢驗你寫在簡歷上的內容是否真實:
任何一個真正解決了某個問題的人都能夠從多個層面來回答它。他們能夠進入黃銅軌道,不然就會卡住——Elon Musk
這個過程中會出現很多問題,比如可以采取什么不同的做法,是否可以用「X」代替「Y」,會發生什么情況等。此時,了解在實現過程中通常做出的權衡很重要,例如,如果面試官說使用更復雜的模型會取得更好的結果,那么你可以說實際上需要處理的數據較少,這會導致過擬合。在一次面試中,面試官給了我一個案例研究,涉及為一個真實用例設計算法。我注意到,面試官非常喜歡我以下面的流程來展開討論:
問題 > 1 至 2 個之前的解決方案 > 我的解決方案 > 結果 > 直覺
另一種面試其實只是為了測試你的基本知識。不要擔心問題太難。但它們肯定會涉及你應該掌握的所有基本知識,主要基于線性代數、概率、統計、優化、機器學習和/或深度學習?!改阈枰獪蕚涞谋尘爸R」一節中提到的資源應該夠用了,但請確保不要遺漏其中的任何一點。這里的關鍵是你回答這些問題所花的時間。因為它們涵蓋了基礎知識,所以面試官希望你最好能夠立即作答。所以,請做好相應的準備。
在整個過程中,對你知道和不知道的事保持自信和誠實是很重要的一點。如果某個問題你確定不知道,直接說不知道,而不是發出“啊”“嗯”的聲音。如果某個概念真的很重要,但你覺得很難回答,面試官通常會很樂意給你提示或指導你找到正確的解決方案(這取決于你在面試開始階段表現如何)。正確理解面試官的提示并據此找到合適的解決方案是一個很大的加分項。盡量不要緊張,避免緊張的最佳方法就是微笑。
現在我們來到面試結尾,即面試者問你是否有什么問題。人們很容易認為面試結束了,并回答沒有問題要問。我知道很多人被拒絕,就是因為這最后一個問題。如前所述,被面試者不只你自己。你也在探索你與這家公司雙方是否都適合。因此很明顯,如果你真的想加入一家公司,你肯定對公司文化或他們對你的期望角色等有疑問,甚至只是簡單地對面試者感到好奇。你總是能從身邊的事物中學習到東西,你要確保給面試者留下你對他們團隊真的感興趣的印象。我對面試者提出的問題是他們對我的反饋。這給了我很大幫助,我仍然記得每一個反饋,并真的融入到日常生活中。
以上?;谖业慕涷灒绻闾拐\、具備相應能力、真正關心面試的公司,并具備合適的思維模式,那么你應該適合所有要求,很快拿到 offer。
四、我們應該為什么而努力工作
我們處于一個充滿機會的時代,可以做自己喜歡的事情。你只需要努力成為該領域最優秀的人,就會找到一種實現它的方法。正如 Gary Vaynerchuk 所說:
對 AI 研究來說,這是一個偉大的時代。如果你真的對此充滿激情,那么你可以做的事情有很多很多。你可以賦予那些被忽略的人力量。我們一直抱怨身邊的問題,而從來沒有一個時代像現在這樣普通人也可以做為此做些什么,而不是僅僅抱怨。Jeffrey Hammerbacher 有一句名言:
我們這一代最杰出的頭腦都在拼命思考如何吸引人點擊廣告。
利用 AI 能做的事情遠超我們的想象。有很多非常棘手的問題,需要像你這樣極其聰明的人來解決。你可以讓很多人的生活變得更美好。是時候放棄「酷」的事情,或「看起來不錯」的事情了,認真思考,做出明智的選擇。
五、你需要準備的背景知識
所有數據科學面試中會出現的問題基本上都包含在四個大類中:計算機科學、數學、統計學和機器學習。
計算機科學:
- 算法和數據結構
- InterviewBit
- NPTEL IIT Delhi 的課程
操作系統:
- https://medium.com/the-aspiring-programmer-journal/the-10-operating-system-concepts-software-developers-need-to-remember-480d0734d710
- 《Operating System Concepts》的三、四、五、七章?
- GeekForGeeks 上的操作系統:
- 面向對象編程:你會被問及如何設計一個系統,例如一個鐵路售票系統。此時你需要和面試者討論他們的需求,需要創建多少個類,每個類包含哪些變量與方法,如何使用繼承(如 Engineer 和 Scientist 類都是 Employee 類派生的)等等。這些知識來源于實踐。你可以在這里找到一些基本術語的解釋:https://medium.com/dot-net-tutorial/oops-interview-questions-with-answers-for-freshers-b2a568ed364b
數學和統計
如果你不了解深度學習背后的數學知識,你要找一些學習資源。
參考內容
當然,Ian Goodfellow 等人的《深度學習》中第二、三和四章的數學已經足以應對面試中這類理論問題了。如果你沒有時間,我也對其中的一些章節概念進行了總結;
如果你已經學習了有關概率的課程,數學問題應該不在話下了。有關統計學的問題可以參考:https://www.quora.com/How-should-I-prepare-for-statistics-questions-for-a-data-science-interview-What-topics-should-I-brush-up-on/answer/Dima-Korolev?share=ac534713&srid=oEqx
機器學習
在這里,問題的種類完全取決于你面試的崗位。如果你遇到了傳統型的機器學習面試。那么有關機器學習的基礎知識就必不可少,下面的一些課程可能對你有所幫助:
吳恩達的 CS229 課程:?http://cs229.stanford.edu/
加州理工教授 Yaser Abu-Mostafa 的機器學習課程:https://work.caltech.edu/telecourse.html
重要的話題包括:監督學習(分類、回歸、支持向量機、決策樹、隨機森林、邏輯回歸、多層感知機、參數估計、貝葉斯決策規則),無監督學習(K-means 聚類、高斯混合模型),降維(PCA)。
如果你申請的職位更加高級,那很可能會被問到有關深度學習的問題。在這種情況下,你需要非常了解卷積神經網絡(CNN)和循環神經網絡(RNN)及其變體。想要明白這些,你需要對深度學習的基礎知識有所了解,CNN/RNN 是如何工作的,目前存在哪些架構,以及這些架構改進背后的動機都是什么。在這一方面,我們沒有捷徑——必須花時間了解它們。對于 CNN,我推薦斯坦福大學的 CS231N 課程,RNN 推薦 CS224N 課程。
Hugo Larochelle 的神經網絡課程也很有意思,適合快速上手;
走出校門后,你的職業生涯將是一個自我實現的漫長過程。希望這篇文章能給你帶來一些啟發,并幫助你以更好的方式為下一次數據科學面試做好準備。
原文作者:Aman Dalmia
原文選自:Medium
編譯:機器之心
譯文地址:微信公眾號“機器之心”(ID:almosthuman2014)?
本文由 @機器之心 授權發布于人人都是產品經理,未經作者許可,禁止轉載。
題圖來自 Pixabay,基于 CC0 協議
- 目前還沒評論,等你發揮!