【為什麼我們要挑選這篇文章】21 世紀最性感的職業—數據科學家,在年薪至少 150 萬的誘惑下,飛蛾撲火般地湧入學習人潮,但初級的數據科學職缺已經漸漸供過於求。但競爭者多,就不學了嗎?
怎麼可能!推薦大家數據科學面試資料,由淺入深推薦七大部分,囊括了與合作夥伴的溝通、資料分析、模型預測、程式設計、概率、產品指標等面試問題,就是要你殺出重圍,賺那150萬!(責任編輯:黃穗懷)

「《科技報橘》徵才中!跟我們一起定位台灣產業創新力 >> 詳細職缺訊息
快將你的履歷自傳寄至 [email protected]

直到今天,在各類媒體口中,數據科學家依然是「21 世紀最性感的職業」。 但事實上,希望進入這個行業的初級數據科學家已經供過於求。

可以預見的是,各種高校相關專業的畢業生,在完成  coursera 或者 fast.ai 的課程後,都希望得到一份跟「數據」相關的崗位。 據統計,部分職位的供求比已經達到了 1:200。

那麼,如何能在這條獨木橋上殺出重圍、脫引而出呢?

金三銀四求職季,江湖傳言在三月份和四月份找工作和跳槽成功的概率最大。 不同于程式師這樣的純技術工種,求職成為一名數據科學家似乎需要「上知天文,下知地理」。

畢竟,數據科學領域集成了多種不同元素,包括信號處理,數學,概率模型技術和理論,機器學習,電腦程式設計,統計學,資料工程,模式識別和學習,視覺化,不確定性建模,資料倉儲,以及從數據中析取規律和產品的高性能計算。

為大家推薦一份數據科學面試資料,資料收集了來自頂級技術公司的訪調員和數據科學家。 從淺入深的囊括了溝通、資料分析、模型預測、程式設計、概率、產品指標等 7 個部分的共 120 個面試問題。

根據官方網站,這份資源由 Max 、Carl、Henry 以及 William 四位合作編寫,這四位好朋友都有數學科學以及數據分析的背景,也非常互補,也因此讓這份資料變得彌足珍貴。

這份資料,在官方網站上需要付 19 美元可以獲取完整版(包括問題和答案)。

先放上資料官網,非常需要的讀者請購買支援正版哦 !

當然,如果你只是想瞭解這份資料的大概內容,或者測試一下自己是否掌握了數據科學家需要的知識,在 github 上也找到了這份資料的縮略問題版,少部分概念以及定義性的問題有答案,對於開放性的問題, 歡迎大家在留言區給出你的答案哦。

精選了這份資料中的部分問題和答案,完整版連結 github 自取。

 

第一部分:考驗行銷自己、與合作夥伴溝通能力

1.向我解釋一個與你正在面試的角色相關的技術概念。

2.向我介紹你所熱愛的事情。

3.你會如何向沒有統計背景的工程師解釋 A/B 測試,線性回歸呢?

A/B測試,也就是多變數測試,通過測試使用者的不同體驗,來確定哪種改變有助於企業更加有效地實現其目標(如增加轉換等)。 它可以是網站上的文本資訊,按鈕的顏色,不同的使用者介面,不同的電子郵件主題行,號召性用語,優惠等。

4.你會如何向沒有統計背景的工程師解釋置信區間以及95%的置信度的意思?

5.你會如何向一組高級管理人員解釋為什麼數據很重要?

 

第二部分:檢驗對數據名詞的理解程度

1.給定一個數據集,分析這個數據集並告訴我你可以從中瞭解到什麼。

2.什麼是R2? 可能比R2更好的指標有哪些,為什麼?
答:擬合良好,是由該回歸/總方差解釋的那部分方差;你添加的預測變數越多,R^2越大;因而使用因自由度調整的R ^ 2;或著訓練誤差指標。

3.什麼是維度災難?

高維度使得聚類變得困難,因為擁有大量維度意味著彼此相差很大。 例如,為了覆蓋一小部分資料,隨著變數數量的增加,我們需要處理每個範圍廣泛的變數

所有樣本都靠近樣本的邊緣。 這非常糟糕,因為在訓練樣本的邊緣附近做出預測要更加困難

隨著維度p的增加,採樣密度呈指數下降,因此在沒有更多的資料量的情況下,該資料會變得更加稀疏;我們應該進行 PCA 分析以降低維度。

4.更多的資料就總是更好麼?

從統計來說,它取決於你的資料的品質,如果您的資料有偏差,獲取再多資料也毫無用處;它取決於你的模型。 如果你的模型能夠承受高偏差,獲取更多資料不會太過明顯地提高你的測試結果。 你需要添加更多特徵,或者做別的處理。 從實戰來說,也需要在擁有更多資料和額外存儲,計算能力以及所需記憶體之間進行權衡。 因此,始終要考慮擁有更多資料的成本。

