還在準備AB testing? 回首求職路,談?wù)勔咔橄挛沂侨绾文玫紽acebook DS Offer的
想要上岸 就找上岸
在疫情的影響下,過去的一年對于身處北美的New Grad求職者們而言無疑充滿了坎坷與挑戰(zhàn)。我將分享自己過去一年里的經(jīng)歷與心路歷程。希望大家也能通過我的經(jīng)歷讓將來的自己少走彎路、未雨綢繆,趁著招聘期的回暖趨勢,提前做足準備,順順利利上岸。
接下來我將從職業(yè)規(guī)劃/面試準備/時間線/心路歷程等四個方面來分享自己的求職經(jīng)歷。
01
職業(yè)規(guī)劃a. 為什么以DS作為自己的求職目標?
其實在開始投DS相關(guān)工作之前,我自己也做了不少search,讀到了很多熱門的所謂的DS勸退帖 ,相信大家或多或少也有看到過一些。
那么,為什么我還是選擇了優(yōu)先尋找DS工作呢?
首先,個人背景。我本科是econ專業(yè),沒有很系統(tǒng)地學(xué)習(xí)過CS知識,最難的CS課也就學(xué)到了本科算法,簡歷上完全沒有能看的CS項目,所以從零開始找SDE會有很大的gap要去追趕彌補;但相對地,我的計量經(jīng)濟、統(tǒng)計學(xué)概率論相關(guān)的知識會牢靠一些,也學(xué)習(xí)過一些machine learning,已經(jīng)有了很多前期投入,稍微修修改改簡歷就可以嘗試一下DS了。
第二點,根據(jù)以往課堂project的經(jīng)驗。我對于DS/DA這個方向有一定的熱情,不管是deploy一個簡單的model還是通過做visualization來講好一個故事,做的事情會讓我比較有成就感。即使是清理數(shù)據(jù)這一類比較瑣碎的工作,如果我看著手頭的dataframe質(zhì)量一步步變高,也會很開心。
第三點,從長遠角度,我對自己比較模糊的預(yù)判是想要往M崗轉(zhuǎn) 。
所以根據(jù)上述幾點,給自己草草制定了一下計劃,如果前五個月DS求職沒有什么進展,那再鐵了心轉(zhuǎn)投sde的懷抱。再不濟也能把leetcode的easy題給刷好了,不至于浪費太多時間。
b、BA track和ML track我是怎么選擇的?
定下優(yōu)先找DS的基調(diào)之后,我會發(fā)現(xiàn)具體工作是不能光看title的,一定要細讀jd, 大致上可以分為以DA/BA為主的BA track,他們有的title叫DS,有的叫DA/BI/product analyst,這一類崗位強調(diào)統(tǒng)計知識的應(yīng)用,需要比較強的product sense和實驗設(shè)計。FB的DS, analytics就屬于這個分類。
另一個則是ML track,會更加強調(diào)ML, DL的經(jīng)驗和能力,對coding的要求毫無疑問要高一檔,甚至不少公司是把MLE放在SDE下面來招人的。這一類也有不少會要求有PhD或者碩士+多年工作經(jīng)驗,比如Amazon的applied scientist和Google的data scientist。
我觀察下來,對于碩士應(yīng)屆生工作崗位而言,BA track的opening會多一些。我的策略是兩邊都投,不放棄任意一邊的機會,但是主攻BA track。題外話,有些startup招DS會要求全才什么都會,stats + ML + NLP.... 本質(zhì)上就是這兩個track的結(jié)合。投簡歷時,可以稍微修改一下,準備兩個版本的簡歷來應(yīng)對。一些project經(jīng)歷對申請這兩個track的DS都有幫助,比如說一個比較完整的ml項目申這些都能用。
前面有說到DS的面試體系會相對雜亂一點、經(jīng)常會有些不按常理出牌的考官,所以我不建議走了BA就完全不看ml,或者走了ml track就完全不看統(tǒng)計,因為可能你就會在某個環(huán)節(jié)遇到了另一個track的題目。比如我有朋友去面JPM的DS,本以為是modeling為主,結(jié)果反而終面問了些distribution和貝葉斯的題目。
ML、BA雙軌制,針對不同的職業(yè)發(fā)展路徑
Case Study面試套路模板背誦
課上理論實踐——每節(jié)課都用真題,模擬面試般的體驗
課下高頻題鞏固,配合30+小時的老師錄制的獨家視頻、項目、和預(yù)習(xí)復(fù)習(xí)材料
大數(shù)據(jù)級別的設(shè)計與分析、機器學(xué)習(xí)+深度學(xué)習(xí)項目
內(nèi)部職位推薦網(wǎng)絡(luò)
02
面試準備
a. 有哪些必不可少的學(xué)習(xí)資料?
FB的DS面試主要側(cè)重在四個環(huán)節(jié),缺一不可。平心而論,面的問題都不算刁鉆,但是他們不希望面試者有任何一個明顯的短板。具體的應(yīng)試上岸算法的DS小班課里全都會有cover到,這里我就僅僅是羅列出來自己的準備資料,僅供大家參考。
SQL:
Mode SQL tutorial: FB官方推薦教學(xué)網(wǎng)站,界面感人,上手迅速
論壇面經(jīng):各大論壇有大量FB SQL面經(jīng),如果時間有限,一個個照著刷過來即可
LeetCode: 題目不多,如果時間有限,遇到window function的題可以選擇略過
W3School: 參考用的工具書網(wǎng)站
Stats:
Khan Academy: 入門統(tǒng)計視頻。倍速觀看,用于復(fù)習(xí)。
Brilliant: 統(tǒng)計刷題網(wǎng)站,例子比較像應(yīng)用題,貼近面試。
論壇面經(jīng):略
Seeing theory: 我沒有用過,但是看到很多人強推,據(jù)說可視化做得非常好,便于理解統(tǒng)計理論。
Product case:
Stellapeers: FB推薦的產(chǎn)品學(xué)習(xí)網(wǎng)站,對學(xué)習(xí)metrics很有幫助,有些問題比較偏PM,需要自己做一定篩選
Udacity AB testing: Google做的最優(yōu)質(zhì)的AB testing入門課,沒有之一
Data-Informed Product Building:據(jù)說是產(chǎn)品面試圣經(jīng),我只翻了幾個看看,但是如果有時間系統(tǒng)學(xué)習(xí),一定會很有幫助
Data case:
Datamasked: 有40多題數(shù)據(jù)相關(guān)的case題目,討論了各種數(shù)據(jù)相關(guān)的問題,非常實戰(zhàn),涵蓋了novelty effect, network effect等問題,對product sense也很有幫助,缺點是價格比較貴
Medium blog: 有很多tech公司的blog, 也有ml design相關(guān)的case問題,缺點是需要自己花很多時間去篩選
b、不同材料的學(xué)習(xí)投入比重我是如何分配的?
學(xué)習(xí)重點的分配完完全全是因人而異的,對于我的情況來講,難點是:product case > data case > SQL > Stats。相信對于應(yīng)屆畢業(yè)生而言情況都會比較類似,因為我們?nèi)鄙傧嚓P(guān)的工作經(jīng)驗,但是面試時候又需要很強的產(chǎn)品直覺,所以難免需要在產(chǎn)品問題的準備上多花時間,平日里有事沒事就去看看stellapeers,讓自己保持住一個狀態(tài)很重要。
data case我認為也是一個難點,因為這一輪的面試官似乎往往級別會高一點(也可能就是我的正巧遇到了級別高一點的),問到一些ML design的問題自由度很高,會根據(jù)回答繼續(xù)細挖,并且夾雜著product sense考核。
在閱讀case題目答案的時候,不要滿足于答案,因為面試官往往也聽到了很多雷同的答案,會期待更多更新鮮的想法。例如,有一個問題是“如何判斷兩個FB用戶是不是最要好的朋友”。書上可能列舉了幾種measure closeness的方法,但面試官可能就會不停地詢問是否還有別的方法。與此同時,你可能還會被問到,為什么會需要launch這個功能,能給FB帶來什么好處之類的product問題。
SQL講道理語法什么都不是很難,最難的題用到一個subquery WITH t1 AS(...) 就能搞定,但是平時一定要常刷題保持手感,我看到地里好多人反映都是輕視了SQL,沒能夠快速理解題意,導(dǎo)致白板面試的時候腦子空白了5分鐘,最后就來不及寫完了,尤其是video chat的時候你沒有思路的話,場面會一度十分尷尬...... 其實這一輪是可以選擇用python (pandas)或者R (dplyr)來考的,但是出題邏輯是SQL做題最直觀,還是建議選用SQL。
統(tǒng)計題目的話 bayes, binomial distribution之類的大一大二統(tǒng)計知識是側(cè)重點,一半題目都會是排列組合、條件概率。
03
時間線
我是在9月初入學(xué)master, 大約入學(xué)前一個月,即8月左右開始尋覓朋友修改簡歷,開始內(nèi)推。我申請的時候還沒有OA的要求,但聽說后來就開始發(fā)放OA了。
8月底填寫了一份內(nèi)推問卷調(diào)查,9月初收到了hr的initial screening call,9月中旬參加了video面試(一輪SQL+一輪product),最后10月中旬參加了on site (四個環(huán)節(jié),每個一輪,疫情期間改為了video面)。
總體上的時間是比較自由的,完全取決于你想什么時間參加下一輪面試,如果過程中準備時間不夠,可以多次和recruiter要求延期。但是opening開放的窗口比較短暫,所以我的建議是哪怕題目還不熟悉,只要有了一份qualified的簡歷,就先可以開始內(nèi)推申請起來,隨后在面試的過程當中再不斷準備。
FB新添加的OA也從側(cè)面說明,應(yīng)屆生似乎越來越有供大于求的趨勢,所以真的很有必要早點準備。哪怕是沒時間準備,過了initial screening隨意延期好了,我中途也延了兩周,但是錯過投遞簡歷的時間窗口就得不償失了。
此外,我和一些學(xué)弟學(xué)妹們有聊到,他們反映初來乍到,同時要兼顧學(xué)業(yè)和面試非常地有壓力。
我個人的想法是,對于不是學(xué)有余力的同學(xué)來講,重點一定是放在求職上會比較好,學(xué)業(yè)只要能順利畢業(yè)就行,哪怕是master degree拿了4.0 也不會有很多人care,面試期間的課內(nèi)學(xué)習(xí)和課外學(xué)習(xí)的時間分配至少要在1:2這樣。
雖然今天我們的topic是FB的DS,但是你在準備面試期間,平均總是在一段時間內(nèi)準備2-3家公司的面試的。尤其是第一學(xué)期,課業(yè)可能還沒有特別難,更需要多花時間在面試上,這樣一切順利的話,上岸以后再來補救課業(yè)也很穩(wěn)妥。
如果你現(xiàn)在還沒有入學(xué),那入學(xué)前的這幾個月簡直是準備面試、豐富簡歷的黃金時期,只要這個暑假克制自己保持學(xué)習(xí)做點project,一入學(xué)的同時就開始申請summer intern/或者直接申請全職就能水到渠成。
如果你已經(jīng)臨近畢業(yè),也不需要慌張,可以通過參加上岸的DS小班完善簡歷,沖刺掌握面試技巧,抓住每一個機會。
04
心路歷程
回首求職路,我發(fā)覺還是有很多方面可以去做到更好的,大約有如下這三點。
第一點,我花了太多的時間在udacity的ab testing課程上。我搜刮資料時候發(fā)現(xiàn)很多同學(xué)推薦這門課程,因此也認認真真從頭到尾看了兩邊,可能花了將近一整周的時間,這在面試期間是一段不小的投入,當然也學(xué)到了不少內(nèi)容。可是面試期間幾乎沒有遇到ab testing的題目,遇到能和ab testing有所關(guān)聯(lián)的,面試官也有很刻意地避免聊ab testing。之后我去網(wǎng)上看了看近期面經(jīng),確實考核實驗設(shè)計的頻率較之從前有大幅減少,也看到了別的同學(xué)說“面試官不想聊ab testing”這樣的評論。我不確定這些樣本是否具有代表性、是否現(xiàn)在面試考核內(nèi)容的趨勢有所改變,但是在當時那個情況下,我也許看看別人的課程筆記迅速了解一下ab testing會是一個更好的選擇,而不是選擇看視頻上一整門課。
第二點,投入了很多不必要的時間在leetcode刷題上。我一度以為對于DS一定要把leetcode的easy題目全部搞定,所以暑假期間花了很長時間用python和Java來做算法題。有一說一,這個倒是對我的python水平有了一定的幫助,但是現(xiàn)在看來我申請過的這些BA track沒有一個考核了算法題目,只有一些順帶申請的data engineer考了算法。如果我能夠更有針對性地提前了解一下DS的OA,我一定會適度減少刷題的時間,用來補充其他短版。刷題本身沒毛病,但是不可迷信、盲目地刷題。
第三點,忽略了面經(jīng)的重要性。我面試的時候,至少遇到了四題在面經(jīng)中瞥到過的題目。以此推斷,F(xiàn)B的DS題庫并不是很大, 甚至可能可以是暴力窮盡的。那一天,我每次被問到面經(jīng)題時,內(nèi)心都會不禁涌起一種懊悔感,“哎呀,早知道被問這題,當初何不把網(wǎng)上大佬們的解答都仔細看看,集思廣益呢”。這種懊悔感在我最后幾天等待面試結(jié)果期間愈發(fā)強烈,試想我都中了那么多題了,如果僅僅因為不夠重視面經(jīng)最后給面掛的話,得多難受。如果讓我重新經(jīng)歷一遍FB的面試,在最后的幾天里,我一定會把重點轉(zhuǎn)到面經(jīng)上面,把每一道高頻題目翻來覆去地花式操練。
關(guān)于疫情期間的注意事項,這里我想重點講一個和求職不那么相關(guān)的題外話。那就是,無論是CPT和OPT千萬千萬要早做打算。
一方面是USCIS效率低下,另一方面有的opt是從學(xué)校DSO寄出來的,一旦出什么問題更正的材料寄去學(xué)校再寄回來前后又是10天時間。我當時就是因為想著已經(jīng)有了工作,松懈了一下拖延到了10月底才寄出,誰知道最后竟然花了5個半月才收到EAD卡,defer了好幾個月的入職時間,四舍五入損失一大筆。我也聽說一些最近求職的朋友,就是因為手頭沒有EAD卡,公司卡著offer。更有甚者,因為EAD卡到得晚了,中小型的公司直接手撕了offer,得在畢業(yè)后重新開始面試找工作。
經(jīng)歷了這輪波折,我才理解為什么大家都說求職就像打怪升級一樣,不到最后上岸不能喘息,疫情期間更是要格外重視這些身份相關(guān)的事情。也希望大家每一步都早一點規(guī)劃,每一步小心翼翼,每一步也走得更加順利。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。
DIY機械鍵盤相關(guān)社區(qū):機械鍵盤DIY