我從過去八個月的AI公司面試中學到了什麼?

AI前線發表於2018-06-11
我從過去八個月的AI公司面試中學到了什麼?
作者 | Aman Dalmia
編譯 | 無明
編輯 | Vincent
AI 前線導讀:本文的作者在過去的八個月,面試了谷歌 DeepMind、Wadhwani 人工智慧研究所、微軟、Ola、Fractal Analytics 等公司,主要是資料科學家、軟體工程師和研究工程師等職位。在這個過程中,他不僅有機會與很多大牛交流,還了解到招聘者在面試候選人時真正想要的是什麼。相信對於很多人來說,如果以前有過這方面的知識,就可以避免很多錯誤,併為面試做更充分的準備。這就是為什麼作者要寫這篇文章,AI 前線將這篇文章編譯了出來,希望能夠幫助人們找到夢寐以求的工作。

更多幹貨內容請關注微信公眾號“AI 前線”,(ID:ai-front)
1. 如何獲得面試機會

這是最關鍵的一步。對於應聘者來說,如何讓招聘人員在海量的簡歷中看完他們的資料,這是最困難的部分。總的來說,可以細分為三個關鍵步驟:

a)準備好簡歷,或者 LinkedIn、Github、個人網站等資訊。

首先,簡歷應該要很簡潔。可以按照 Udacity 提供的這個指南(https://career-resource-center.udacity.com/resume/resume-revamp)來整理簡歷。這個指南包含了很多我想說的東西,我也一直把它當作自己的簡歷參考指南。說到簡歷模板,Overleaf(http://overleaf.com)提供的一些模板相當不錯,例如:

我從過去八個月的AI公司面試中學到了什麼?

可以看到,簡歷內容被放在了一個頁面當中。不過,如果簡歷內容太多,那麼上面的模板可能放不下。可以在這裡(https://latexresu.me)找到修改後的多頁模板。

接下來最重要的是如何展示你的 Github 個人資料。很多人低估了 Github 的作用,僅僅因為它沒有“誰看過你的資料”這一選項。

招聘人員會去看你放在 Github 上的東西,因為這是他們驗證你在簡歷中提到的內容的唯一方法。人們總是在他們的個人資料中用很多時髦用語,給招聘人員造成很大的干擾。特別是對於資料科學而言,開源在大多數工具、各種演算法的實現、學習資源等方面都扮演著重要角色,所有這些都是開源的。應聘者至少要做到:

  • 如果還沒有 Github 賬號,那麼就建立一個。

  • 為每個已完成的專案建立一個倉庫。

  • 新增文件,並提供有關如何執行程式碼的明確說明。

  • 為每個檔案新增文件,說明每個函式的作用、每個引數的含義。

接下來的這一步是大多數人都缺乏的,就是建立一個用於展示個人經驗和專案的個人網站。這一步可以表明一個人真正想進入這個領域。另外,簡歷通常無法展示所有的東西,往往會錯過很多細節。

如果你願意,可以在網站上展示更多細節,比如包含某種專案或想法的視覺化演示。建立這樣的網站真的很容易,因為有很多免費平臺提供了拖放功能,非常輕鬆就可以完成這個任務。我個人使用的是 Weebly(http://weebly.com),這是一個已經得到廣泛使用的工具。下面是我的個人網站:

我從過去八個月的AI公司面試中學到了什麼?

最後,現在很多招聘人員和初創公司開始使用 LinkedIn 作為他們的招聘平臺,很多好的工作職位都發布在上面。

除招聘人員外,那些在為有影響力工作崗位尋找候選人的獵頭也非常活躍。所以,如果能夠吸引他們的注意,就可能獲得很好的機會。

除此之外,保持個人資料的簡潔也是很重要的,這會讓人們有意願與你建立聯絡。搜尋工具是 LinkedIn 的一個重要組成部分,為了充分利用搜尋工具,你必須在個人資料中使用相關的關鍵字。此外,一定要讓曾經與你一起工作過的人為你新增評論,談論他們與你合作的經歷。所有這些都會增加獲得注意的機會。

這些東西看起來好像很多,但不一定在一天甚至一週或一個月內完成。這是一個過程,而且沒有終點。在一開始準備所有的內容肯定需要花費一些時間,但一旦做好了,以後只需要不斷更新就好了。你會發現這樣其實很容易,而且你還可以隨時隨地推銷自己,無需刻意做準備,因為你對自己已經非常瞭解了。

b)保持真實性。

看過很多人的簡歷,我發現很多人會犯這種錯誤。在我看來,最好先搞清楚自己真正感興趣的是什麼,自己想要做什麼,然後尋找相關的工作機會,而不是反過來。 AI 人才供不應求的事實為人們提供了很多機會。準備簡歷的過程有助你對自己有一個全面的瞭解,並幫助你做出更好的決定。此外,不需要準備在面試時可能被問到的各種問題的答案。因為當你在談論真正關心的事情時,這些答案自然會脫口而出。

c)人際網路:在完成了 a) 和 b) 後,人際網路才能真正幫你實現目標。