5.分析資料之前繪製圖表有什麼好處?

資料集會有錯誤。 你不會找到全部的錯誤,但你或許能夠找到其中的一些。 比如那個212歲的男人以及那個9英尺高的女;變數會有偏度,異常值等。 算術平均值可能用不了,這也意味著標準差用不了;變數可以是多峰的! 如果變數是多峰的,那麼任何基於其的均值或著中位數的都是可疑的。

 

第三部分:測試對於數據集的熟悉程度

1.給定一個數據集,分析這個數據集並給出一個可以預測這個回應變數的模型。

由擬合簡單的模型(多元回歸,邏輯回歸)開始,相應地選取一些特徵,然後嘗試一些複雜的模型。要始終將數據集拆分為訓練集,驗證集和測試集並使用交叉驗證來觀察模型的表現;確定問題是分類問題還是回歸問題;傾向于選用運行快速可以輕鬆解釋的簡單模型;提及交叉驗證作為評估模型的一種方法;繪製圖表且將數據視覺化。

2.如果測試資料的分佈與訓練資料的分佈明顯不同,可能會出現什麼問題?

訓練時具有高精度的模型在測試時可能具有較低的精度。 在沒有進一步瞭解的情況下,很難知道哪個數據集代表了總體的資料,因而很難測量演算法的泛化程度;

這應該可以通過重複劃分訓練集和測試集來緩解(如交叉驗證)

當資料分佈發生變化時,稱為數據集漂移。 如果訓練資料和測試資料的分佈不同,分類器可能會過度學習訓練數據。

3.有什麼方法可以讓我的模型對異常值的魯棒性更高?

我們可以使用 L1 或 L2 等正規化方法來減少方差(增加偏倚)。

演算法的改變:
1. 使用基於樹的方法來代替回歸方法,因為它們更能忍受異常值。
2.對於統計檢驗,使用非參數檢驗來代替參數檢驗。
3.使用穩健的誤差指標,如MAE或Huber Loss,來代替MSE。

資料的改變:
1. 對資料進行winsorize處理
2. 轉換資料(如進行對數處理)
3. 只有在你確定它們是不值得預測的異常值時才刪除它們

4.與最小化誤差絕對值的模型相比,在最小化誤差平方的模型中,你認為有哪些差異? 每個誤差指標分別在哪種情況下合適?

MSE 對異常值更加嚴格。 在這個意義上MAE魯棒性更好,但也更難以擬合模型,因為它無法在數值上進行優化。 因此,當模型的可變性較小且在計算上容易擬合時,我們應該使用MAE,否則應該使用MSE。

MSE :更容易計算梯度

MAE :計算梯度需要線性程式設計MAE對異常值更加穩健。
如果較大錯誤造成的後果很嚴重,使用MSEMSE相當於最大化高斯隨機變數的可能性。

5.你會什麼誤差指標來評估二分類器的好壞? 如果類別不平衡怎麼辦? 如果超過2組怎麼辦?

準確性:你正確預測的情況的比例。 優點:直觀,易於解釋,缺點:當類標籤不平衡且資料信號較弱時效果不。

AUROC :在x軸上繪製fpr,在y軸上繪製tpr以獲得不同的閾值。 給定隨機正例和隨機負例,AUC是你能可以識別類別的概率。 優點:在測試分類能力時效果很好,缺點:不能將預測解釋為概率(因為AUC由排名決定),因此無法解釋模型的不確定性。

logloss/deviance :優點:基於概率的誤差度量,缺點:對假陽性,假陰性非常敏感。 當有超過2組時,我們可以使用k個二分類並將它們添加到logloss中。 像AUC這樣的一些指標僅適用于二分類情況。

 

第四部份:是否能推論數據中的機率問題

1.阿米巴蟲波波生0個、1個或2個小阿米巴蟲的概率分別是25%、25%以及 50%。 這些小阿米巴蟲們的繁殖能力也都一樣。 請問波波的後代滅絕的概率是多少?

o p=1/4+1/4p+1/2p^2 => p=1/2

2.任何15分鐘時間段內,你看到至少一顆流星的概率是20%。 請問在一小時內你看到至少一顆流星的概率是多少?

o l 1-(0.8)^4 。 或者我們用泊松過程也可以解。

3.僅使用一枚色子,你如何生成一個1-7內亂數?

丟三次色子:每一次丟的都是結果的第n位
每次丟色子時,如果值為1-3,則記錄0,否則記錄1。 結果會位於0(000)與7(111)之間,均勻分佈(因為這三次拋擲互相獨立)。 如果得到0則重複拋擲:該過程會終止于均勻分佈的值。

