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

熱線電話:13121318867

登錄
首頁學(xué)生感言CDA職場解讀:數(shù)據(jù)分析師面試大廠常見的技術(shù)難點
CDA職場解讀:數(shù)據(jù)分析師面試大廠常見的技術(shù)難點
2024-08-13
收藏
CDA職場解讀:數(shù)據(jù)分析師面試大廠常見的技術(shù)難點

CDA數(shù)據(jù)分析師 出品

作者:徐楊老師

編輯:Mika

大家好,我是徐楊老師。

上期給大家分享了一些數(shù)據(jù)分析師面試基礎(chǔ)指南,這期給大家分享一些大廠面試的技術(shù)難點。

話不多說,進入正題。

在大廠的技術(shù)面試中,有兩個地方是非常有難度的。很多小伙伴都折在的這兩個地方。

01 算法的筆試題

第一個地方,算法的筆試題,而且是手寫算法的筆試題。

我們知道大部分人在寫算法的時候,通常都是把函數(shù)的前幾個字母打出來,或者變量名的前幾個字母打出來。按一下Tab或者按一下快捷鍵,就可以帶出整個的函數(shù)名,然后自己就可以繼續(xù)往后去寫了。

但是如果不過我需要你手寫一個算法,顯然這是不夠的。你只有一張白紙,沒有快捷鍵可以幫你自動調(diào)出函數(shù)名。

比如說,之前就有一位小伙伴在筆試的時候拿到了一個手寫算法的題。

題目很簡單,就是讓他實現(xiàn)一個分類算法。

那么分類算法比較好的有什么?有XGBoost,對吧?于是,小伙伴大筆一揮寫下了import XGBoost

于是,被扣分。

扣分的原因是什么?sklearn里那個包的名字叫什么?叫XGBoost嗎?不是,那個包的名字叫XGBClassifier。

所以說如果你不熟悉這個算法語句中的所有細節(jié),你在手寫的時候就類似于寫一篇英語作文,可是你忘了單詞怎么拼。

這是一個很讓人痛苦的事情,算法你會,但是你寫不出來。

因此這是第一個技術(shù)難點,手寫算法。

那就要求大家在日常的學(xué)習(xí)與工作中,一定要把常用的算法語句用的滾瓜爛熟,才可以讓我們在這樣的問題上有比較好的回答成果。

02 技術(shù)問題深挖掘

第二個在大廠面試中的難點是,把一個技術(shù)問題往下深挖好幾次。

比如說最簡單的一個算法回歸分析。有可能在面試的時候面試官問你:

—— 同學(xué),線性回歸會嗎?

—— 當(dāng)然會。

—— 線性回歸不能有共線性,你知道嗎?

—— 當(dāng)然知道。

Ok,開始提問。

什么是線性回歸你的共線性?

你解釋了一下。我相信在座的小伙伴都可以解釋的很清楚。

下面再往下挖一層:怎么檢測共線性?

有的小伙伴可能直接就說,共線性嘛,系相關(guān)系數(shù)就可以啊。

結(jié)果被扣分了。為什么?

我們現(xiàn)在要檢測的是線性回歸里的相關(guān)性,那是要考慮偏相關(guān)問題的。只用相關(guān)技術(shù)矩陣可以嗎?不夠用的,應(yīng)該用一些更加深入的指標,比如說VIF值等等去檢測。

比如說這個問題你正確的回答了出來,檢測變量之間的相關(guān)性,可以使用VIF值。

那就再往下挖,為什么要檢測變量之間的相關(guān)性呢?

如果我不考慮這個問題會有怎樣的結(jié)果出現(xiàn),那么你不能只回答,如果不考慮共線性問題的話,我這個模型預(yù)測效果不好。

顯然面試官想要的不是這么直接的回答,他想問你的是這個問題的技術(shù)細節(jié)。

所以你在這個地方應(yīng)該回答出的是:

如果我們不處理共線性的問題,就會導(dǎo)致最后最小二乘法所需要的逆矩陣在被計算的時候,這個矩陣的行列式的值就會非常小。于是導(dǎo)致我們求出來的逆矩陣就會非常的大。這是一個非常不好的結(jié)果。

你求出的矩陣,用這個矩陣算出來的所有參數(shù)的取值全都趨近于正無窮,你覺得這個效果能好嗎?顯然有問題。

如果到這兒你仍然可以準確的回答出來,這已經(jīng)被挖了三次了,但是你要知道這個問題還可以繼續(xù)往后挖。

我們再往后挖就是,如果普遍檢測出了一共10個變量,這10個變量普遍VIF值都比較高,我們有什么好的方法來處理?

有同學(xué)可能馬上就會說,正則化方法嘛。

正則化方法又可以問問題了。

正則化方法有偏還是無偏?用完了以后效果怎么樣?哪個包可以實現(xiàn)?

我們發(fā)現(xiàn)這種技術(shù)問題,面試官可以就一個點給你一直往下深挖好幾層。

我看過一個調(diào)查,同一個問題,當(dāng)一般往下深挖到第5層的時候,大部分人就已經(jīng)回答不出來了。

所以這就要求大家平時在學(xué)習(xí)與工作中,要把每一個技術(shù)細節(jié)都掌握好,要把技術(shù)細節(jié)之間的聯(lián)系找到。因為往下深挖,其實挖的就是這些技術(shù)點之間的聯(lián)系,這是第二個在大場面之中非常容易折的一個點。


最后,這里再分享一個考試備考過程中人人皆需的模擬題庫——CDA考試模擬題庫。

題庫是緊密結(jié)合CDA考試大綱而編寫的一套模擬試題庫。為順利通過考試奠定堅實的基礎(chǔ)

1、解析詳盡:每道題目基本上都配備了詳細的解析和答案,幫助你深入理解題目背后的知識點和解題思路。

2、便捷高效:你可以隨時隨地通過手機或電腦訪問題庫,進行自主學(xué)習(xí)和練習(xí),充分利用碎片時間,提高備考效率。

3、模擬考試:題庫提供了多套模擬考試試卷,幫助你熟悉考試流程和題型。


以上就是今天給小伙伴們的分享,希望對大家有幫助,謝謝大家。

點擊CDA題庫鏈接,獲取免費版CDA題庫入口,??荚図樌?,快速拿證!

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

若不方便掃碼,搜微信號: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(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 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){ //倒計時完成 $(".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); }