谷歌微軟等科技巨頭數(shù)據(jù)科學(xué)面試的真題:你能答出多少

責(zé)任編輯:editor006

作者:機(jī)器之心

2017-03-22 21:02:32

摘自:創(chuàng)事記

編寫一個(gè)函數(shù),它接受兩個(gè)已排序的列表,并在排序列表中返回它們的并集。2、 請(qǐng)編寫一個(gè)函數(shù),從一個(gè)數(shù)組中拾取,將它們分成兩個(gè)可能的數(shù)組,然后打印兩個(gè)數(shù)組之間的最大差值(在 O(n) 時(shí)間內(nèi))。

來自 Glassdoor 的最新數(shù)據(jù)可以告訴我們各大科技公司最近在招聘面試時(shí)最喜歡向候選人提什么問題。首先有一個(gè)令人惋惜的結(jié)論:根據(jù)統(tǒng)計(jì),幾乎所有的公司都有著自己的不同風(fēng)格。由于 Glassdoor 允許匿名提交內(nèi)容,很多樂于分享的應(yīng)聘者向大家提供了 Facebook、谷歌、微軟等大公司的面試題。我們把其中的一部分列出以供大家參考。另外,如果你想轉(zhuǎn)行成為一名數(shù)據(jù)科學(xué)家,這里也有一份實(shí)踐指南(如何轉(zhuǎn)行成為一名數(shù)據(jù)科學(xué)家?)

通用問題

蘋果

1、如果你有幾百萬用戶,每個(gè)用戶都會(huì)發(fā)生數(shù)百筆交易,這些交易存在于數(shù)十種產(chǎn)品中。你該如何把這些用戶細(xì)分成有意義的幾類?

微軟

1、 描述一個(gè)你曾經(jīng)參與的項(xiàng)目,以及它的優(yōu)點(diǎn)。

2、如何處理具有高基數(shù)(high-cardinality)的類屬特征?

3、如果想要給 Twitter feed 寫 summarize,你要怎么辦?

4、在應(yīng)用機(jī)器學(xué)習(xí)算法之前糾正和清理數(shù)據(jù)的步驟是什么?

5、 如何測量數(shù)據(jù)點(diǎn)之間的距離?

6、請(qǐng)定義一下方差。

7、請(qǐng)描述箱形圖(box plot)和直方圖(histogram)之間的差異,以及它們的用例。

Twitter

1、你會(huì)使用什么功能來為用戶構(gòu)建推薦算法?

Uber

1、選擇任何一個(gè)你真正喜歡的產(chǎn)品或應(yīng)用程序,并描述如何改善它。

2、如何在分布中發(fā)現(xiàn)異常?

3、如何檢查分布中的某個(gè)趨勢是否是由于異常產(chǎn)生的?

4、 如何估算 Uber 對(duì)交通和駕駛環(huán)境造成的影響?

5、 你會(huì)考慮用什么指標(biāo)來跟蹤 Uber 付費(fèi)廣告策略在吸引新用戶上是否有效?然后,你想用什么辦法估算出理想的客戶購置成本?

領(lǐng)英(LinkedIn)

1、(對(duì)大數(shù)據(jù)工程師)請(qǐng)解釋 REST 是什么。

機(jī)器學(xué)習(xí)問題

谷歌

1、 為什么要使用特征選擇(feature selection)?

2、 如果兩個(gè)預(yù)測變量高度相關(guān),它們對(duì)邏輯回歸系數(shù)的影響是什么?系數(shù)的置信區(qū)間是什么?

3、 高斯混合模型(Gaussian Mixture Model)和 K-Means 之間有什么區(qū)別?

4、 在 K-Means 中如何拾取 k?

5、 你如何知道高斯混合模型是不是適用的?

6、 假設(shè)聚類模型的標(biāo)簽是已知的,你如何評(píng)估模型的性能?

微軟

1、 你有哪些引以為豪的機(jī)器學(xué)習(xí)項(xiàng)目?

2、 隨便找一個(gè)機(jī)器學(xué)習(xí)算法,然后描述它。

3、 請(qǐng)解釋 Gradient Boosting 是如何工作的。