4.有一個資料集包含來自兩個正態分佈的數值,兩個分佈的標準差相同, 來自兩個分佈的資料點個數相同。請問如果想要該資料集呈雙峰分佈,兩個分佈的均值應當至少差多少?

多於兩個標準差

5.提供已知正態分佈的樣本值,請問你能如何類比一個均勻分佈的樣本值?

將值代入同一隨機變數的累計分佈函數

6.一對夫妻告訴你他們有兩個小孩,其中至少有一個是女孩。 請問他們擁有兩個女兒的概率是多少?

1/3

 

第五部分:考驗看不看得懂產品指標

1.對於一個廣告驅動的消費者產品(比如Buzzfeed,YouTube,Google搜索等),什麼可以稱為好的成功衡量指標? 服務驅動的消費者產品(比如優步,Flickr,Venmo等)呢?

廣告驅動:頁面流覽量與每日活躍量,點擊率,每次點擊成本

服務驅動:購買量,轉化率

2.對於一個效率工具(比如印象筆記,Asana,Google 文檔等),什麼可以稱為好的成功衡量指標? 線上課程平臺(比如 edX,Coursera,Udacity 等)呢?

效率工具:付費訂閱使用者數
線上課程平臺:付費訂閱使用者數,課程完成率

3.對於一個電商產(品比如 Etsy,Groupon,Birchbox 等),什麼可以稱為好的成功衡量指標? 訂閱產品(比如 Netflix,Birchbox,Hulu 等)呢? 高級付費訂閱(比如OKCupid,領英,Spotify 等)呢?

電商產品:購買量,轉化率,時/日/周/月/季/年銷售額,售出產品成本,存貨量,網站流量,淨回頭客量, 客服電話量,平均解決問題時長

訂閱產品:流失量,(不知道接下來這幾個都是啥)

高級付費訂閱:(無解答)

 

4.對於高度依賴于使用者投入與交互的消費者產品(比如 Snapchat,Pinterest,Facebook 等), 什麼可以稱為好的成功衡量指標? 通訊產品(比如 GroupMe,Hangouts,Snapchat 等)呢?

高度依賴于使用者投入與交互的消費者產品:user AU ratios,分類型郵件匯總,分類型推送通知匯總,復活率。

通訊產品:(無解答)

5.對於擁有app內購服務的產品(比如 Zynga,憤怒的小鳥以及許多其他遊戲),什麼可以稱為好的成功衡量指標?
使用者/付費使用者平均營收

 

第六部分:是否精通程式設計用途

1.編寫一個函數,計算 2n 個使用者所有可能分配向量,其中n個使用者為控制組,n個使用者為治療組。
遞迴程式設計

2.提供一個包含推特消息的清單,求十個最常用的的標籤。
在字典中存儲所有標籤然後求前十值

3.在給定時間內寫出演算法求解背包問題的最佳近似解。
貪婪演算法

4.在給定時間內寫出演算法求解旅行商問題的最佳近似解。
貪婪演算法

5.你將得到一個大小為n的資料集,但你無法提前知道n具體有多大。 寫出一個佔據O(k)的演算法來隨機抽取k個元素。
水塘抽樣

 

第七部分:檢測是否能從統計推論中完成測試

1. AB 測試中你如何確認客戶流分組完全隨機?

畫出多個 A 組與 B 組變數的分佈,確保他們都擁有一致的形狀。 再保險一點,我們可以做一個排列檢驗來看分佈是否相同。

MANOVA 來比較不同的均值。

2.AA 測試(兩組完全一致)的好處有什麼?
檢查抽樣演算法隨機性

3.在AB測試中,允許一組使用者知道另一組是什麼樣子有什麼危害?
使用者可能無法與未知其他選項時行為一致。 實際上你是在添加一個關於是否允許使用者窺探其它選項的變數——該變數並不隨機。

4.如果某個部落客報導了你的實驗組會有什麼影響呢?
與前問相同。 這一問題可能會在更大範圍內發生。

5.你如何設計一個允許使用者自行選擇是否加入的 AB 測試。

 

(本文經合作夥伴 大數據文摘 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為“老司机”划重点!搞定这120个真实面试问题,杀进数据科学圈〉。)

 數據科學家 一定要知道的事

人才擠爆數據科學行業!五年前的「最性感」職業如今邁向泡沫化
數據科學家必讀的五本書:重要的不是會打 Code,而是背後的資料邏輯思維
【年末轉行指南】無經驗也能做數據科學家?其實學會 Python 後什麼都好談
傑出的數據科學家不會用一般人的方式學習,他會掌握這 5 個訣竅!