博客專欄

        EEPW首頁 > 博客 > 還在準備AB testing? 回首求職路,談談疫情下我是如何拿到Facebook DS Offer的

        還在準備AB testing? 回首求職路,談談疫情下我是如何拿到Facebook DS Offer的

        發布人:硅星人 時間:2021-04-03 來源:工程師 發布文章

        想要上岸 就找上岸


        在疫情的影響下,過去的一年對于身處北美的New Grad求職者們而言無疑充滿了坎坷與挑戰。我將分享自己過去一年里的經歷與心路歷程。希望大家也能通過我的經歷讓將來的自己少走彎路、未雨綢繆,趁著招聘期的回暖趨勢,提前做足準備,順順利利上岸。


        接下來我將從職業規劃/面試準備/時間線/心路歷程等四個方面來分享自己的求職經歷。

        01

        職業規劃a. 為什么以DS作為自己的求職目標?


        其實在開始投DS相關工作之前,我自己也做了不少search,讀到了很多熱門的所謂的DS勸退帖 ,相信大家或多或少也有看到過一些。


        那么,為什么我還是選擇了優先尋找DS工作呢?


        首先,個人背景。我本科是econ專業,沒有很系統地學習過CS知識,最難的CS課也就學到了本科算法,簡歷上完全沒有能看的CS項目,所以從零開始找SDE會有很大的gap要去追趕彌補;但相對地,我的計量經濟、統計學概率論相關的知識會牢靠一些,也學習過一些machine learning,已經有了很多前期投入,稍微修修改改簡歷就可以嘗試一下DS了。


        第二點,根據以往課堂project的經驗。我對于DS/DA這個方向有一定的熱情,不管是deploy一個簡單的model還是通過做visualization來講好一個故事,做的事情會讓我比較有成就感。即使是清理數據這一類比較瑣碎的工作,如果我看著手頭的dataframe質量一步步變高,也會很開心。


        第三點,從長遠角度,我對自己比較模糊的預判是想要往M崗轉 。


        所以根據上述幾點,給自己草草制定了一下計劃,如果前五個月DS求職沒有什么進展,那再鐵了心轉投sde的懷抱。再不濟也能把leetcode的easy題給刷好了,不至于浪費太多時間。


        b、BA track和ML track我是怎么選擇的?


        定下優先找DS的基調之后,我會發現具體工作是不能光看title的,一定要細讀jd, 大致上可以分為以DA/BA為主的BA track,他們有的title叫DS,有的叫DA/BI/product analyst,這一類崗位強調統計知識的應用,需要比較強的product sense和實驗設計。FB的DS, analytics就屬于這個分類。


        另一個則是ML track,會更加強調ML, DL的經驗和能力,對coding的要求毫無疑問要高一檔,甚至不少公司是把MLE放在SDE下面來招人的。這一類也有不少會要求有PhD或者碩士+多年工作經驗,比如Amazon的applied scientist和Google的data scientist。


        我觀察下來,對于碩士應屆生工作崗位而言,BA track的opening會多一些。我的策略是兩邊都投,不放棄任意一邊的機會,但是主攻BA track。題外話,有些startup招DS會要求全才什么都會,stats + ML + NLP.... 本質上就是這兩個track的結合。投簡歷時,可以稍微修改一下,準備兩個版本的簡歷來應對。一些project經歷對申請這兩個track的DS都有幫助,比如說一個比較完整的ml項目申這些都能用。


        前面有說到DS的面試體系會相對雜亂一點、經常會有些不按常理出牌的考官,所以我不建議走了BA就完全不看ml,或者走了ml track就完全不看統計,因為可能你就會在某個環節遇到了另一個track的題目。比如我有朋友去面JPM的DS,本以為是modeling為主,結果反而終面問了些distribution和貝葉斯的題目。

        • ML、BA雙軌制,針對不同的職業發展路徑

        • Case Study面試套路模板背誦

        • 課上理論實踐——每節課都用真題,模擬面試般的體驗

        • 課下高頻題鞏固,配合30+小時的老師錄制的獨家視頻、項目、和預習復習材料

        • 大數據級別的設計與分析、機器學習+深度學習項目

        • 內部職位推薦網絡


        02

        面試準備

        a. 有哪些必不可少的學習資料?



        FB的DS面試主要側重在四個環節,缺一不可。平心而論,面的問題都不算刁鉆,但是他們不希望面試者有任何一個明顯的短板。具體的應試上岸算法的DS小班課里全都會有cover到,這里我就僅僅是羅列出來自己的準備資料,僅供大家參考。


        SQL:

        • Mode SQL tutorial: FB官方推薦教學網站,界面感人,上手迅速

        • 論壇面經:各大論壇有大量FB SQL面經,如果時間有限,一個個照著刷過來即可

        • LeetCode: 題目不多,如果時間有限,遇到window function的題可以選擇略過

        • W3School: 參考用的工具書網站

        Stats:

        • Khan Academy: 入門統計視頻。倍速觀看,用于復習。

        • Brilliant: 統計刷題網站,例子比較像應用題,貼近面試。

        • 論壇面經:略

        • Seeing theory: 我沒有用過,但是看到很多人強推,據說可視化做得非常好,便于理解統計理論。

        Product case:

        • Stellapeers: FB推薦的產品學習網站,對學習metrics很有幫助,有些問題比較偏PM,需要自己做一定篩選

        • Udacity AB testing: Google做的最優質的AB testing入門課,沒有之一

        • Data-Informed Product Building:據說是產品面試圣經,我只翻了幾個看看,但是如果有時間系統學習,一定會很有幫助

        Data case:

        • Datamasked: 有40多題數據相關的case題目,討論了各種數據相關的問題,非常實戰,涵蓋了novelty effect, network effect等問題,對product sense也很有幫助,缺點是價格比較貴

        • Medium blog: 有很多tech公司的blog, 也有ml design相關的case問題,缺點是需要自己花很多時間去篩選


        b、不同材料的學習投入比重我是如何分配的?


        學習重點的分配完完全全是因人而異的,對于我的情況來講,難點是:product case > data case > SQL > Stats。相信對于應屆畢業生而言情況都會比較類似,因為我們缺少相關的工作經驗,但是面試時候又需要很強的產品直覺,所以難免需要在產品問題的準備上多花時間,平日里有事沒事就去看看stellapeers,讓自己保持住一個狀態很重要。


        data case我認為也是一個難點,因為這一輪的面試官似乎往往級別會高一點(也可能就是我的正巧遇到了級別高一點的),問到一些ML design的問題自由度很高,會根據回答繼續細挖,并且夾雜著product sense考核。


        在閱讀case題目答案的時候,不要滿足于答案,因為面試官往往也聽到了很多雷同的答案,會期待更多更新鮮的想法。例如,有一個問題是“如何判斷兩個FB用戶是不是最要好的朋友”。書上可能列舉了幾種measure closeness的方法,但面試官可能就會不停地詢問是否還有別的方法。與此同時,你可能還會被問到,為什么會需要launch這個功能,能給FB帶來什么好處之類的product問題。


        SQL講道理語法什么都不是很難,最難的題用到一個subquery WITH t1 AS(...) 就能搞定,但是平時一定要常刷題保持手感,我看到地里好多人反映都是輕視了SQL,沒能夠快速理解題意,導致白板面試的時候腦子空白了5分鐘,最后就來不及寫完了,尤其是video chat的時候你沒有思路的話,場面會一度十分尷尬...... 其實這一輪是可以選擇用python (pandas)或者R (dplyr)來考的,但是出題邏輯是SQL做題最直觀,還是建議選用SQL。


        統計題目的話 bayes, binomial distribution之類的大一大二統計知識是側重點,一半題目都會是排列組合、條件概率。


        03

        時間線

        我是在9月初入學master, 大約入學前一個月,即8月左右開始尋覓朋友修改簡歷,開始內推。我申請的時候還沒有OA的要求,但聽說后來就開始發放OA了。


        8月底填寫了一份內推問卷調查,9月初收到了hr的initial screening call,9月中旬參加了video面試(一輪SQL+一輪product),最后10月中旬參加了on site (四個環節,每個一輪,疫情期間改為了video面)。 


        總體上的時間是比較自由的,完全取決于你想什么時間參加下一輪面試,如果過程中準備時間不夠,可以多次和recruiter要求延期。但是opening開放的窗口比較短暫,所以我的建議是哪怕題目還不熟悉,只要有了一份qualified的簡歷,就先可以開始內推申請起來,隨后在面試的過程當中再不斷準備。


        FB新添加的OA也從側面說明,應屆生似乎越來越有供大于求的趨勢,所以真的很有必要早點準備。哪怕是沒時間準備,過了initial screening隨意延期好了,我中途也延了兩周,但是錯過投遞簡歷的時間窗口就得不償失了。


        此外,我和一些學弟學妹們有聊到,他們反映初來乍到,同時要兼顧學業和面試非常地有壓力。


        我個人的想法是,對于不是學有余力的同學來講,重點一定是放在求職上會比較好,學業只要能順利畢業就行,哪怕是master degree拿了4.0 也不會有很多人care,面試期間的課內學習和課外學習的時間分配至少要在1:2這樣。


        雖然今天我們的topic是FB的DS,但是你在準備面試期間,平均總是在一段時間內準備2-3家公司的面試的。尤其是第一學期,課業可能還沒有特別難,更需要多花時間在面試上,這樣一切順利的話,上岸以后再來補救課業也很穩妥。


        如果你現在還沒有入學,那入學前的這幾個月簡直是準備面試、豐富簡歷的黃金時期,只要這個暑假克制自己保持學習做點project,一入學的同時就開始申請summer intern/或者直接申請全職就能水到渠成。


        如果你已經臨近畢業,也不需要慌張,可以通過參加上岸的DS小班完善簡歷,沖刺掌握面試技巧,抓住每一個機會。


        04

        心路歷程


        回首求職路,我發覺還是有很多方面可以去做到更好的,大約有如下這三點。


        第一點,我花了太多的時間在udacity的ab testing課程上。我搜刮資料時候發現很多同學推薦這門課程,因此也認認真真從頭到尾看了兩邊,可能花了將近一整周的時間,這在面試期間是一段不小的投入,當然也學到了不少內容。可是面試期間幾乎沒有遇到ab testing的題目,遇到能和ab testing有所關聯的,面試官也有很刻意地避免聊ab testing。之后我去網上看了看近期面經,確實考核實驗設計的頻率較之從前有大幅減少,也看到了別的同學說“面試官不想聊ab testing”這樣的評論我不確定這些樣本是否具有代表性、是否現在面試考核內容的趨勢有所改變,但是在當時那個情況下,我也許看看別人的課程筆記迅速了解一下ab testing會是一個更好的選擇,而不是選擇看視頻上一整門課。


        第二點,投入了很多不必要的時間在leetcode刷題上。我一度以為對于DS一定要把leetcode的easy題目全部搞定,所以暑假期間花了很長時間用python和Java來做算法題。有一說一,這個倒是對我的python水平有了一定的幫助,但是現在看來我申請過的這些BA track沒有一個考核了算法題目,只有一些順帶申請的data engineer考了算法。如果我能夠更有針對性地提前了解一下DS的OA,我一定會適度減少刷題的時間,用來補充其他短版。刷題本身沒毛病,但是不可迷信、盲目地刷題。


        第三點,忽略了面經的重要性。我面試的時候,至少遇到了四題在面經中瞥到過的題目。以此推斷,FB的DS題庫并不是很大, 甚至可能可以是暴力窮盡的。那一天,我每次被問到面經題時,內心都會不禁涌起一種懊悔感,“哎呀,早知道被問這題,當初何不把網上大佬們的解答都仔細看看,集思廣益呢”。這種懊悔感在我最后幾天等待面試結果期間愈發強烈,試想我都中了那么多題了,如果僅僅因為不夠重視面經最后給面掛的話,得多難受。如果讓我重新經歷一遍FB的面試,在最后的幾天里,我一定會把重點轉到面經上面,把每一道高頻題目翻來覆去地花式操練。


        關于疫情期間的注意事項,這里我想重點講一個和求職不那么相關的題外話。那就是,無論是CPT和OPT千萬千萬要早做打算。


        一方面是USCIS效率低下,另一方面有的opt是從學校DSO寄出來的,一旦出什么問題更正的材料寄去學校再寄回來前后又是10天時間。我當時就是因為想著已經有了工作,松懈了一下拖延到了10月底才寄出,誰知道最后竟然花了5個半月才收到EAD卡,defer了好幾個月的入職時間,四舍五入損失一大筆。我也聽說一些最近求職的朋友,就是因為手頭沒有EAD卡,公司卡著offer。更有甚者,因為EAD卡到得晚了,中小型的公司直接手撕了offer,得在畢業后重新開始面試找工作。


        經歷了這輪波折,我才理解為什么大家都說求職就像打怪升級一樣,不到最后上岸不能喘息,疫情期間更是要格外重視這些身份相關的事情。也希望大家每一步都早一點規劃,每一步小心翼翼,每一步也走得更加順利。


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。

        DIY機械鍵盤相關社區:機械鍵盤DIY




        關鍵詞:

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 荥阳市| 安徽省| 旬阳县| 黎平县| 九江县| 城步| 长宁区| 平武县| 泽库县| 齐齐哈尔市| 黄骅市| 平昌县| 惠水县| 思南县| 镇远县| 长顺县| 金昌市| 浦北县| 英山县| 镇平县| 广饶县| 潞城市| 工布江达县| 乌审旗| 昆山市| 合作市| 饶平县| 唐山市| 富顺县| 阜阳市| 时尚| 云龙县| 昌平区| 深圳市| 依兰县| 平阴县| 门源| 榆社县| 连云港市| 波密县| 射洪县|