如果你不和人交談,就會錯過很多機會。每天都要與人們保持聯絡,如果不是面對面接觸,至少要在 LinkedIn 上,假以時日,你就擁有了一個龐大的人際網路。建立人際網路並不是讓人們為你做推薦。

我在一開始也經常犯這種錯誤,直到我偶然多 Mark Meloon 的一篇文章,他在文中談論了與人們建立真正聯絡的重要性,首先我們要為人們提供幫助。另一個很重要的方面是將你知道的東西展示出來。例如,如果你擅長某事,就可以在 Facebook 和 LinkedIn 上分享給人們。這不僅可以幫助他人,還可以幫助你自己。

一旦你建立起足夠好的人際網路,你的可見度就會成本增加。在你的人際網路中,某個人對你所分享內容的評論可能會幫助你接觸更廣泛的受眾群體,包括可能正在尋找像你這樣的專業人士。

2. 可以考慮加入的企業和初創公司

為了避免各種誤會,我按照字母順序列出這個清單。不過,我在有些公司名字前面加了星號,表示我個人比較推薦這些公司。有些公司超過一個星號,那是因為它們在人性化方面做得更好一些。

  • Adobe Research

  • ⭐ AllinCall(由 IIT Bombay 校友創辦)

  • ⭐ 亞馬遜

  • Arya.ai

  • ⭐ Element.ai

  • ⭐ Facebook AI 研究所

  • ⭐ Fracal Analytics(收購了 Cuddle.ai 和⭐⭐ Qure.ai)

  • ⭐⭐谷歌(Brain/DeepMind/X)

  • 高盛

  • Haptik.ai

  • ⭐⭐HyperVerge,由 IIT Madras 校友創辦,他們致力於為世界各地的客戶開發針對現實世界問題的 AI 解決方案。這些創始人曾經在 IIT Madras 發起著名的 Computer Vision Group。

  • IBM 研究所

  • ⭐英特爾人工智慧實驗室(強化學習)

  • ⭐⭐Jasmine.ai,由 IIT Madras 校友創辦,創始人還在密歇根大學獲得博士學位,他們正在研究智慧對話。此外,他們獲得充足的資金,希望有人儘快加入他們在 Bangalore 的辦公室。

  • 摩根大通

  • ⭐微軟研究院

  • MuSigma

  • Next Education

  • niki.ai

  • ⭐Niramai,施樂公司前僱員,致力於利用熱成像技術在早期發現乳腺癌。

  • Ola

  • ⭐OpenAI

  • ⭐PathAI

  • Predible Health

  • 高通

  • ⭐SalesForce

  • 三星研究

  • ⭐SigTuple

  • ⭐Suki,AI 驅動的醫生語音助手。最近,它也籌集了大量資金,並可能即將在印度設立辦事處。

  • ⭐Swayatt Robotics,致力於為印度開發自動駕駛汽車。

  • ⭐⭐Wadhwani AI,由億萬富豪 Romesh Wadhwani 和 Sunil Wadhwani 提供資金,他們的目標是成為第一個為社會福利而努力的人工智慧組織。

  • ⭐優步人工智慧實驗室和先進技術組:人工智慧居住計劃

  • ⭐Umbo CV,基於計算機視覺的安全技術

  • Uncanny Vision

  • Zendrive