4、(對(duì)數(shù)據(jù)挖掘工程師)請(qǐng)解釋決策樹模型。

5、(對(duì)數(shù)據(jù)挖掘工程師)什么是神經(jīng)網(wǎng)絡(luò)?

6、 請(qǐng)解釋偏差方差權(quán)衡(Bias-Variance Tradeoff)。

7。 如何處理不平衡二進(jìn)制分類?

8.L1 和 L2 正則化之間有什么區(qū)別?

Uber

1、 你會(huì)通過哪種特征來預(yù)測 Uber 司機(jī)是否會(huì)接受訂單請(qǐng)求?你會(huì)使用哪種監(jiān)督學(xué)習(xí)算法來解決這個(gè)問題,如何比較算法的結(jié)果?

領(lǐng)英

1、 點(diǎn)出及描述三種不同的內(nèi)核函數(shù),在哪些情況下使用哪種?

2、 隨意解釋機(jī)器學(xué)習(xí)里的一種方法。

3、 如何應(yīng)付稀疏數(shù)據(jù)?

IBM

1、 如何防止過擬合(overfitting)?

2、 如何處理數(shù)據(jù)中的離群值?

3、 如何評(píng)估邏輯回歸與簡單線性回歸模型預(yù)測的性能?

4、 監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)有什么區(qū)別?

5、 什么是交叉驗(yàn)證(cross-validation),為什么要使用它?

6、 用于評(píng)估預(yù)測模型的矩陣的名稱是什么?

7。 邏輯回歸系數(shù)和勝算比(Odds Ratio)之間存在什么關(guān)系?

8。 主成分分析(PCA)和線性和二次判別分析(LDA 和 QDA)之間的關(guān)系是什么?

9。 如果你有一個(gè)因變量分類,又有一個(gè)連續(xù)自變量的混合分類,你將使用什么算法,方法或工具進(jìn)行分析?

10。(對(duì)行業(yè)分析師)邏輯與線性回歸有什么區(qū)別?如何避免局部極小值?

Salesforce

1、 你會(huì)使用哪些數(shù)據(jù)和模型來測量損耗/流失?如何測試模型性能?

2、 假設(shè)我是一名非技術(shù)人員,請(qǐng)向我解釋一種機(jī)器學(xué)習(xí)算法。

Capital One(一家美國銀行)

1、 如何構(gòu)建一個(gè)模型來預(yù)測信用卡詐騙?

2、 如何處理丟失或不良數(shù)據(jù)?

3、 如何從已存在的特征中導(dǎo)出新的特征?

4、 如果你試圖預(yù)測客戶的性別,但只有 100 個(gè)數(shù)據(jù)點(diǎn),可能會(huì)出現(xiàn)什么問題?

5、 在擁有兩年交易歷史的情況下,哪些特征可以用來預(yù)測信用風(fēng)險(xiǎn)?

6、 請(qǐng)?jiān)O(shè)計(jì)一個(gè)用來下井字棋的人工智能程序。

Zillow

1、 請(qǐng)解釋過擬合,以及如何防止過擬合。

2、 為什么 SVM 需要在支持向量之間最大化邊緣?

Hadoop

Twitter

1、 如何使用 Map/Reduce 將非常大的圖形分割成更小的塊,并根據(jù)數(shù)據(jù)的快速/動(dòng)態(tài)變化并行計(jì)算它們的邊緣?

2、(對(duì)數(shù)據(jù)工程師)給定一個(gè)列表:123, 345234, 678345, 123…其中第一列是粉絲的 ID,第二列是被粉者的 ID。查找所有相互后續(xù)對(duì)(上面的示例中的對(duì)是 123,345)。當(dāng)列表超出內(nèi)存時(shí),如何使用 Map / Reduce 來解決問題?

Captial One

1、(對(duì)數(shù)據(jù)工程師)什么是 Hadoop 序列化(serialization)?

2、 解釋一個(gè)簡單的 Map / Reduce 問題。

Hive

領(lǐng)英

1、(對(duì)數(shù)據(jù)工程師)請(qǐng)編寫返回情感分?jǐn)?shù)的 Hive UDF。例如,假如好=1,壞=-1,平均數(shù)=0,那么對(duì)餐廳做評(píng)價(jià)時(shí)因?yàn)?lsquo;食物好,服務(wù)差’,你的分?jǐn)?shù)可能為 1 - 1 = 0

Spark

Captial One

1、(對(duì)數(shù)據(jù)工程師)用 Scala 語言,RDD 在 Spark 中是如何工作的?

統(tǒng)計(jì)和概率問題

谷歌

1、 假設(shè)我是一名非技術(shù)人員,請(qǐng)向我解釋一下交叉驗(yàn)證(Cross-validation)。

2、 請(qǐng)描述一下非正態(tài)概率分布,隨后告訴我們它該如何應(yīng)用?

微軟

1、(對(duì)數(shù)據(jù)挖掘)請(qǐng)解釋異方差(heteroskedasticity)是什么,以及如何解決它。

Twitter

1、 在給定 Twitter 用戶數(shù)據(jù)的情況下,你該如何衡量參與度?

Uber

1、 時(shí)間序列預(yù)測技術(shù)有什么不同?

2、 解釋原理組件分析(Principle Component Analysis,PCA)和 PCA 使用的方程。

3、 如何解決多重共線性(Multicollinearity)?

4、(對(duì)分析師)請(qǐng)寫一個(gè)方程,優(yōu)化我們?cè)?Twitter 和 Facebook 上的廣告費(fèi)用支出。

Facebook

1、 在一副牌中抽取兩張,出現(xiàn)同一花色的概率是多少?

IBM

1、 什么是 p-value 和置信區(qū)間?

Capital One

1、(對(duì)數(shù)據(jù)分析師)如果你有 70 個(gè)紅色彈珠,綠色和紅色彈珠的比例是 2 比 7,有多少綠色彈珠?

2、 紐約市的通勤數(shù)據(jù)看起來應(yīng)該遵從什么分布?

3、 一個(gè)骰子,在扔 6 次的情況下出現(xiàn) 1 個(gè) 6 的幾率,與扔 12 次的情況下出現(xiàn)至少兩個(gè) 6 的幾率,和扔 600 次出現(xiàn)至少 100 次 6 的幾率相比哪個(gè)大?

Paypal

1、 什么是中心極限定理(Central Limit Theorem),如何證明它?它的應(yīng)用方向是什么?

編程和算法

谷歌

1、(對(duì)數(shù)據(jù)分析師)請(qǐng)寫一個(gè)程序可以判定二叉樹的高度。

微軟

1、 請(qǐng)創(chuàng)建一個(gè)函數(shù)檢查一個(gè)詞是否具有回文結(jié)構(gòu)。

Twitter

1、 請(qǐng)構(gòu)建一個(gè)冪集(power set)。

2、 請(qǐng)問如何在一個(gè)巨大的數(shù)據(jù)集中找到中值?

Uber

1、(對(duì)數(shù)據(jù)工程師)編寫一個(gè)函數(shù)用來計(jì)算給定數(shù)字的平方根(2 個(gè)小數(shù)點(diǎn)精度)。隨后:避免冗余計(jì)算,現(xiàn)在使用緩存機(jī)制優(yōu)化你的功能。

Facebook

1、 假設(shè)給定兩個(gè)二進(jìn)制字符串,寫一個(gè)函數(shù)將它們添加在一起,而不使用任何內(nèi)置的字符串到 int 轉(zhuǎn)換或解析工具。例如:如果給函數(shù)二進(jìn)制字符串 100 和 111,它應(yīng)該返回 1011、你的解決方案的空間和時(shí)間復(fù)雜性如何?

2、 編寫一個(gè)函數(shù),它接受兩個(gè)已排序的列表,并在排序列表中返回它們的并集。

領(lǐng)英

1、(對(duì)數(shù)據(jù)工程師)請(qǐng)編寫一些代碼來確定字符串中的左右括號(hào)是否是平衡的?

2、 如何找到二叉搜索樹中第二大的元素?

3、 請(qǐng)編寫一個(gè)函數(shù),它接受兩個(gè)排序的向量,并返回一個(gè)排序的向量。

