2021海內外數據科學、資料分析求職全攻略(壹) — 成績單、攻略、資源

Bert Lee // 李慕家
17 min readNov 13, 2021

--

How I passed 26 interviews & got 6 DA/DS offer from Disney+, Bytedance, SeaMoney, LINE TV, DiDi, Kuaishou — Part I

在入職北京Disney+ Hotstar的第一個週六,我希望將過去幾年的職涯摸索過程紀錄下來。這一路走來的不甘心,也許暫時告一個段落了。希望透過這一系列的文章,給同樣想走Data這條路的人一點幫助,就像我一直以來受到這個大社群幫助一樣。

此篇是求職全攻略系列文中的精華,從上海黃浦江寫到北京中關村,可謂傾盡全力、嘔心瀝血。

本文會從求職計畫源起、求職成果、準備攻略⋯一直寫到資源匯總,希望能幫助到同樣要經歷海內外DA(Data Analyst)/DS(Data Scientist)求職的朋友。

之後有機會再陸續分享我過去數據之路摸索和挫敗的經驗,以及我在2021年的面經(面試經驗詳細記錄)。

前傳:跌跌撞撞的職涯探索
* 數據之路的摸索和挫敗
壹:求職成績單、攻略、資源匯總
* 求職計畫源起
* 2021 求職成績單
* DA/DS求職要做哪些準備?
* 對於DS各個科目,我如何做前期準備?
* 前期準備之後,如何得到大量的面試?
* 開始大量面試後,如何準備?
* 其他求職相關Q&A
* DA/DS求職準備相關資源分享
貳:求職面試經驗(北京上海)
* 面經:美團, dunnhumby, 快手, 滴滴
參:求職面試經驗(新加坡)
* 面經:Twitter, GBD, SEA, SeaMoney, Bytedance
肆:求職面試經驗(台北)
* 面經:AMBER Group, 竹間智能, Line TV, McKinsey, Binance

求職計畫源起

2020年11月,我花了很多時間將一畝三分地和Medium上的DA/DS求職心得總結在Notion上,寫成「DS找工葵花寶典」。我一直在跟我在數據之路的好兄弟Ryan說,依我過去在教會所受到的訓練,我可以自修幾個月考上台大,指考物理93,化學88,英文91.5,托福104,GRE 327⋯,其實準備面試跟考試的道理應該是差不多的,讓我全力準備幾個月,依我的計畫力跟執行力,沒道理失敗。其實原話是:

「讓我全力詹兩個月,沒理由輸。」

*注:NBA球星LeBron James在生死戰時,會開啟[全力詹]模式,平常則是經常[滑水]、[散步]。

在那之後,我在DBS接到一個比較大的Project,一直到2021年4月中,我在DBS的工作都比較緊湊、充實,也比較沒有花太多心思在求職上。

因此,確實參考「DS找工葵花寶典」擬定自己的「2021海外找工準備計畫Pro Max」是從2021年四月底開始。

在此之前有一則重要的LinkedIn訊息讓我對這個計畫更有信心:2021年3月19號,在舊金山Twitter的Janet學姊介紹在新加坡Twitter的MLE (Machine Learning Engineer)機會給我,儘管最後五月面試沒有上,但這讓我知道:

原來我離我的Dream Job也許並不是那麼遠。

好,前面鋪成了這麼久,差不多是時候上乾貨了。

2021 求職成績單

海投29個,內推19個,共投48個,被動受聯繫8個,總共接觸了56個職缺,正式進入招聘流程的有15個。

總共做了1份簡報、1個Take-home作業、3個OA (Online Assessment)、32場面試,通過26場,拿到6個Offer,3個北京、1個台北、2個新加坡。

6個Offer,1個BA、3個DA、2個DS。

那接下來的問題就是:

How did I make it ?

我想分為幾個部分,首先最大的題目是:

DA/DS求職要做哪些準備?