3. 如何提高面試成功率

面試將從你進入房間的那一刻開始,在開始自我介紹之前可能會發生很多事情:你的身體語言和臉上的微笑非常重要,特別是當你面試一家初創公司時,因為文化適應(culture fit)是他們非常關注的方面。你要明白,面試官對你來說是陌生人,但你對他 / 她來說也是陌生人。所以,他們可能和你一樣緊張。

面試不僅僅是你和麵試官之間的對話,雙方都在尋找一種相互適應:你在尋找一個可以工作的好地方,而面試官在尋找一個可以一起工作的好人選。所以,請確保你對自己感覺良好,並且要在對話一開始讓對方感到舒適。最簡單的方法就是微笑。

主要有兩種面試方式,一種是面試官帶著準備好的問題來問你,不管你的簡歷上寫了什麼,另一種是面試根據你的簡歷來的。我將從第二種開始討論。

這種面試通常以“你能告訴我一些關於你自己的事情嗎?”作為開頭。在回答這個問題時有兩大禁忌:談論你的大學平均成績或太過詳細介紹你做過的專案。理想的回答方式應該是在大約一兩分鐘內介紹你到目前為止做了些什麼。你可以談論你的愛好,比如看書、體育運動、冥想等。面試官將以你說到的事情作為下一個問題的線索,然後開始面試技術部分。這一部分面試主要是想檢查你在簡歷上所寫的是不是真的。

會有很多類似於“如果採用了不同的解決方案將會怎樣”的問題,比如使用“X”代替“Y”將會發生什麼。在回答這類問題時,最重要的是要知道在實施過程中通常會做出哪種權衡,例如,如果面試官說使用更復雜的模型將會得到更好的結果,那麼你可以說,因為可用資料較少,會導致過擬合。在一次面試中,我被要求為一個真實案例設計演算法。我發現,當我按照以下的流程來陳述時,面試官就感到很滿意:

問題 > 以前的一到兩種方法 > 我的方法 > 結果 > 直覺

另一種面試只是為了測試你對基礎知識的掌握情況。這些問題不會太難,但它們肯定會包含你應該掌握的基礎知識,比如線性代數、概率論、統計學、優化、機器學習和深度學習。在回答這些問題時,你所花費的時間很關鍵。由於這些涵蓋了基礎知識,他們希望你能夠立即說出答案,所以要做好準備。

在整個面試過程中,最重要的是對自己知道的東西要充滿自信,對不知道的東西要誠實。如果你不知道回答某個問題,要先說明情況,而不是故作“嗯嗯啊啊”狀。如果某些概念真的很重要,但你很難回答出來,面試官一般會很樂意給你一些提示或引導你找到正確的解決方案。如果你能夠按照他們的提示給出正確的解決方案,就會給自己加分。儘量不要緊張,避免這種情況的最好辦法仍然是微笑。

在面試結束時,面試官會問你是否有想問的問題。你會認為面試已經結束,覺得沒有什麼可問的。我知道很多人因為在這個問題上犯錯而被拒絕。正如我之前提到的,面試不是單方面的,在你接受面試的同時,你也在尋找與公司本身相適應的方式。所以,如果你真的想加入一個公司,你肯定會有很多關於這家公司工作文化方面的問題,或者關於應聘崗位的問題。你要確保給面試官留下一個印象,讓他們感覺到你真的有興趣成為他們團隊的一員。在面試結束時,我會問面試官一個問題,即他們希望我在哪些方面做出改進。這對我的幫助非常大,我把他們給我的每一個反饋都融入到了我的日常生活中。

就是這些。根據我的經驗,如果你對自己誠實、能幹、真正關心你正在面試的公司,並且有正確的心態,那麼你正走在成功的路上,並且很快就會收到錄用通知書。

4. 我們應該朝哪些方向努力

我們生活在一個充滿機遇的時代,你只需要努力成為最好的,就會找到變現的方法。正如 Gary Vaynerchuk 所說的那樣:

