Data Scientist面試考察的內容很雜,我們要從各個領域全面地去準備,不要留下短板。在講解面試技巧之前,我們首先需要明白頂尖科技公司對Data Scientist有哪些技能要求。
Data Scientist的技能要求
SQL
大家可能覺得Data Scientist都在做深度學習模型,並不經常用到SQL,但事實不是這樣。Data Scientist要花大量的時間用SQL抓取數據,可能是做一些直接的分析,也可能是為建模做準備。
SQL是非常重要的技能,每一個公司的面試都會考。你需要熟悉掌握這些語句:Case when, Group by, Having, Self join, Left outer join, On vs Where等,這些是面試中比較常考的。在學校裡涉及得SQL語句一般比較簡單,沒有側重這些語句,比如一個Select from where,加上一個Join就結束了。但在實際面試中,會問一些比較難的問題,比如Left outer join。大家一定要知道什麼時候用Left outer join,以及on和where的區別。
Case when也是用得非常多的語句,用於實現簡單的邏輯功能,有時候會嵌套很多層。有些SQL問題乍一聽比較難,並且你摸不著頭緒,這時候可以試試Self join,這種問題往往用Self join可以解決。
R/Python
有同學可能會問,這兩種語言只會一種行嗎?必須兩者都會嗎?
結論是最好兩種都會。
公司裡普遍是一半的人用R,另一半人用Python。如果你只會一種,你和另外一半同事合作就會有些困難,讀他的代碼就會吃力。雖然面試的時候,面試官會讓你根據自己的喜好選擇一種語言,但對於提升自己的實際能力來說,兩種都掌握是最好的。
這裡有幾個Package大家需要熟悉,R的Package有Ggplot2和Dplyr,面試時有些公司會讓你當場用R寫一些東西,如果你熟練運用這些Package用得很好,會給你增加優勢。Python的Package有 Pandas, Scikit-learn, Matplotlib。
Machine Learning
最常用的兩個模型是Linear Regression和Logistic Regression,需要熟悉它們的數學邏輯。其他的模型當然也要了解,但用得並不是特別多,比如Random Forest等。
A/B testing
實際工作中可能會大量地做A/B testing,而這恰恰是在學校涉及得比較少的。有很多擁有豐富的A/B testing工作經驗的人會發一些博客,大家可以去讀一讀。
Experiment Design
Data Scientist一般會和Product Manager合作設計實驗,在設計實驗的過程中,你需要思考實驗中涉及到的Feature是想要改善哪個指標,在什麼時候、呈現給哪些用戶。在實際工作中,存在一些難度比較大的實驗設計,這就要依靠Data Scientist的個人經驗,也可以在博客中看看別人實際的工作經驗。
Product Sense
這一點對於應屆生來說可能是最難的,因為它需要通過工作經驗來積累。比如產品的什麼Metric是你最看重的。大家需要通過實習或者閱讀文章來積攢經驗,Quora上經常有關於這方面的討論,比如某產品最關注的Metric是什麼,以及為什麼。
Business Sense
我們在學校做的項目,數據一般比較完美,並且老師會幫你制定項目的框架。但在實際工作中,原始數據會存在很多問題,你會找不到頭緒。這時擁有一些Business Sense,比如對公司的核心指標比較敏感,會對數據分析有一些幫助。
Communication
溝通能力是把你的想法和發現分享給其他人的能力,可以通過更多的演講和Presentation來鍛鍊。並且要根據你的聽眾選擇不一樣的講述方式。如果你的聽眾是其他Data Scientist,你就可以介紹一些項目的細節。但如果是Director,他可能沒有領域知識,不會對那些細節感興趣,而是更看重結果,所以這時你就要用一些直白的話講述你的發現。
Data Scientist面試對口語的要求相對較高,表達時還要有清晰的邏輯,如果口語不好,你就無法將你的技術能力很好地向面試官展現出來。
Data Scientist的面試技巧
面試流程
有些公司最開始會有一個Online Assignment,給你一到三天的時間完成。
然後是電話面試,問問你之前的經歷,然後聊簡歷上的項目,最後會問一些概念性的問題。電話面試可能會考SQL,但一般不會考察實際操作,比如問你某個場景你會怎麼處理。
下一輪是現場面試,一般是4到6輪不等,涵蓋的內容比較多,電話面試中考的東西可能會再考一遍。有的公司還會讓產品經理面試一輪,看你和產品經理能不能合作得愉快,因為你在公司中合作得最多的就是產品經理。
現場面試會考數學的概率題,還有Product metrics,Product sense的問題。有的公司會考機器學習,有的公司會考一輪算法。關於編程技能,只要掌握Leetcode裡Easy和Medium等級的題目就可以了。Data Scientist的面試不會涉及到Hard等級的題。
Case Interview
現場面試的兩輪或三輪可能都會面Case Interview。在這裡舉兩個Case Interview的例子。
第一個例子是,一個公司的核心指標是日活用戶,而在過去的兩周,這個指標降低了30%,面試官讓你找出其中的原因。回答這種問題的關鍵點是要有框架和條理性,比較推薦的是從上至下,先制定High level的框架,再說具體的點並進行展開。你可以這麼說,日活下降了30%,可能存在內因和外因,內因是公司內部的因素,外因是公司外部的、不可控的因素,這是一個High level的表述。然後說外因有哪些,比如現在是不是聖誕節期間,最近有沒有什麼新聞事件,轉移大家的關注點。還可以分析用戶的性別和年齡,是不是只有男性用戶的指標跌了,或者是不是只有青少年的指標跌了。而內因方面,你可以說是不是網站有Bug,數據清理的過程中數據有沒有Bug。對每一點進行具體的展開。
第二個例子是,你是一個共享單車公司的Data Scientist,現在你要和產品經理決定,接下來在哪些城市Launch新的單車項目。從High level上講,共享單車包含兩個元素,人和出行。人這一方面,每個城市人口的性別比例、年齡組成是我們要考慮的因素。比如可能老齡化嚴重的城市,騎單車的人數也相對較少。出行方面,可以考慮城市的環境、氣候、地形等。比如倫敦經常下雨,有的城市的山地較多,這些可能會影響騎單車的人數。
多看Techcrunch
Techcrunch上經常有一些科技新聞,比如什麼公司發布了什麼新的Feature,閱讀這些新聞可以幫助我們提高Product Sense和Business Sense。有時候面試會被問到你最喜歡的App是什麼,如果你平時經常讀這些文章,就可以積攢很多的思考,有助於面試時說出有洞察的見解。
Networking
學會通過各種渠道與人建立聯繫。實習中遇到的同事就是很好的資源,比如你的同事跳槽了,如果他先前和你合作很愉快,他可能就可以內推你進他的公司。還可以去參加一些線下活動和Conference。很多公司會辦一些Conference,有些學校也會辦一些數據科學論壇,請的都是工業界的大牛做嘉賓,不僅可以學到知識,也可以和嘉賓或者參會人建立聯繫。在LinkedIn上也去主動加一些Recruiter,搜索目標公司的Data Scientist,加他們為好友,可以直接在LinkedIn上私信希望得到面試機會,也可以只是關注他們有什麼動向,這樣在面試中遇到了就有話題可聊,並且能讓他們覺得你是真的對他們公司感興趣。
數據科學家要求的知識與技能非常全面。BitTiger再次推出權威課程
數據科學家直通車
助你事半功倍成為頂尖數據科學家,並與與未來頂尖數據科學家為伍,衝刺百萬美元獎金!
課程目標
三個月學習,矽谷一線資深數據科學家帶路,基礎知識+項目經驗,將學員能力提升到工業界水平,成為數據科學家。
報名第一節課程(免費)
複製連結或點擊「閱讀全文」查看課程主頁
https://www.bittiger.io/livecourses/xiNqSjwci9AyWAtqg
滑到頁面下方,即可看到「第一節課報名方式」
課程諮詢及報名申請流程
將簡歷發送至Xiongyi@bittiger.io, 郵件主題請設置為「數據科學家直通車」
內容包括
我們課程組老師會在收到簡歷後24小時內進行簡歷背景評估,並電話回訪提供職業指導
查看詳細課程大綱,公眾號後臺回復「DS501」
聯繫課程負責人Davy
課程安排
第一階段:R的知識梳理與項目實戰
以Zillow在Kaggle上獎金為1.2M的home value prediction project為例,詳解在面試以及實際工作中最需要理解掌握的知識點,涵蓋統計學(statistic)和機器學習major supervised machine learning模型內容。豐富簡歷的同時,可以努力成為top100 performer爭取第二輪的比賽資格。
提前感受Data Scientist的work routine,例如面對最初大量房子的原始數據,如何開展,如何理解數據,從而有效提取有predictive的feature,並建立price prediction模型。
第二階段:Python的知識梳理與項目實戰
以Yelp dataset challenge開放實戰挑戰為例,圍繞dataset提出有商業價值的data science 問題,並開發出相應解決方案。
從structured & unstructured data中提取信息,運用包括Natural Language Processing在內的方法,對dataset進行深度挖掘。從而建立clustering model,ranking system,及recommendation system等各種data products。
第三階段:Capstone Project+面試輔導
Capstone Project項目簡介:
涵蓋IT, Health, Finance等方向,滿足學生多方面的發展需求。
從海量airbnb數據集中分析用戶行為,預測租賃價格,挖掘潛在商機
通過用戶的APP下載行為判斷其成為VIP service purchaser的可能性
Smarking - Parking Prediction
Breast Cancer Wisconsin (Diagnostic) Data Set - 預測Breast Cancer是良性還是惡性
Two Sigma Financial Modeling Challenge - 在充滿不確定性的世界中預測揭示經濟動向
課程亮點
夯實的基礎知識學習:16小時理論基礎知識講解,三個月掌握R、Python,夯實統計基礎,系統掌握數據科學家核心技術需求
工業級項目經驗:32小時在線項目實戰,實時答疑,三個月完成Kaggle房價預測、Yelp Business、Capstone Project三大工業界大型實戰項目
緊密圍繞面試求職:16小時Probability and Statistics, Machine learning, Problem Solving等高頻面試題專題精講,掌握面試答題思路與技巧
頂尖師資力量:來自Google, Walmartlabs, Splunk, Boeing的四大名師主講,Live coding帶你從0-1實現三大項目。同時特邀來自Microsoft, Facebook的Guest Speaker,分享職場心得,講解備戰面試秘籍。
海量學習資源:BitTiger獨家海量原創視頻庫,全套數據科學基礎知識及面試指導視頻,包括40小時內部拓展教程(R, SQL, Hadoop, MapReduce, Hive, NoSQL, Tableau, DS/DA面試專題)、矽谷之路視頻和面試指導視頻等。
頂尖教師團隊
Ella
Data Scientist @ Google
Stone
Machine Learning Engineer @ Splunk
George Washington University PhD,現就職於Splunk Machine Learning Team,負責Data Science Application的研發。曾在加州知名Data Bootcamp任教。
John
Principal Data Scientist @ Walmartlabs
精通機器學習和統計建模,在多個垂直領域有豐富的經驗和深刻的見解。曾經就職於FinTech初創公司,和大數據諮詢公司。在布朗大學獲得博士學位,並在MIT從事兩年的博士後研究。
Sean Han
Data Analyst @ Boeing
CMU Master 畢業,在校期間因為能力出眾而成為了許多同學求幫debug的對象,擅長機器學習、大數據。目前就職于波音,負責利用大數據與機器學習預測飛機零件的需求。
往期學員課程評價
Stone老師很負責,很認真,很耐心,課件準備充足,使得課程內容充實有效率。學到了很多基礎而核心的內容。
—— Jason Li
我能感覺到技術給這個世界帶來的巨變,編程逐漸變成必須技能,數據科學可以在任何行業得到運用。可是,因為我們處於這個變化中,非CS本科出身的人,若想進入這個領域,並看到尖端的技術,壁壘是很高的。BitTiger的講座,視頻,課程,我感覺是在level the playground,很感激你們在做這樣的事情。
——Lily Zhang
Stone老師實在太感謝你了!超級有耐心溫柔!幫助了我找回學習的信心和動力。
——Yiqi Fan
學員成功案例