數(shù)據(jù)分析面試的問題
對于數(shù)據(jù)庫分析人員來說,面試前做好面試準(zhǔn)備很重要,你了解哪些面試問題呢?下面小編已經(jīng)為你們整理了數(shù)據(jù)分析面試的問題,希望可以幫到你。
數(shù)據(jù)分析面試的問題(一)
一、異常值是指什么?請列舉1種識別連續(xù)型變量異常值的方法?
異常值(Outlier)是指樣本中的個(gè)別值,其數(shù)值明顯偏離所屬樣本的其余觀測值。在數(shù)理統(tǒng)計(jì)里一般是指一組觀測值中與平均值的偏差超過兩倍標(biāo)準(zhǔn)差的測定值。
Grubbs’ test(是以Frank E.Grubbs命名的),又叫maximumnormed residual test,是一種用于單變量數(shù)據(jù)集異常值識別的統(tǒng)計(jì)檢測,它假定數(shù)據(jù)集來自正態(tài)分布的總體。
未知總體標(biāo)準(zhǔn)差σ,在五種檢驗(yàn)法中,優(yōu)劣次序?yàn)椋簍檢驗(yàn)法、格拉布斯檢驗(yàn)法、峰度檢驗(yàn)法、狄克遜檢驗(yàn)法、偏度檢驗(yàn)法。
二、什么是聚類分析?聚類算法有哪幾種?請選擇一種詳細(xì)描述其計(jì)算原理和步驟。
聚類分析(clusteranalysis)是一組將研究對象分為相對同質(zhì)的群組(clusters)的統(tǒng)計(jì)分析技術(shù)。聚類分析也叫分類分析(classification analysis)或數(shù)值分類(numerical taxonomy)。聚類與分類的不同在于,聚類所要求劃分的類是未知的。
聚類分析計(jì)算方法主要有:層次的方法(hierarchical method)、劃分方法(partitioning method)、基于密度的方法(density-based method)、基于網(wǎng)格的方法(grid-based method)、基于模型的方法(model-based method)等。其中,前兩種算法是利用統(tǒng)計(jì)學(xué)定義的距離進(jìn)行度量。 k-means 算法的工作過程說明如下:首先從n個(gè)數(shù)據(jù)對象任意選擇 k 個(gè)對象作為初始聚類中心;而對于所剩下其它對象,則根據(jù)它們與這些聚類中心的相似度(距離),分別將它們分配給與其最相似的(聚類中心所代表的)聚類;然后再計(jì)算每個(gè)所獲新聚類的聚類中心(該聚類中所有對象的均值);不斷重復(fù)這一過程直到標(biāo)準(zhǔn)測度函數(shù)開始收斂為止。一般都采用均方差作為標(biāo)準(zhǔn)測度函數(shù). k個(gè)聚類具有以下特點(diǎn):各聚類本身盡可能的緊湊,而各聚類之間盡可能的分開。
其流程如下:
(1)從 n個(gè)數(shù)據(jù)對象任意選擇 k 個(gè)對象作為初始聚類中心;
(2)根據(jù)每個(gè)聚類對象的均值(中心對象),計(jì)算每個(gè)對象與這些中心對象的距離;并根據(jù)最小距離重新對相應(yīng)對象進(jìn)行劃分;
(3)重新計(jì)算每個(gè)(有變化)聚類的均值(中心對象);
(4)循環(huán)(2)、(3)直到每個(gè)聚類不再發(fā)生變化為止(標(biāo)準(zhǔn)測量函數(shù)收斂)。
優(yōu)點(diǎn):本算法確定的K 個(gè)劃分到達(dá)平方誤差最小。當(dāng)聚類是密集的,且類與類之間區(qū)別明顯時(shí),效果較好。對于處理大數(shù)據(jù)集,這個(gè)算法是相對可伸縮和高效的,計(jì)算的復(fù)雜度為 O(NKt),其中N是數(shù)據(jù)對象的數(shù)目,t是迭代的次數(shù)。一般來說,K<<N,t<<N 。
缺點(diǎn):1. K 是事先給定的,但非常難以選定;2. 初始聚類中心的選擇對聚類結(jié)果有較大的影響。
三、根據(jù)要求寫出SQL
表A結(jié)構(gòu)如下:
Member_ID (用戶的ID,字符型)
Log_time (用戶訪問頁面時(shí)間,日期型(只有一天的數(shù)據(jù)))
URL (訪問的頁面地址,字符型)
要求:提取出每個(gè)用戶訪問的第一個(gè)URL(按時(shí)間最早),形成一個(gè)新表(新表名為B,表結(jié)構(gòu)和表A一致)
create table B as select Member_ID,min(Log_time), URL from A group by Member_ID ;
數(shù)據(jù)分析面試的問題(二)
1、你處理過的最大的數(shù)據(jù)量?你是如何處理他們的?處理的結(jié)果。
2、告訴我二個(gè)分析或者計(jì)算機(jī)科學(xué)相關(guān)項(xiàng)目?你是如何對其結(jié)果進(jìn)行衡量的?
3、什么是:提升值、關(guān)鍵績效指標(biāo)、強(qiáng)壯性、模型按合度、實(shí)驗(yàn)設(shè)計(jì)、2/8原則?
4、什么是:協(xié)同過濾、n-grams,mapreduce、余弦距離?
5、如何讓一個(gè)網(wǎng)絡(luò)爬蟲速度更快、抽取更好的信息以及更好總結(jié)數(shù)據(jù)從而得到一干凈的數(shù)據(jù)庫?
6、如何設(shè)計(jì)一個(gè)解決抄襲的方案?
7、如何檢驗(yàn)一個(gè)個(gè)人支付賬戶都多個(gè)人使用?
8、點(diǎn)擊流數(shù)據(jù)應(yīng)該是實(shí)時(shí)處理?為什么?哪部分應(yīng)該實(shí)時(shí)處理?
9、你認(rèn)為哪個(gè)更好:是好的數(shù)據(jù)還是好模型?同時(shí)你是如何定義“好”?存在所有情況下通用的模型嗎?有你沒有知道一些模型的定義并不是那么好?
10、什么是概率合并(AKA模糊融合)?使用SQL處理還是其它語言方便?對于處理半結(jié)構(gòu)化的數(shù)據(jù)你會選擇使用哪種語言?
11、你是如何處理缺少數(shù)據(jù)的?你推薦使用什么樣的處理技術(shù)?
12、你最喜歡的編程語言是什么?為什么?
13、對于你喜歡的統(tǒng)計(jì)軟件告訴你喜歡的與不喜歡的3個(gè)理由。
14、SAS,R,Python,Perl語言的區(qū)別是?
15、什么是大數(shù)據(jù)的詛咒?
16、你參與過數(shù)據(jù)庫與數(shù)據(jù)模型的設(shè)計(jì)嗎?
17、你是否參與過儀表盤的設(shè)計(jì)及指標(biāo)選擇?你對于商業(yè)智能和報(bào)表工具有什么想法?
18、你喜歡TD數(shù)據(jù)庫的什么特征?
19、如何你打算發(fā)100萬的營銷活動郵件。你怎么去優(yōu)化發(fā)送?你怎么優(yōu)化反應(yīng)率?能把這二個(gè)優(yōu)化份開嗎?
20、如果有幾個(gè)客戶查詢ORACLE數(shù)據(jù)庫的效率很低。為什么?你做什么可以提高速度10倍以上,同時(shí)可以更好處理大數(shù)量輸出?
21、如何把非結(jié)構(gòu)化的數(shù)據(jù)轉(zhuǎn)換成結(jié)構(gòu)化的數(shù)據(jù)?這是否真的有必要做這樣的轉(zhuǎn)換?把數(shù)據(jù)存成平面文本文件是否比存成關(guān)系數(shù)據(jù)庫更好?
22、什么是哈希表碰撞攻擊?怎么避免?發(fā)生的頻率是多少?
23、如何判別mapreduce過程有好的負(fù)載均衡?什么是負(fù)載均衡?
24、請舉例說明mapreduce是如何工作的?在什么應(yīng)用場景下工作的很好?云的安全問題有哪些?
25、(在內(nèi)存滿足的情況下)你認(rèn)為是100個(gè)小的哈希表好還是一個(gè)大的哈希表,對于內(nèi)在或者運(yùn)行速度來說?對于數(shù)據(jù)庫分析的評價(jià)?
26、為什么樸素貝葉斯差?你如何使用樸素貝葉斯來改進(jìn)爬蟲檢驗(yàn)算法?
27、你處理過白名單嗎?主要的規(guī)則?(在欺詐或者爬行檢驗(yàn)的情況下)
28、什么是星型模型?什么是查詢表?
29、你可以使用excel建立邏輯回歸模型嗎?如何可以,說明一下建立過程?
30、在SQL,Perl,C++,Python等編程過程上,待為了提升速度優(yōu)化過相關(guān)代碼或者算法嗎?如何及提升多少?
看了“數(shù)據(jù)分析面試的問題”