我從過去八個月的AI公司面試中學到了什麼?

這是在 AI 領域工作的好時機,如果你真的對此充滿激情,就可以用 AI 來做很多事情。我們總是在抱怨發生在周遭的問題,而像我們這樣的普通人也能夠做些什麼真正去解決這些問題,而不是抱怨,這樣的事情是前所未有的。Jeffrey Hammerbacher(Cloudera 創始人)曾經說過:

我們這一代人都在想著怎麼讓人們點選廣告,這實在太糟糕了。

我們可以用 AI 來實現很多超乎想象的事情。有很多非常具有挑戰性的問題,需要像你們這樣聰明的人才能解決。你可以讓人們的生活變得更好。

5. 你至少需要準備這些東西

任何一個與資料科學相關職位的面試都是由以下四個類別的問題組成:電腦科學、數學、統計學和機器學習。

電腦科學

演算法和資料結構

  • InterviewBit(https://www.interviewbit.com)

  • NPTEL IIT Delhi 在 YouTube 上的講座(https://www.youtube.com/playlist?list=PLBF3763AF2E1C572F)

作業系統

  • 軟體開發者需要知道的 10 個作業系統概念(https://medium.com/the-aspiring-programmer-journal/the-10-operating-system-concepts-software-developers-need-to-remember-480d0734d710)

  • “作業系統概念”第 3,4,5 和 7 章。

  • GeeksForGeeks(https://www.geeksforgeeks.org/operating-systems)上的作業系統

物件導向程式設計:你可能被問到如何設計一個系統,例如鐵路售票系統。所以,你需要搞清楚面試官的需求是什麼,需要建立哪些類,每個類應該要有哪些變數和方法,如何使用繼承等。

數學和統計

如果你對深度學習背後的數學不熟悉,那麼應該看看我之前寫的這篇文章(https://medium.com/@amandalmia18/guide-for-deep-learning-aspirants-with-focus-on-non-computer-science-students-87b1f7b3f4b9),裡面有一些相關資源。

否則的話,我感覺看完“深度學習”(http://www.deeplearningbook.org)這本書的第 2,3 和 4 章就足以應對面試中的理論問題。我準備了幾個章節的摘要,試著解釋一些我最初難以理解的概念,如果你不願意閱讀章節的全部內容,可以參考這些概要。

如果你已經完成了概率論課程,應該也能回答一些數學問題。至於統計先關的問題,涵蓋這些主題(http://qr.ae/TUTV9f)應該就足夠了。

機器學習

機器學習相關的問題可能取決於你所申請的職位型別。如果是一個傳統的基於機器學習的面試,他們會考察機器學習基礎知識。為了應對面試,你可以完成以下任何一門課程:

  • 吳恩達的機器學習 -CS 229(http://cs229.stanford.edu)

  • 加州理工學院教授 Yaser Abu-Mostafa 的機器學習課程(https://work.caltech.edu/telecourse.html)

重要的主題有:監督學習(分類、迴歸、支援向量機、決策樹、隨機森林、邏輯迴歸、多層感知器、引數估計、貝葉斯決策規則)、無監督學習(K 均值聚類、高斯混合模型)和降維(PCA)。

如果你申請的是更高階的職位,很有可能會被問及深度學習相關的問題。在這種情況下,你應該對卷積神經網路(CNN)或遞迴神經網路(RNN)及其變體非常熟悉。而且你必須知道深度學習背後的基本理念是什麼、CNN/RNN 如的執行原理、現在已經有哪些架構以及這些架構變更背後的動機是什麼。

這裡沒有捷徑可走,要麼你已經瞭解它們,要麼你花足夠的時間去了解它們。對於 CNN,推薦的資源是史丹佛的 CS 231N 和 CS 224N。我發現 Hugo Larochelle 的神經網路課程(https://www.youtube.com/watch?v=SGZ6BttHMPw&list=PL6Xpj9I5qXYEcOhn7TqghAJ6NAPrNmUBH)也很有啟發性。

英文原文:

https://blog.usejournal.com/what-i-learned-from-interviewing-at-multiple-ai-companies-and-start-ups-a9620415e4cc



相關文章