全文共5066字,預計學習時長15分鐘
圖源:Unsplash
紅遍網(wǎng)絡的數(shù)據(jù)科學項目,在實際面試中卻毫無用處
對于有抱負的數(shù)據(jù)科學家如何真正獲得一份高收入的數(shù)據(jù)科學職位,人們存在著巨大的誤解,而這與項目有關。 我所說的“項目”,是指在JupyterNotebook上嘗試一些最新的機器學習或深度學習算法,然后把工作成果上傳到Github上,仿佛這最終會贏得招聘主管的青睞一樣。 但他們其實并不會仔細查閱你個人項目中的代碼。如果你這樣想,你就有了我所說的項目心態(tài)。 項目心態(tài)形容的是這樣一種心態(tài):一個接著一個地做機器學習項目,并把它們寫到你的簡歷上,最終會讓你得到高薪的數(shù)據(jù)科學工作,而事實上,這樣的簡歷不會給很多人留下深刻印象。 我怎么會知道呢? 因為我曾經(jīng)就是那個傻瓜。在申請前,花了無數(shù)寶貴時間執(zhí)行各種項目來豐富我的“作品集”。我在項目方面取得了很大進展,并獲得了數(shù)據(jù)領域知名人士的認可。 但現(xiàn)在,我成了一名在舊金山工作的數(shù)據(jù)科學家,我才明白曾經(jīng)有多么錯誤,更糟糕的是,這么多人在步我的后塵。這個故事警示你真的需要正確看待項目,以及項目將會給你帶來什么(在不久的將來)。 Ps:請記住,我只申請了加州舊金山的數(shù)據(jù)科學家職位。所以我的論述可能不適用于你所在的地區(qū)或你申請的職位。這只是我個人的觀點(實際上是兩個人的觀點,下文會提及)。 但這個故事也有普遍性,因為我看到世界各地的人們都受到“項目”的(虛假)誘惑力和潛力的吸引。圖源:Unsplash
招聘主管實際測試的背后,其實是在檢測你的“智力”
項目的“主宰”——面試的“小白”。 在我申請數(shù)據(jù)科學職位之前,我花了4-5周的時間來完成我的項目,因為我認為這是正確的。 作為一名昔日職業(yè)鋼琴家,我想在音樂方面做點什么。這讓我想到了神經(jīng)網(wǎng)絡,具體而言,用長短期記憶網(wǎng)絡來生成新的音樂。 我花了整整兩個星期的時間閱讀這方面的學術論文,回想起來,我大概能理解其中的30%。但在這30%之內(nèi),有些東西真的讓我很困擾。我覺得一些用人工智能生成曲調(diào)的研究人員并不具備深入的樂理知識。這一點從他們通過超級復雜的神經(jīng)網(wǎng)絡架構(gòu)作曲的方式上可以看出,這些架構(gòu)似乎并沒有反映出真正的音樂家是如何作曲的。使用長短期記憶創(chuàng)作音樂的學術研究實例 這讓我非常惱火,于是我決定從頭開始,基于隱馬爾可夫模型創(chuàng)建一個算法。在大約800行純python代碼之后,我開發(fā)了自己的音樂創(chuàng)作算法。我叫它PopMusic Maker。 基本上,PopMusic Maker將音樂數(shù)據(jù)作為輸入,然后分解音符,找出這些音符之間的統(tǒng)計關系,并根據(jù)這些統(tǒng)計數(shù)據(jù)重新創(chuàng)作一首全新的流行歌曲。 Pop Music Maker的構(gòu)建基礎 項目一夜爆紅,網(wǎng)絡爭議不斷。 我在網(wǎng)站上發(fā)布了相關的文章,沒過幾天,文章就爆紅了,每天都有成千上萬的人開始閱讀這篇文章。后來,TravisOliphant(Numpy的創(chuàng)始人兼Anaconda的創(chuàng)始人)和O'ReillyMedia的本·羅瑞卡在他們的社交媒體上分享了我的內(nèi)容。 隨著文章越來越受歡迎,每天都有數(shù)百人通過我創(chuàng)建的flask網(wǎng)站使用我的算法。這導致我的網(wǎng)站不斷崩潰,因為我的代碼部署的AWS EC2實例太小,無法處理巨大的流量。網(wǎng)上的一些人開始稱我為騙子,因為當他們想嘗試一下我的算法時,網(wǎng)站卻無法運行。 很快,這些批評迅速在許多社交媒體網(wǎng)站上演變成一場全民的激烈爭論。一些有博士學位的研究人員對我基于貝葉斯的錯誤研究方法表示憤怒。其他人則支持我,為我的成果辯護(包括本·羅瑞卡)。簡單地說,我在某種程度上重新點燃了網(wǎng)上貝葉斯與頻率論統(tǒng)計的圣戰(zhàn)。 一開始我決定向那些因為某種原因而感到受辱的人道歉,我很和氣地詢問如何改進我的方法。但經(jīng)過幾天的道歉,我再也受不了了。爭辯把我弄得精疲力盡,我只想遠離互聯(lián)網(wǎng)。于是我便關掉了所有的電子設備。圖源:Unsplash
這個故事告訴我們什么呢? 講了這個故事,可能你會認為,盡管存在爭議,但在我的簡歷上體現(xiàn)這個項目會幫助我獲得數(shù)據(jù)科學的工作。 但結(jié)果并沒有。除了一個小型創(chuàng)業(yè)公司的人拋出橄欖枝外,沒有人真正關心。總體而言,爆紅只是一個小小的火花,被灣區(qū)科技的強風吹熄了。 更重要的是,招聘委員會的人并沒有真的測試我的項目。因為招聘過程并不是基于你做了多少項目。這是我在許多數(shù)據(jù)科學求職者中常常看到的一個固有猜想。 不只是我有這樣的觀點;來自DoorDash的JeffreyLi談到了在有抱負的數(shù)據(jù)科學家身上看到的缺陷: “我在市場上大多數(shù)數(shù)據(jù)科學家身上看到的最大缺陷是,將機器學習模型與業(yè)務影響聯(lián)系起來的能力。很多非常聰明的人建立了這個非常復雜的五層神經(jīng)網(wǎng)絡,做出了非常好的預測,得分非常高。但當我們深入研究特定模式對業(yè)務的影響時,他們常常無法給出答案。” 如果數(shù)據(jù)科學招聘不是基于項目,那么它是基于什么?它基于招聘方所說的“智力測試”。面試的背后,其實是“智力測試”……我真的不喜歡“智力”這個詞,因為這是一個暗示生物稟賦的詞(要么有這種天賦,要么沒有)。但不幸的是,我看到它頻繁地,而且是隱秘地,出現(xiàn)于科技招聘。 我經(jīng)常聽到人們在背后說,“那個人因為不夠聰明,不能勝任技術工作”等類似這樣的話。我最早是從我的好友們那里聽到這些話的,他們是加利福尼亞州灣區(qū)的軟件工程師。 這個詞讓我感覺很壓抑、很虛幻。 但是在對科技世界里“智力”這個詞進行了很長時間的思考之后,我開始明白它的實際意思。通過理解它的含義,我發(fā)現(xiàn)它并沒有什么“生物學”意義,也就是說任何人只要有足夠的準備就可以提高智力水平。更重要的是,我發(fā)現(xiàn)了通過數(shù)據(jù)科學面試的秘訣。
“智力測試”通關秘訣:掌握這4項技能
智力測試是所有招聘過程的基礎。它是支撐技術挑戰(zhàn)、考察任務和白板問題的基礎。測試有四個主要要素,分別是: 1. 分析思維2. 變量提取3. 邊界情況檢測4. 流程優(yōu)化 前三項技能是最重要的。最好具備第四項技能,因為一旦招聘主管對前三點足夠滿意,就會問到第四點。但所有這四點都是用來展示未來技術工作的潛力和能力。 簡要概括:下面的四項技能非常重要,對統(tǒng)計、代碼和SQL的理解也同樣重要。我認為這是一個眾所周知且顯而易見的真理,所以我不會在這里深入地介紹基礎知識。 1. 分析思維 分析思維是指將一個巨大的問題分解成一個個小部分,然后依次處理的能力。簡而言之,它是在構(gòu)建一個包含多個檢查點的心理路線圖,從而達成最終的解決方案。 這部分的智力測試要么暗含在一個實際的編碼挑戰(zhàn)中,要么在一個理論的業(yè)務/產(chǎn)品問題中。主管會給你一個問題陳述,一開始可能是一個開放式的。這是有意為之,因為最終結(jié)果不是這個測試的重點。所以解決方案是否真的有效并不重要。重要的協(xié)調(diào)一個多步驟計劃來處理一個復雜問題的能力。 之所以要考察這種能力,是因為在實際的數(shù)據(jù)科學工作中,會出現(xiàn)過于復雜的問題,以至于幾乎不能達成解決方案。繪制戰(zhàn)略路線圖是必需的,同時還要概述影響業(yè)務或技術堆棧的每一步的優(yōu)點和缺點。但要實現(xiàn)這一目標,數(shù)據(jù)科學家還需要具備靈活的戰(zhàn)略頭腦,以生成帶有清楚的檢查點的各種操作解決方案。 對于想要更好地掌握這項技能的求職者來說,應多多去嘗試解決Leetcode上的問題,多瀏覽數(shù)據(jù)科學產(chǎn)品的問題。有關產(chǎn)品問題的一個例子是: 一家送餐公司準備發(fā)布一款全新UI應用程序。目標是通過增加送貨人的配送次數(shù)來增加其收入。請概述一個測試策略,檢驗新版應用程序是否優(yōu)于舊版。 2. 變量提取 變量提取指的是你能想出多少相關變量來解決目前的問題。例如,有這樣一個場景:“一棟樓里有兩部電梯,有些人抱怨其中一部比另一部慢。確認投訴是否合法都需要考慮什么因素?” 這類思維實驗通常是由不熟悉數(shù)據(jù)科學但想要測試“智力”的產(chǎn)品/非數(shù)據(jù)人士提出的。這里的“智力”指的是,他們會重點評估你能提出多少與面試官一致的問題所需變量。 但是如何和從未見過的人在認知過程中保持一致呢?好消息是,這些實驗中99%的變量(我認為)可歸為以下這些類別: 1. 時間(高峰期會影響電梯的快慢嗎?)2. 地點(會不會有些樓層的人比其他樓層多呢?)3. 技術問題(也許電梯存在技術問題,與人們的內(nèi)在認知無關)4. 用戶統(tǒng)計(大樓里都有些什么人?訪客與工作人員使用的是同一部電梯嗎?) 變量提取之所以重要,是因為它觸及了實驗的核心。進行實驗需要測試相關的變量,如果你能想出更合適的變量來提高測試的準確性,甚至是招聘主管沒有想過的,這是一項非常有價值的技能。 可以通過盡可能多地處理不同的數(shù)據(jù)來提高這方面的能力,分析各種時間序列數(shù)據(jù)、各種地理數(shù)據(jù),所有這一切都能讓你更熟悉數(shù)據(jù),拓寬知識面。圖源:Unsplash
3. 邊界情況檢測 邊界情況檢測通常在你和招聘主管一起處理前兩個部分之后進行。從前兩者得到足夠的評估后,主管隨后會向你拋出一個難題。他/她會想出一些辦法來徹底推翻你想出的路線圖和所提取的變量。 這是面試中很難的一部分,因為你會因為當場暴露自己的邏輯漏洞而感到慌亂。冷靜下來,仔細傾聽主管們給你的暗示。通常情況下,他們心里已經(jīng)有了一些答案,你必須挖掘出來,他們會給出一點提示,指引你說出他們想要的答案。 他們拋出這樣的難題,擾亂你的思維過程,看你在從未遇到過的情況下表現(xiàn)得有多好。實踐中的數(shù)據(jù)科學工作流程會有數(shù)百個沒有考慮過的邊界情況,尤其是當實時生產(chǎn)時。 如何練習:確實無法練習。遇到這種情況的時候,深呼吸,如有需要,問一些問題,并聽從主管的提示。 4. 流程優(yōu)化 最后一個要素不是必需的,通常會在技術面試結(jié)束后的剩余時間出現(xiàn)。這項技能以智力測試的第一個衡量標準(分析思維)為基礎。一旦你在腦海中想出了某個方法,經(jīng)理就會問是否有比當前方法更好的解決問題的方法。 他們這樣做是因為產(chǎn)業(yè)中所有的數(shù)據(jù)科學工作一開始都是粗略的,需要幾次迭代來改進。但這一點只是在工作的初稿完成之后。這就是為什么我認為這方面的排名低于前三點的原因。
數(shù)據(jù)科學項目在求職中的實際作用
圖源:Unsplash
我認為項目在申請的最初階段確實能起到作用。對我來說,涉及到以下幾點:
- 建立自信。很多人在申請公司之前把完成項目視為必要的準備步驟(一種內(nèi)部慣例)。
- 解決變量提取和優(yōu)化組件。項目過程中會用到許多不同形式的數(shù)據(jù)。它提供了用pipeline優(yōu)化數(shù)據(jù)過程的空間。 3.提供一個獲得第一通招聘電話的機會。招聘人員的職責不是智力測試,而是把應聘者交給招聘主管進行測試。這些項目還很好地向招聘人員展示了你的主動性和對數(shù)據(jù)科學的堅持。 但在最初的篩選之后,項目就沒什么分量了。
究其原因,有以下三點:
- 項目不會幫助你通過技術挑戰(zhàn)。
- 項目不會證明你作為數(shù)據(jù)科學家的潛力,只是告訴主管你復制或記憶現(xiàn)有代碼的能力。
- 招聘主管沒有時間一頁頁地看你的notebook。他們每天都會收到數(shù)百份申請,而且他們還要管理自己的團隊,這已經(jīng)是一份全職工作了。 最后需要強調(diào)的一點,重要是對你已完成工作的外界驗證。 換句話說,你的機器學習項目獲得83%的AUC并不能向主管證明你作為未來數(shù)據(jù)科學家的潛力。但是如果有數(shù)百人試過你的機器,可能會對你的能力展示更有幫助。 還是不相信我說的話?最后,請聽哥倫比亞大學數(shù)據(jù)科學研究所所長JeannetteWing所說的: “計算機科學家每天都在想一些解決問題的技術和方法。
摘取其中的一些:
- 如何設計一個算法來解決某個問題
- 如何將某個問題分解成更小的部分
- 如何確定抽象層
- 如何確定組件之間的接口 通過思考這些解決問題的技術和方法,人們成功研發(fā)了一個大系統(tǒng)或解決了一個大問題,這就是我所說的“像計算機科學家一樣思考”。 IBM首席數(shù)據(jù)科學家說道:“IBM的每個人都有一個共同點,那就是他們都是顧問。
他們需要與客戶合作的能力,他們需要與高管開會,并且能夠明智地談論解決方案。” 人們往往高估了數(shù)據(jù)科學項目在求職過程中的作用,明白了這些的你,還想要追求項目經(jīng)驗嗎? 不如腳踏實地,先學會文章這四個真正重要的面試技巧吧!
留言 點贊 關注
我們一起分享AI學習與發(fā)展的干貨
如需轉(zhuǎn)載,請后臺留言,遵守轉(zhuǎn)載規(guī)范


