99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀數(shù)據(jù)挖掘工程師的面試問題與答題思路
數(shù)據(jù)挖掘工程師的面試問題與答題思路
2016-10-16
收藏


數(shù)據(jù)挖掘工程師的面試問題與答題思路

機(jī)器學(xué)習(xí)、大數(shù)據(jù)相關(guān)崗位根據(jù)業(yè)務(wù)的不同,崗位職責(zé)大概分為:

1、平臺(tái)搭建類

數(shù)據(jù)計(jì)算平臺(tái)搭建,基礎(chǔ)算法實(shí)現(xiàn),當(dāng)然,要求支持大樣本量、高維度數(shù)據(jù),所以可能還需要底層開發(fā)、并行計(jì)算、分布式計(jì)算等方面的知識(shí);

2、算法研究類

文本挖掘,如領(lǐng)域知識(shí)圖譜構(gòu)建、垃圾短信過濾等;

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

- 排序,搜索結(jié)果排序、廣告排序等;

- 廣告投放效果分析;

- 互聯(lián)網(wǎng)信用評(píng)價(jià);

- 圖像識(shí)別、理解。

3、數(shù)據(jù)挖掘

- 商業(yè)智能,如統(tǒng)計(jì)報(bào)表;

- 用戶體驗(yàn)分析,預(yù)測流失用戶。

以上是根據(jù)求職季有限的接觸所做的總結(jié)。有的應(yīng)用方向比較成熟,業(yè)界有足夠的技術(shù)積累,比如搜索、推薦,也有的方向還有很多開放性問題等待探索,比如互聯(lián)網(wǎng)金融、互聯(lián)網(wǎng)教育。在面試的過程中,一方面要盡力向企業(yè)展現(xiàn)自己的能力,另一方面也是在增進(jìn)對(duì)行業(yè)發(fā)展現(xiàn)狀與未來趨勢的理解,特別是可以從一些剛起步的企業(yè)和團(tuán)隊(duì)那里,了解到一些有價(jià)值的一手問題。


以下首先介紹面試中遇到的一些真實(shí)問題,然后談一談答題和面試準(zhǔn)備上的建議。

面試問題

1、你在研究/項(xiàng)目/實(shí)習(xí)經(jīng)歷中主要用過哪些機(jī)器學(xué)習(xí)/數(shù)據(jù)挖掘的算法?

2、你熟悉的機(jī)器學(xué)習(xí)/數(shù)據(jù)挖掘算法主要有哪些?

3、你用過哪些機(jī)器學(xué)習(xí)/數(shù)據(jù)挖掘工具或框架?

4、基礎(chǔ)知識(shí)

1)無監(jiān)督有監(jiān)督算法的區(qū)別?

2)SVM 的推導(dǎo),特性?多分類怎么處理?

3)LR 的推導(dǎo),特性?

4)決策樹的特性?

5)SVM、LR、決策樹的對(duì)比?

6)GBDT 和 決策森林 的區(qū)別?

7)如何判斷函數(shù)凸或非凸?

8)解釋對(duì)偶的概念。

9)如何進(jìn)行特征選擇?

10)為什么會(huì)產(chǎn)生過擬合,有哪些方法可以預(yù)防或克服過擬合

11)介紹卷積神經(jīng)網(wǎng)絡(luò),和 DBN 有什么區(qū)別?

12)采用 EM 算法求解的模型有哪些,為什么不用牛頓法或梯度下降法?

13)用 EM 算法推導(dǎo)解釋 Kmeans。

14)用過哪些聚類算法,解釋密度聚類算法。

15)聚類算法中的距離度量有哪些?

16)如何進(jìn)行實(shí)體識(shí)別?

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

18)寫一個(gè) Hadoop 版本的 wordcount。

……

5、開放問題

1)給你公司內(nèi)部群組的聊天記錄,怎樣區(qū)分出主管和員工?

2)如何評(píng)估網(wǎng)站內(nèi)容的真實(shí)性(針對(duì)代刷、作弊類)?

3)深度學(xué)習(xí)推薦系統(tǒng)上可能有怎樣的發(fā)揮?

4)路段平均車速反映了路況,在道路上布控采集車輛速度,如何對(duì)路況做出合理估計(jì)?采集數(shù)據(jù)中的異常值如何處理?

5)如何根據(jù)語料計(jì)算兩個(gè)詞詞義的相似度?

6)在百度貼吧里發(fā)布 APP 廣告,問推薦策略?

7)如何判斷自己實(shí)現(xiàn)的 LR、Kmeans 算法是否正確?