DA/DS 求職準備清單🔥: 熱門必考(1) Programming:
- Python 🔥
- Pandas 🔥
- SQL 🔥
- Bash, Shell
(2) Foundation of Mathematics:
- Statistics 🔥
- Probabilities 🔥
- Time Series
(3) Machine Learning:
- Machine Learning 🔥
- Deep Learning
- NLP
- CV
- RecSys
- ML Design
(4) Data Engineering & Big Data:
- Airflow
- Hadoop
- Spark
(5) Product & Case:
- Product 🔥
- Case 🔥
- Estimation
- A/B Testing 🔥
(6) Take-Home Challenge:
- DS Take-Home Challenge
(7) Data Visualization
- Tableau
- Power BI
- Python DataViz Packages
(8) Behavioral Questions
- BQ 🔥
  • 為什麼會有這麼多要準備的科目?

數據相關職缺在每間公司,每個部門的定位都不一樣,同樣職稱是DS,做的事情可能大不相同,有的偏重分析、推論,有的偏重Modeling,有的偏重A/B Testing,有的可能一條龍從Data Engineering, ETL到Data Visualization、Dashboard都要做。因此面試的內容變化也比較多,可以從JD(職缺描述)和面試中了解到這個職缺注重哪些特點跟技能。

  • 我需要準備這麼多技能嗎?時間有限怎麼辦?

這個就是目標和策略的問題。如果有很明確、具體的求職方向,你當然能夠將準備的範圍限縮,針對重點科目做準備。但對我而言,我認為以長遠來看這些都是累積的過程,我還不希望侷限自己,不論未來要成為CDO數據長、Own一個Product or Business,多一些技能跟經驗總是好的。因此我這次BA, DA, DS, MLE, NLP Engineer都有準備和面試。

考慮成功率的話,其實重點不在於要不要面試多種職缺,而是對於每種職缺的準備經驗都要有所累積,最好是密集、大量的準備、大量的面試,practice makes perfect。面試狀態對於面試表現的影響不亞於實力。

  • 我還是不想準備的這麼雜怎麼辦?

你可以放棄做Data,去面Software Engineer吧,刷題就好了。

我開玩笑的。當然以一個Junior求職的狀況,準備Software Engineer面試也許會比較單純,在不考System Design的情況下,國際大廠通常就是以Leetcode形式的Coding題為主,但這完全不代表比較容易,在大CS時代之下,競爭也是非常激烈的,人人刷滿300題、500題,甚至破千的神人也不少。這是自己可以考慮的。

對於DS各個科目,我如何做前期準備?

我直接分享我在2020年11月就寫好,2021年4月開始執行的「2021找工To Do List」吧:

SQL
Python
Product & Case
Statistics & Probabilities & A/B Testing
Machine Learning
Take-Home Challenge
Behavioral Questions, Tableau, Hadoop & Spark, Linux & Bashing, English

並將這些To Do,安排到前期準備的6個Phase中:

DS求職前期準備6個Phase,數字為預估準備天數,扣除作為預習的Phase 0和錦上添花的Phase V,總共應花51天。

前期準備我預估要花51天,就是將近兩個月的時間,實際執行上,雖然還有不少調整跟不可控的意外變動,但誤差不大。

這邊可能有個問題是:

  • 我應該準備到什麼程度,才開始面試?

這個問題沒有人說得準,很多人會說:「永遠沒有準備好的一天」,因此建議你一邊投履歷、面試,一邊準備,畢竟面試結果很難說,說不定一下就上了。

我的想法是,對於那些難得、不容錯過的機會,當然要試試看,比如說一年一度的校招申請截止日,你當然不能錯過。但是除此以外,我會覺得清楚照著自己的步調跟計畫走也很重要。你不會希望連基本的準備都沒做好,然後面試表現不好、場面尷尬,這樣相當傷士氣跟信心,並且反而換來公司冷凍期半年或一年。

前期準備之後,如何得到大量的面試?

簡單總結這個題目:

  • 一份包裝漂亮的履歷。
  • 找內推、Refer。

那延伸的問題是:

怎麼寫好履歷?

