科多大數(shù)據(jù)帶你來看看機器學(xué)習(xí)及大數(shù)據(jù)相關(guān)面試的職責(zé)和面試問題有哪些。
機器學(xué)習(xí)、大數(shù)據(jù)相關(guān)崗位的職責(zé)
根據(jù)業(yè)務(wù)的不同,崗位職責(zé)大概分為:
1、平臺搭建類
· 數(shù)據(jù)計算平臺搭建,基礎(chǔ)算法實現(xiàn),當(dāng)然,要求支持大樣本量、高維度數(shù)據(jù),所以可能還需要底層開發(fā)、并行計算、分布式計算等方面的知識;
2、算法研究類
·文本挖掘,如領(lǐng)域知識圖譜構(gòu)建、垃圾短信過濾等;
·推薦,廣告推薦、APP 推薦、題目推薦、新聞推薦等;
·排序,搜索結(jié)果排序、廣告排序等;
·其它,· 廣告投放效果分析;· 互聯(lián)網(wǎng)信用評價;· 圖像識別、理解。
3、數(shù)據(jù)挖掘類
· 商業(yè)智能,如統(tǒng)計報表;
· 用戶體驗分析,預(yù)測流失用戶。
以下首先介紹面試中遇到的一些真實問題,然后談一談答題和面試準(zhǔn)備上的建議。
面試問題
1、你在研究/項目/實習(xí)經(jīng)歷中主要用過哪些機器學(xué)習(xí)/數(shù)據(jù)挖掘的算法?
2、你熟悉的機器學(xué)習(xí)/數(shù)據(jù)挖掘算法主要有哪些?
3、你用過哪些機器學(xué)習(xí)/數(shù)據(jù)挖掘工具或框架?
4、基礎(chǔ)知識· 無監(jiān)督和有監(jiān)督算法的區(qū)別?· SVM 的推導(dǎo),特性?多分類怎么處理?· LR 的推導(dǎo),特性?· 決策樹的特性?· SVM、LR、決策樹的對比?· GBDT 和決策森林的區(qū)別?· 如何判斷函數(shù)凸或非凸?· 解釋對偶的概念?!?如何進行特征選擇?· 為什么會產(chǎn)生過擬合,有哪些方法可以預(yù)防或克服過擬合?· 介紹卷積神經(jīng)網(wǎng)絡(luò),和 DBN 有什么區(qū)別?· 采用 EM 算法求解的模型有哪些,為什么不用牛頓法或梯度下降法?· 用EM 算法推導(dǎo)解釋 Kmeans?!?用過哪些聚類算法,解釋密度聚類算法。· 聚類算法中的距離度量有哪些?· 如何進行實體識別?· 解釋貝葉斯公式和樸素貝葉斯分類。· 寫一個 Hadoop 版本的 wordcount· ……
5、開放問題
· 給你公司內(nèi)部群組的聊天記錄,怎樣區(qū)分出主管和員工?
· 如何評估網(wǎng)站內(nèi)容的真實性(針對代刷、作弊類)?
· 深度學(xué)習(xí)在推薦系統(tǒng)上可能有怎樣的發(fā)揮?
· 路段平均車速反映了路況,在道路上布控采集車輛速度,如何對路況做出合理估計?采集數(shù)據(jù)中的異常值如何處理?
· 如何根據(jù)語料計算兩個詞詞義的相似度?
· 在百度貼吧里發(fā)布 APP 廣告,問推薦策略?
· 如何判斷自己實現(xiàn)的 LR、Kmeans 算法是否正確?
· 100億數(shù)字,怎么統(tǒng)計前100大的?
· ……
答題思路
1、用過什么算法?
· 最好是在項目/實習(xí)的大數(shù)據(jù)場景里用過,比如推薦里用過 CF、LR,分類里用過 SVM、GBDT;
· 一般用法是什么,是不是自己實現(xiàn)的,有什么比較知名的實現(xiàn),使用過程中踩過哪些坑;
· 優(yōu)缺點分析。
2、熟悉的算法有哪些?
· 基礎(chǔ)算法要多說,其它算法要挑熟悉程度高的說,不光列舉算法,也適當(dāng)說說應(yīng)用場合;
· 面試官和你的研究方向可能不匹配,不過在基礎(chǔ)算法上你們還是有很多共同語言的,你說得太高大上可能效果并不好,一方面面試官還是要問基礎(chǔ)的,另一方面一旦面試官突發(fā)奇想讓你給他講解高大上的內(nèi)容,而你只是泛泛的了解,那就傻叉了。
3、用過哪些框架/算法包?
· 主流的分布式框架如 Hadoop,Spark,Graphlab,Parameter Server 等擇一或多使用了解;
· 通用算法包,如 mahout,scikit,weka 等;
· 專用算法包,如 opencv,theano,torch7,ICTCLAS 等。
4、基礎(chǔ)知識
· 個人感覺高頻話題是 SVM、LR、決策樹(決策森林)和聚類算法,要重點準(zhǔn)備;
· 算法要從以下幾個方面來掌握產(chǎn)生背景,適用場合(數(shù)據(jù)規(guī)模,特征維度,是否有 Online 算法,離散/連續(xù)特征處理等角度);原理推導(dǎo)(最大間隔,軟間隔,對偶);求解方法(隨機梯度下降、擬牛頓法等優(yōu)化算法);優(yōu)缺點,相關(guān)改進;和其他基本方法的對比;
· 不能停留在能看懂的程度,還要對知識進行結(jié)構(gòu)化整理,比如撰寫自己的 cheet sheet,我覺得面試是在有限時間內(nèi)向面試官輸出自己知識的過程,如果僅僅是在面試現(xiàn)場才開始調(diào)動知識、組織表達,總還是不如系統(tǒng)的梳理準(zhǔn)備;從面試官的角度多問自己一些問題,通過查找資料總結(jié)出全面的解答,比如如何預(yù)防或克服過擬合。
5、開放問題
· 由于問題具有綜合性和開放性,所以不僅僅考察對算法的了解,還需要足夠的實戰(zhàn)經(jīng)驗作基礎(chǔ);
·先不要考慮完善性或可實現(xiàn)性,調(diào)動你的一切知識儲備和經(jīng)驗儲備去設(shè)計,有多少說多少,想到什么說什么,方案都是在你和面試官討論的過程里逐步完善的,不過面試官有兩種風(fēng)格:引導(dǎo)你思考考慮不周之處 or 指責(zé)你沒有考慮到某些情況,遇到后者的話還請注意靈活調(diào)整答題策略。