8)100億數(shù)字,怎么統(tǒng)計(jì)前100大的?

……


答題思路

1、用過什么算法?

最好是在項(xiàng)目/實(shí)習(xí)的大數(shù)據(jù)場景里用過,比如推薦里用過 CF、LR,分類里用過 SVM、GBDT;

一般用法是什么,是不是自己實(shí)現(xiàn)的,有什么比較知名的實(shí)現(xiàn),使用過程中踩過哪些坑;優(yōu)缺點(diǎn)分析。

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ǔ)知識(shí)

個(gè)人感覺高頻話題是 SVM、LR、決策樹(決策森林)和聚類算法,要重點(diǎn)準(zhǔn)備;

算法要從以下幾個(gè)方面來掌握:

1)產(chǎn)生背景,適用場合(數(shù)據(jù)規(guī)模,特征維度,是否有 Online 算法,離散/連續(xù)特征處理等角度);

2)原理推導(dǎo)(最大間隔,軟間隔,對(duì)偶);

3)求解方法(隨機(jī)梯度下降、擬牛頓法等優(yōu)化算法);

4)優(yōu)缺點(diǎn),相關(guān)改進(jìn);

5)和其他基本方法的對(duì)比;

6)不能停留在能看懂的程度,還要對(duì)知識(shí)進(jìn)行結(jié)構(gòu)化整理,比如撰寫自己的 cheet sheet,我覺得面試是在有限時(shí)間內(nèi)向面試官輸出自己知識(shí)的過程,如果僅僅是在面試現(xiàn)場才開始調(diào)動(dòng)知識(shí)、組織表達(dá),總還是不如系統(tǒng)的梳理準(zhǔn)備;

7)從面試官的角度多問自己一些問題,通過查找資料總結(jié)出全面的解答,比如如何預(yù)防或克服過擬合。

5、開放問題

由于問題具有綜合性和開放性,所以不僅僅考察對(duì)算法的了解,還需要足夠的實(shí)戰(zhàn)經(jīng)驗(yàn)作基礎(chǔ);

先不要考慮完善性或可實(shí)現(xiàn)性,調(diào)動(dòng)你的一切知識(shí)儲(chǔ)備和經(jīng)驗(yàn)儲(chǔ)備去設(shè)計(jì),有多少說多少,想到什么說什么,方案都是在你和面試官討論的過程里逐步完善的,不過面試官有兩種風(fēng)格:引導(dǎo)你思考考慮不周之處 or 指責(zé)你沒有考慮到某些情況,遇到后者的話還請注意靈活調(diào)整答題策略;

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


準(zhǔn)備建議

1、基礎(chǔ)算法復(fù)習(xí)兩條線
材料閱讀 包括經(jīng)典教材(比如 PRML,模式分類)、網(wǎng)上系列博客(比如 研究者July的“結(jié)構(gòu)之法,算法之道”),系統(tǒng)梳理基礎(chǔ)算法知識(shí);

面試反饋 面試過程中會(huì)讓你發(fā)現(xiàn)自己的薄弱環(huán)節(jié)和知識(shí)盲區(qū),把這些問題記錄下來,在下一次面試前搞懂搞透。

2、除算法知識(shí),還應(yīng)適當(dāng)掌握一些系統(tǒng)架構(gòu)方面的知識(shí),可以從網(wǎng)上分享的阿里、京東、新浪微博等的架構(gòu)介紹 PPT 入手,也可以從 Hadoop、Spark 等的設(shè)計(jì)實(shí)現(xiàn)切入。

3、如果真的是以就業(yè)為導(dǎo)向就要在平時(shí)注意實(shí)戰(zhàn)經(jīng)驗(yàn)的積累,在科研項(xiàng)目、實(shí)習(xí)、比賽(Kaggle,Netflix,天貓大數(shù)據(jù)競賽等)中摸清算法特性、熟悉相關(guān)工具與模塊的使用。


總結(jié)

如今,好多機(jī)器學(xué)習(xí)數(shù)據(jù)挖掘的知識(shí)都逐漸成為常識(shí),要想在競爭中脫穎而出,就必須做到:
保持學(xué)習(xí)熱情,關(guān)心熱點(diǎn);

深入學(xué)習(xí),會(huì)用,也要理解;

在實(shí)戰(zhàn)中歷練總結(jié);

積極參加學(xué)術(shù)界、業(yè)界的講座分享,向牛人學(xué)習(xí),與他人討論。

最后,希望自己的求職季經(jīng)驗(yàn)總結(jié)能給大家?guī)碛幸娴膯l(fā)。

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }