您當前的位置:首頁 > 書法

機器學習及大資料相關面試的職責和麵試問題(轉)

作者:由 姚凱飛 發表于 書法時間:2017-05-29

目錄

·

機器學習、大資料相關崗位的職責

·

面試問題

·

答題思路

·

準備建議

·

總結

各個企業對這類崗位的命名可能有所不同,比如推薦演算法/資料探勘/自然語言處理/機器學習演算法工程師,或簡稱演算法工程師,還有的稱為搜尋/推薦演算法工程師,甚至有的併入後臺工程師的範疇,視崗位具體要求而定。

機器學習、大資料相關崗位的職責

根據業務的不同,崗位職責大概分為:

1、平臺搭建類

·

資料計算平臺搭建,基礎演算法實現,當然,要求支援

大樣本量、高維度資料,

所以可能還需要底層開發、平行計算、分散式計算等方面的知識;

2、演算法研究類

·

文字挖掘

,如領域知識圖譜構建、垃圾簡訊過濾等;

·

推薦

,廣告推薦、APP 推薦、題目推薦、新聞推薦等;

·

排序

,搜尋結果排序、廣告排序等;

·

其它

,·

廣告投放效果分析;·

網際網路信用評價;·

影象識別、理解。

3、資料探勘類

·

商業智慧,如統計報表;

·

使用者體驗分析,預測流失使用者。

以下首先介紹面試中遇到的一些真實問題,然後談一談答題和麵試準備上的建議。

面試問題

1、你在研究/專案/實習經歷中主要用過哪些機器學習/資料探勘的演算法?

2、你熟悉的機器學習/資料探勘演算法主要有哪些?

3、你用過哪些機器學習/資料探勘工具或框架?

4、基礎知識·

無監督和有監督演算法的區別?·

SVM 的推導,特性?多分類怎麼處理?·

LR 的推導,特性?·

決策樹的特性?·

SVM、LR、決策樹的對比?·

GBDT 和 決策森林 的區別?·

如何判斷函式凸或非凸?·

解釋對偶的概念。·

如何進行特徵選擇?·

為什麼會產生過擬合,有哪些方法可以預防或克服過擬合?·

介紹卷積神經網路,和 DBN 有什麼區別?·

採用 EM 演算法求解的模型有哪些,為什麼不用牛頓法或梯度下降法?·

用 EM 演算法推導解釋 Kmeans。·

用過哪些聚類演算法,解釋密度聚類演算法。·

聚類演算法中的距離度量有哪些?·

如何進行實體識別?·

解釋貝葉斯公式和樸素貝葉斯分類。·

寫一個 Hadoop 版本的 wordcount·

……

5、開放問題

·

給你公司內部群組的聊天記錄,怎樣區分出主管和員工?

·

如何評估網站內容的真實性(針對代刷、作弊類)?

·

深度學習在推薦系統上可能有怎樣的發揮?

·

路段平均車速反映了路況,在道路上布控採集車輛速度,如何對路況做出合理估計?採集資料中的異常值如何處理?

·

如何根據語料計算兩個詞詞義的相似度?

·

在百度貼吧裡釋出 APP 廣告,問推薦策略?

·

如何判斷自己實現的 LR、Kmeans 演算法是否正確?

·

100億數字,怎麼統計前100大的?

·

……

答題思路

1、用過什麼演算法?

·

最好是在專案/實習的大資料場景裡用過,比如推薦裡用過 CF、LR,分類裡用過 SVM、GBDT;

·

一般用法是什麼,是不是自己實現的,有什麼比較知名的實現,使用過程中踩過哪些坑;

·

優缺點分析。

2、熟悉的演算法有哪些?

·

基礎演算法要多說,其它演算法要挑熟悉程度高的說,不光列舉演算法,也適當說說應用場合;

·

面試官和你的研究方向可能不匹配,不過在基礎演算法上你們還是有很多共同語言的,你說得太高大上可能效果並不好,一方面面試官還是要問基礎的,另一方面一旦面試官突發奇想讓你給他講解高大上的內容,而你只是泛泛的瞭解,那就傻叉了。

3、用過哪些框架/演算法包?

·

主流的分散式框架如 Hadoop,Spark,Graphlab,Parameter Server 等擇一或多使用瞭解;

·

通用演算法包,如 mahout,scikit,weka 等;

·

專用演算法包,如 opencv,theano,torch7,ICTCLAS 等。

4、基礎知識

·

個人感覺高頻話題是 SVM、LR、決策樹(決策森林)和聚類演算法,要重點準備;

·

演算法要從以下幾個方面來掌握 產生背景,適用場合(資料規模,特徵維度,是否有 Online 演算法,離散/連續特徵處理等角度);原理推導(最大間隔,軟間隔,對偶);求解方法(隨機梯度下降、擬牛頓法等最佳化演算法);優缺點,相關改進;和其他基本方法的對比;

·

不能停留在能看懂的程度,還要對知識進行結構化整理,比如撰寫自己的 cheet sheet,我覺得

面試是在有限時間內向面試官輸出自己知識的過程

,如果僅僅是在面試現場才開始調動知識、組織表達,總還是不如系統的梳理準備;從面試官的角度多問自己一些問題,透過查詢資料總結出全面的解答,比如如何預防或克服過擬合。

5、開放問題

·

由於問題具有綜合性和開放性,所以不僅僅考察對演算法的瞭解,還需要足夠的實戰經驗作基礎;

·

先不要考慮完善性或可實現性,

調動你的一切知識儲備和經驗儲備去設計,有多少說多少,想到什麼說什麼,方案都是在你和麵試官討論的過程裡逐步完善的,不過面試官有兩種風格:引導你思考考慮不周之處 or 指責你沒有考慮到某些情況,遇到後者的話還請注意

靈活調整答題策略

·

和同學朋友開展討論,可以從上一節列出的問題開始。

準備建議

1、基礎演算法複習兩條線

·

材料閱讀

包括經典教材(比如 PRML,模式分類)、網上系列部落格,系統梳理基礎演算法知識;

·

面試反饋

面試過程中會讓你發現自己的薄弱環節和知識盲區,把這些問題記錄下來,在下一次面試前搞懂搞透。

2、除演算法知識,還應適當掌握一些系統架構方面的知識,可以從網上分享的阿里、京東、新浪微博等的架構介紹 PPT 入手,也可以從 Hadoop、Spark 等的設計實現切入。

3、如果真的是以就業為導向就要在平時注意實戰經驗的積累,在科研專案、實習、比賽(Kaggle,Netflix,天貓大資料競賽等)中摸清演算法特性、熟悉相關工具與模組的使用。

總結

如今,好多機器學習、資料探勘的知識都逐漸成為常識,要想在競爭中脫穎而出,就必須做到·

保持學習熱情,關心熱點;·

深入學習,會用,也要理解;·

在實戰中歷練總結;·

積極參加學術界、業界的講座分享,向牛人學習,與他人討論。最後,希望自己的求職季經驗總結能給大家帶來有益的啟發。

想對推薦演算法、使用者畫像有進一步的瞭解的可以移步我的知乎live

《 推薦演算法那點事》:知乎 Live - 全新的實時問答

《 推薦演算法那點事(二):細節 》:知乎 Live - 全新的實時問答

附:其它可能的題目-演算法/架構/ETL等

MapReduce解決缺值問題?

叢集規模有限,但之前的那個檔案足夠大,如何解決?(不能調整叢集的規模)

Spark的三種部署方式?

如果Spark用的和Mapreduce的計算資源同是yarn,發現資源不夠用了話,在Spark中的哪裡進行配置,使之資源分配合理?

LVS的配置相關命令?

Hadoop的各角色的職能?

Hadoop的checkpoint的作用?

HBase的雙主如何配置?

HBase即便擁有雙主的高可靠配置,存在hdfs上的資料丟失怎麼辦?

HBase模糊查詢,是什麼?如何做到?

Hadoop的 高可靠性,如何保證?

如何保證HBase的穩定性以及高可靠性?從部署、容災、以及網路方面說說你的看法?

你覺得Spark和Hadoop的區別是什麼,請簡要說一說?

你覺得Python和Java在使用起來,有什麼區別?

給你兩張表,表A和表B,其中表A有3條資料,表B有5條資料,問:表A left join 表B後有幾條?

LVS和HAProxy相比,它的缺點是什麼?

Sqoop用起來感覺怎樣?

ZooKeeper的角色以及相應的Zookepper工作原理?

HBase的Insert與Update的區別?

陣列與連結串列的區別是什麼?

Scala函數語言程式設計的特點?

今日頭條的個性化推薦是如何實現的?

spark工作原理

spark執行原理

Spark Streaming

Storm的ack是幹嘛的

kalfka幹嘛的

job提交到yarn上的工作流程

10x+5y+z = n,x+y+z的最小值

ArryList、LinkedList、vector的區別

hashMap HashTable的區別

垃圾回收機制

JVM的工作原理

Hbase的垃圾回收工具

for迴圈LinkedList

遍歷HashMap的並且把某一個值刪除

執行緒 程序

Java中Runnable和Thread的區別Callable

Callable與Future的介紹

sleep wait區別

hadoop原始碼使用了什麼JAVA技術

hadoop的通訊介面RPC協議

java的資料型別

mapreduce中的Text型別 LongWriteable 能不能用String 或者用long型別代替

JAVA如何實現序列化

反序列化是什麼?

序列化是將(記憶體中的)結構化的資料資料,序列化成2進位制

mapreduce常用的介面

mapreduce的工作流程

MR最佳化方式

什麼樣的情況下不能用mapreduce

HDFS的架構

hdfs改那幾個檔案 分別改什麼內容 內容代表什麼意思(3次)

core是全域性的 site是區域性的

hdfs最佳化

mapreduce怎麼實現join連線

yarn的ha搭建

zookeeper的工作原理和應用場景

如何解決mapreduce的資料傾斜

mapreduce怎麼實現把移動資料到移動計算的

hive 增加資料有幾種方式

怎麼給hive的表裡面增加一個欄位

增加的欄位裡面資料佔不佔記憶體

給欄位增加值怎麼增加

1g的小檔案,1g的一個檔案 ,為什麼小檔案佔的空間更大

hive建表,什麼情況下見內部表

impala 依賴

怎麼解決hive資料傾斜問題

hbase rowkey的設計原則

唯一 簡明有意義

hbase的應用場景

你們平時PV有多少,資料量有多少

Hive是重點

hadoop工程師

zookeeper在hbase中作用

ZK中存的兩張最重要的表

shall 陣列的分隔符是什麼

linux的copy

▌最後

我開通了知識星球,我還給你們準備了一張優惠券(在文章最後,掃碼進去就有

「10元優惠券」

)。

1。星球主要會分享一些推薦、搜尋、風控等領域的一些演算法、產品、技術相關的資料,其次也會有一些好的內容分享,好的文章、好的書等。

2。在星球內你也可以向我提問,後期會有幾個嘉賓加入,暫定為推薦演算法&工程、影象、NLP、供應鏈等領域的專家,後期看大家的需求可能也會有產品和業務的嘉賓加入。

3。目前主題為推薦系統的細節(快速得分項)、搜尋引擎的細節、使用者畫像、業務sense、生態系統、優質資料、好習慣、好內容、日常思考等。

機器學習及大資料相關面試的職責和麵試問題(轉)

標簽: 演算法  推薦  資料  Hadoop  面試官