4、 如果你有一個(gè)輸入的數(shù)字流,如何在運(yùn)行過程中找到最頻繁出現(xiàn)的數(shù)字?

5、 編寫一個(gè)函數(shù),將一個(gè)數(shù)字增加到另一個(gè)數(shù)字,就像 pow()函數(shù)一樣。

6、 將大字符串拆分成有效字段并將它們存儲(chǔ)在 dictionary 中。如果字符串不能拆分,返回 false。你的解決方案的復(fù)雜性如何?

Captial One

1、(對(duì)數(shù)據(jù)工程師)如何‘拆散’兩個(gè)數(shù)列(就像 SQL 中的 JOIN 反過來)?

2、 請(qǐng)創(chuàng)建一個(gè)用于添加的函數(shù),數(shù)字表示為兩個(gè)鏈表。

3、 請(qǐng)創(chuàng)建一個(gè)計(jì)算矩陣的函數(shù)。

4、 如何使用 Python 讀取一個(gè)非常大的制表符分隔的數(shù)字文件,來計(jì)算每個(gè)數(shù)字出現(xiàn)的頻率?

Paypal

1、 請(qǐng)編寫一個(gè)函數(shù),讓它能在 O(n)的時(shí)間內(nèi)取一個(gè)句子并逆向打印出來。

2、 請(qǐng)編寫一個(gè)函數(shù),從一個(gè)數(shù)組中拾取,將它們分成兩個(gè)可能的數(shù)組,然后打印兩個(gè)數(shù)組之間的最大差值(在 O(n) 時(shí)間內(nèi))。

3、 請(qǐng)編寫一個(gè)執(zhí)行合并排序的程序。

SQL 問題

微軟

1、(對(duì)數(shù)據(jù)分析師)定義和解釋聚簇索引和非聚簇索引之間的差異。

2、(對(duì)數(shù)據(jù)分析師)返回表的行計(jì)數(shù)有哪些不同的方法?

Facebook

1、(對(duì)數(shù)據(jù)工程師)如果給定一個(gè)原始數(shù)據(jù)表,如何使用 SQL 執(zhí)行 ETL(提取,轉(zhuǎn)換,加載)以獲取所需格式的數(shù)據(jù)?

2、 如何編寫 SQL 查詢來計(jì)算涉及兩個(gè)連接的某個(gè)屬性的頻率表?如果你想要 ORDER BY 或 GROUP BY 一些屬性,你需要做什么變化?你該怎么解釋 NULL?

領(lǐng)英

1、(對(duì)數(shù)據(jù)工程師)如何改進(jìn) ETL(提取,轉(zhuǎn)換,加載)的吞吐量?

智力游戲

谷歌

1、 假設(shè)你有 10 包彈球,每包里面都是 10 個(gè)彈球。如果其中一包的重量和其他的不同,但你只能進(jìn)行一次稱重,你該用什么辦法?

Facebook

1、 你打算坐飛機(jī)去西雅圖,想知道是不是需要帶傘,于是你分別打電話給三位在西雅圖的朋友。每個(gè)朋友都有 2/3 的幾率說真話,1/3 的幾率在騙你。如果他們都說‘會(huì)下雨’,西雅圖下雨的概率是多少?

2、 假如在一個(gè)等邊三角形的三個(gè)角上都有一只螞蟻,每只隨機(jī)選擇方向然后直走一直到另一個(gè)邊緣,三只螞蟻互相不交匯的幾率是多少?如果有 n 只螞蟻在 n 角形中,概率又是多少?

3、 在 100! 的結(jié)果里有多少個(gè)零?

Uber

1、 想象一下你在一家醫(yī)院工作?;颊邅砭驮\的頻率符合泊松分布,而醫(yī)生照顧患者的頻率符合均勻分布。請(qǐng)寫一個(gè)函數(shù)或一段代碼來輸出患者的平均等待時(shí)間和醫(yī)生在某日的參與度。

領(lǐng)英

1、 你正在攀爬一個(gè) n 階的樓梯,你可以采取任何數(shù)量的 k 個(gè)步驟。你到達(dá)樓梯頂部有多少不同的方式?(這是樓梯問題的修改版)

選自learndatasci機(jī)器之心編譯

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)