這個題目我先分享我自己的經驗:

  1. 我在大四上的時候,聽過一堂Mason免費辦給學員的履歷課,開始使用LaTex來編寫履歷。Mason現在有針對求職專門開課,看在Mason幫過我的份上幫他工商一下。
  2. 我在台大修過一門江介維老師教的「深造預備英文寫作」,針對履歷、Cover Letter、自傳、SOP相關的書寫都有幫助。
  3. 請別人幫你看履歷。
  4. 最後就是參考其他人的履歷。

更多細節就是付費內容了🐶。

怎麼找人內推、Refer?

  1. 平時經營好自己的LinkedIn、Medium:新加坡Twitter的機會,就是台大學姊在LinkedIn關注到我,主動幫我內推的。另外像是Binance, Garena, McKinsey, 新加坡SeaMoney的機會都是HR或Hunter在LinkedIn主動介紹給我的。
  2. 找學長姐、前輩、朋友們:我很幸運有認識在各國Facebook、Amazon、Google⋯的人,有些職缺可以跨國內推,有些有限制,可以請朋友看看。
  3. 關注Facebook、Medium、PTT、LinkedIn等社群:很多朋友有分享工作或面試經驗並協助內推,比如說新加坡TikTok的Junlin前輩、新加坡Shopee、SEA、泰國Agoda也都有一些朋友經常分享。
  4. 一畝三分地:我有很多內推是在上面找的,包含Disney+、快手、螞蟻金服、小紅書、拼多多⋯,都是在上面請人內推的。包含亞太美國的機會都有,當然美國的前提是要有簽證。
  5. LinkedIn Cold Message:新加坡Ninja Van、GBD、台北Line TV就是我在LinkedIn上發Cold Message得到內推的,但整體來說,成功率不是很高。
  6. 半路出家軟體工程師在矽谷:這個部落格也可以參考。

開始大量面試後,如何準備?

Step 0: 熟悉自己的履歷。

這個是最基本、最重要、面試中準備CP值最高、最常被問到的。有幾個準備的層面:

  1. 清楚自己做過什麼事,可以完整的用STAR框架介紹(通常Action, Result佔比會高一些)。
  2. 知道如何在不說謊的前提下,隱惡揚善的包裝。
  3. 思考可能會遇到的follow-up question,如何應答。

要多清楚自己的履歷?以一個做模型的DS來說,基本上對於寫在履歷上的每一個模型都要很熟悉,舉例來說我有用過BERT這個模型,那我至少要熟悉:①模型架構每一層的細節 ②模型預訓練的方法 ③模型常用的下游場景和用法 ④我是怎麼用的;甚至包括:⑤模型訓練的參數挑選 ⑥與其他相關模型的比較、選擇 ⑦可能改進的方向。基本上這些都有機會被問到,這時候你就要把自己想成李宏毅or林軒田

這裡只是以做模型為例,對於其他項目、Project也是一樣的道理。

Step 1: 清楚職缺內容、面試內容

詳讀JD,了解該職位重視哪些特質和技能,並勇敢而有禮貌的跟HR確認面試流程、內容、面試官資訊,儘管他們可能也無法透露太多,但是在面試前多一分資訊都是很寶貴的。

Step 2: 研究面試官背景

如果有面試官的姓名,我會到LinkedIn看看面試官的背景,說不定還能找到他的Medium、GitHub、Kaggle、Facebook、Twitter ⋯,難說面試聊天的時候會不會用上,但至少你知道你是跟什麼樣背景的人說話,揣摩要用什麼角度來表達。

Step 3: 找面經、面試心得

中國在這個部分的資源相當豐富,一畝三分地、牛客網、看準網上的面試經驗分享很多,Google關鍵字這些互聯網大廠跟職缺的關鍵字通常都找得到不少。

新加坡的話比較難找,一畝三分地、PTT、Medium上有少部分的分享,Glassdoor上會更多,但是深度通常比較淺。

台灣的話,我有用面試趣、或著也是看PTT、Medium上有沒有人分享。

我會先將相關的面經都搜集起來,再按照題型進行分類。

Step 4: 針對公司、部門業務做研究

至少對公司、所屬產業狀況、發展趨勢有一定的了解。我看了不少「人人都是產品經理」的文章,有一些競品分析、賽道分析、指標分析。特別記得包括快手跟抖音的短視頻行業、滴滴旗下橙心優選的社區團購競賽、Disney+, Line TV的流媒體產業、SeaMoney的FinTech事業。

這些對於面試中後階段,Product跟Case的分析問題,指標拆解問題,都有很大的幫助。有些人說這就是BA/DA面試的決勝點,也是沒有行業經驗的人難以跨進來的原因。不過我就是從銀行業進到互聯網產業的,所以我想不是沒有機會,就是保持學習跟關注吧。

Step 5: 針對面經中的各種題型練習

如果有考演算法Coding的話,可以買Leetcode Preminum,刷該公司的題目,我印象中字節的面試中有一題是公司高頻原題。然後面經裡面的題目也可以刷一遍。

其他部分一樣針對各個題型做練習、準備,找資料。我沒有找人做Mock Interview,就是自己模擬,或是自己講講看題目,練習如何Structural的回答問題;或是模型推導,就自己把模型結構畫出來,數學公式推導一次。

Step 6: 客製化自我介紹

通常面試還是會以自我介紹開頭,所以為開場準備一個吸引人的自我介紹還是必要的。我有稍微在YouTube上看了一些教學,其中一個給大家參考,擬定自己的草稿。

接著在面試前,前面做了這麼多準備後,已經知己知彼了,知道自己的履歷、知道對方的背景、重視的點、面試的模式,就可以以這些元素微調自我介紹的內容,將面試引導到你想走的方向。

其他求職相關Q&A

接下來還有幾個求職相關問題,在此簡單回答:

  • 面試結束後,如何檢討?

這個部分我就是面試完盡快將面試細節都記錄下來,趁著記憶猶新的時候。我現在都是用Notion整理,會有一個Big Board,然後每間Company有自己的Page,裡面又會有四個部分:①JD(Job Description) ②面經彙總 ③面試準備 ④面試紀錄

Job Application Big Board

除此以外,主要就是自己想想面試有哪些做得好和可以調整的。

  • 真的需要花這麼多時間求職嗎?

我花了一個半月做前期準備,後面從開始積極投履歷、走過四輪面試、拿到Offer又花了一個多月時間。中間比較多插曲、意料之外的事、糾結選擇的過程⋯等等,讓整體時間延長。值不值得,就看個人考量和規劃吧。

DA/DS求職準備相關資源分享

SQL

Python

  • Leetcode-Algorithms Problems:這就不像SQL那麼好準備了。Coding需要準備的強度根據想面試的職位的要求而定,我自己花了不少時間,但是Medium還是沒有到穩穩秒殺的程度,Hard就更頭痛了。
  • Pandas:網上有很多Cheatsheet,搜一下就有了。想練習的話,最好的方式是自己做幾個Project,從很raw的data開始清理;時間不夠的話,可以拿幾個DS Challenge練練手;還有一種方法就是用Pandas刷SQL題。

Product & Case

A/B Testing

Statistics

Probabilities

老實說,我有幾次機率被問倒,有的涉及到微積分等稍微進階的題目,所以其實應該要準備得更深入。

Machine Learning

Behavioral Questions

這種題目我就是自己看面經想解答,並沒有太多參考其他的資料,我記得Cracking the PM Interview裏面有一張是在講BQ的,應該不錯。

Big Data: Hadoop & Spark

  • Udemy:有稍微看過上面的課程(Hadoop & Spark)。但因為之前工作沒有實際經驗,面試中也沒什麼被問到。

結語

這篇應該算有誠意了吧。回到開頭,我只是希望讓Data Science這個社群更好(更卷?),讓求職數據相關崗位的人少走一些冤枉路,也紀錄下我今年的努力和感謝,我確實是相當有恩典的人,Praise the One Above。

同時,我知道這只是我的一個小起點,Disney+ Hotstar裡大部分都是美國名校碩博海龜、或是北大、清華⋯,希望自己能在這個環境下快速成長,在數據之路走得更遠。

--

--

Bert Lee // 李慕家

Seek & Find | MSDS @Yale | Former Data Scientist @Disney+ & @DBS Bank | NTU Alumni | LinkedIn: https://www.linkedin.com/in/bertmclee/