國內互聯網巨頭 [數據挖掘類] 崗位的招聘筆試題目

    -回復 -瀏覽
    樓主 2020-11-16 15:04:23
    舉報 只看此人 收藏本貼 樓主

    從阿里數據分析師筆試看職業要求


    以下試題是來自阿里巴巴招募實習生的一次筆試題,從筆試題的幾個要求我們一起來看看數據分析的職業要求。


    一、異常值是指什么?請列舉1種識別連續型變量異常值的方法?


    異常值(Outlier)是指樣本中的個別值,其數值明顯偏離所屬樣本的其余觀測值。在數理統計里一般是指一組觀測值中與平均值的偏差超過兩倍標準差的測定值。


    Grubbs’ test(是以Frank E. Grubbs命名的),又叫maximum normed residual test,是一種用于單變量數據集異常值識別的統計檢測,它假定數據集來自正態分布的總體。


    未知總體標準差σ,在五種檢驗法中,優劣次序為:t檢驗法、格拉布斯檢驗法、峰度檢驗法、狄克遜檢驗法、偏度檢驗法。


    點評:考察的內容是統計學基礎功底。


    二、什么是聚類分析?聚類算法有哪幾種?請選擇一種詳細描述其計算原理和步驟。


    聚類分析(cluster analysis)是一組將研究對象分為相對同質的群組(clusters)的統計分析技術。聚類分析也叫分類分析(classification analysis)或數值分類(numerical taxonomy)。聚類與分類的不同在于,聚類所要求劃分的類是未知的。


    聚類分析計算方法主要有:?

    層次的方法(hierarchical method)、

    劃分方法(partitioning method)、

    基于密度的方法(density-based method)、

    基于網格的方法(grid-based method)、

    基于模型的方法(model-based method)等。


    其中,前兩種算法是利用統計學定義的距離進行度量。


    k-means 算法的工作過程說明如下:首先從n個數據對象任意選擇 k 個對象作為初始聚類中心;而對于所剩下其它對象,則根據它們與這些聚類中心的相似度(距離),分別將它們分配給與其最相似的(聚類中心所代表的)聚類;然后再計算每個所獲新聚類的聚類中心(該聚類中所有對象的均值);不斷重復這一過程直到標準測度函數開始收斂為止。一般都采用均方差作為標準測度函數.?


    k個聚類具有以下特點:各聚類本身盡可能的緊湊,而各聚類之間盡可能的分開。


    其流程如下:


    (1)從 n個數據對象任意選擇 k 個對象作為初始聚類中心;

    (2)根據每個聚類對象的均值(中心對象),計算每個對象與這些中心對象的距離;并根據最小距離重新對相應對象進行劃分;

    (3)重新計算每個(有變化)聚類的均值(中心對象);

    (4)循環(2)、(3)直到每個聚類不再發生變化為止(標準測量函數收斂)。


    優點:本算法確定的K 個劃分到達平方誤差最小。當聚類是密集的,且類與類之間區別明顯時,效果較好。對于處理大數據集,這個算法是相對可伸縮和高效的,計算的復雜度為 O(NKt),其中N是數據對象的數目,t是迭代的次數。一般來說,K<<n,t<</n,t<


    缺點:1. K 是事先給定的,但非常難以選定;2. 初始聚類中心的選擇對聚類結果有較大的影響。


    點評:考察的內容是常用數據分析方法,做數據分析一定要理解數據分析算法、應用場景、使用過程、以及優缺點。


    三、根據要求寫出SQL


    表A結構如下:

    Member_ID(用戶的ID,字符型)

    Log_time(用戶訪問頁面時間,日期型(只有一天的數據))

    URL(訪問的頁面地址,字符型)


    要求:提取出每個用戶訪問的第一個URL(按時間最早),形成一個新表(新表名為B,表結構和表A一致)


    createtable B asselectMember_ID, min(Log_time), URL from Agroup byMember_ID ;


    點評:SQL語句,簡單的數據獲取能力,包括表查詢、關聯、匯總、函數等。


    四、銷售數據分析


    以下是一家B2C電子商務網站的一周銷售數據,該網站主要用戶群是辦公室女性,銷售額主要集中在5種產品上,如果你是這家公司的分析師:


    a) 從數據中,你看到了什么問題?你覺得背后的原因是什么?

    b) 如果你的老板要求你提出一個運營改進計劃,你會怎么做?


    表如下:一組每天某網站的銷售數據


    a) 從這一周的數據可以看出,周末的銷售額明顯偏低。這其中的原因,可以從兩個角度來看:站在消費者的角度,周末可能不用上班,因而也沒有購買該產品的欲望;站在產品的角度來看,該產品不能在周末的時候引起消費者足夠的注意力。


    b) 針對該問題背后的兩方面原因,我的運營改進計劃也分兩方面:一是,針對消費者周末沒有購買欲望的心理,進行引導提醒消費者周末就應該準備好該產品;二是,通過該產品的一些類似于打折促銷等活動來提升該產品在周末的人氣和購買力。


    點評:數據解讀能力,獲取數據是基本功,僅僅有數據獲取能力是不夠的,其次是對數據的解讀能力。


    五、用戶調研


    某公司針對A、B、C三類客戶,提出了一種統一的改進計劃,用于提升客戶的周消費次數,需要你來制定一個事前試驗方案,來支持決策,請你思考下列問題:


    a) 試驗需要為決策提供什么樣的信息?

    c) 按照上述目的,請寫出你的數據抽樣方法、需要采集的數據指標項,以及你選擇的統計方法。

    a) 試驗要能證明該改進計劃能顯著提升A、B、C三類客戶的周消費次數。

    b) 根據三類客戶的數量,采用分層比例抽樣;


    需要采集的數據指標項有:客戶類別,改進計劃前周消費次數,改進計劃后周消費次數;


    選用統計方法為:分別針對A、B、C三類客戶,進行改進前和后的周消費次數的,兩獨立樣本T-檢驗(two-sample t-test)。


    點評:業務理解能力和數據分析思路,這是數據分析的核心競爭力。


    綜上所述:一個合格的數據分析應該具備統計學基礎知識、數據分析方法、數據獲取、數據解讀和業務理解、數據分析思想幾個方面能力,即將成為數據分析師的親們,你們準備好了嗎?




    從騰訊(數據挖掘方向)筆試題目看技術儲備




    筆試內容:


    1.二叉樹遍歷:已知中序遍歷順序以及前序遍歷順序,求后序遍歷順序

    2.SQL語句: 找出QQset中最小的QQ號碼

    3.encodeURI&URL傳播的轉義結果

    4.36輛車,6條跑道,無計時器,最少幾次比賽可以選出前三

    5.Windows/Linux下判斷遠程地址為某主機監聽的某端口是都開放的命令是?

    6.html 網站cookie

    7.cookie功能

    8.哈希沖突

    9.哪些http方法對于服務端和用戶是安全的

    10.二維數組內存地址計算

    11.附加題:推導線性最小二乘法過程

    12.附加題:概率計算(這個相當簡單啦)

    13.模型過擬合與哪些因素有關,寫出理由




    從百度(數據挖掘工程師)筆試題目看技術儲備




    一. 簡答題


    1. new 和 malloc 的區別。

    2. hash沖突是指什么?怎么解決?給兩種方法,寫出過程和優缺點。

    3. 命中的概率是 0.25,若要至少命中一次的概率不小于 0.75,則至少需要幾次?


    二. 算法設計題


    1. 用C/C++寫一個歸并排序。


    數據結構為struct Node{int v; Node *next};

    接口為 Node * merge_sort(Node *);


    2. 設計S型層次遍歷樹的算法,比如根節點是第一層,第二層從左至右遍歷,第三層從右至左遍歷,第四層再從左至右遍歷,以此類推。


    舉例:應依次輸出 1 2 3 6 5 4 7 8 9。


    3. 一個url文件,每行是一個url地址,可能有重復。


    (1)統計每個url的頻次,設計函數實現實現。

    (2)設有10億url,平均長度是20,現在機器有8G內存,怎么處理,寫出思路。


    三. 系統設計題


    自然語言處理中的中文分詞問題,前向最大匹配算法(FMM)。

    注:題目舉例說明了FMM的基本思想。


    (1)設計字典的數據結構 struct dictnote。

    (2)用C/C++實現FMM,可選接口為int FMM(vectoriLetters, dictnode *iRoot, vector*oResults);


    其中 iLetters 為待分詞的句子,比如 {“小”,“明”,“今”,“天”,“買”,“了”,“i”,“p”,“o”,“n”,“e”,“6”},


    iRoot 是字典, oResults 保存輸出結果,即分詞的位置。也可以自己設計接口。


    (3)收集了一些手機品牌的字典,如{iphone, 諾基亞}。


    現在要求查找包含這些手機品牌的網頁,比如包含 iphone6, 諾基亞 9973 等。


    怎么修改FMM實現這個功能,可以寫偽代碼。





    從搜狐(數據挖掘算法工程師)筆試題目看技術儲備





    筆試內容:


    1, 類的繼承

    2, 資源互斥下的死鎖

    3, 一維數組,元素為指針,指針指向一個參數為Int,返回值為int的函數

    4, 進程間的通信方式

    5, Const標志符常量一定要?

    6, String的普通構造函數,拷貝構造函數,賦值函數,析構函數

    7, Strcpy函數

    8, N個不同數的全排列,打印所有全排列

    9, Sizeof(char name[]=”hello”)

    10, 繼承的轉換(子類可以轉換成基類,基類不能轉換成子類,多繼承下同一子類的基類間不能相互轉換)




    從網易(數據挖掘研究員)筆試題目看技術儲備


    筆試內容:


    1, 字符串匹配的算法復雜度(主串N,字串M)N+M

    2,排序算法的穩定性(快速排序為非穩定)

    3, 平衡二叉樹的插入

    4, 20個億整數的兩個集合a與b,求a與b的交集,內存為4Gb

    5, 在N個無序數中找K個最小值

    6, 頁面文件的邏輯地址位(8個1024字放內32幀內存里)

    7, 計算機網絡各層應用連接

    8, 哪一種模式不關心算法


    Abstract Factory:提供一個創建一系列相關或相互依賴對象的接口,而無需指定它們具體的類。(使用得非常頻繁。)


    Adapter:將一個類的接口轉換成客戶希望的另外一個接口。A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。


    Bridge:將抽象部分與它的實現部分分離,使它們都可以獨立地變化。


    Builder:將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。


    Chain of Responsibility:為解除請求的發送者和接收者之間耦合,而使多個對象都有機會處理這個請求。將這些對象連成一條鏈,并沿著這條鏈傳遞該請求,直到有一個對象處理它。


    Command:將一個請求封裝為一個對象,從而使你可用不同的請求對客戶進行參數化;對請求排隊或記錄請求日志,以及支持可取消的操作。


    Composite:將對象組合成樹形結構以表示“部分-整體”的層次結構。它使得客戶對單個對象和復合對象的使用具有一致性。


    Decorator:動態地給一個對象添加一些額外的職責。就擴展功能而言, 它比生成子類方式更為靈活。


    Facade:為子系統中的一組接口提供一個一致的界面,?F a c a d e模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。


    Factory Method:定義一個用于創建對象的接口,讓子類決定將哪一個類實例化。Factory Method使一個類的實例化延遲到其子類。


    Flyweight:運用共享技術有效地支持大量細粒度的對象。


    Interpreter:給定一個語言, 定義它的文法的一種表示,并定義一個解釋器, 該解釋器使用該表示來解釋語言中的句子。


    Iterator:提供一種方法順序訪問一個聚合對象中各個元素, 而又不需暴露該對象的內部表示。


    Mediator:用一個中介對象來封裝一系列的對象交互。中介者使各對象不需要顯式地相互引用,從而使其耦合松散,而且可以獨立地改變它們之間的交互。


    Memento:在不破壞封裝性的前提下,捕獲一個對象的內部狀態,并在該對象之外保存這個狀態。這樣以后就可將該對象恢復到保存的狀態。


    Observer:定義對象間的一種一對多的依賴關系,以便當一個對象的狀態發生改變時,所有依賴于它的對象都得到通知并自動刷新。


    Prototype:用原型實例指定創建對象的種類,并且通過拷貝這個原型來創建新的對象。


    Proxy:為其他對象提供一個代理以控制對這個對象的訪問。


    Singleton:保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。


    State:允許一個對象在其內部狀態改變時改變它的行為。對象看起來似乎修改了它所屬的類。


    Strategy:定義一系列的算法,把它們一個個封裝起來, 并且使它們可相互替換。本模式使得算法的變化可獨立于使用它的客戶。


    Template Method:定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。Template Method使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。


    Visitor:表示一個作用于某對象結構中的各元素的操作。它使你可以在不改變各元素的類的前提下定義作用于這些元素的新操作


    9, 數據庫系統的兩種語言(一種用于定義數據庫模式;另一種用于表達數據的查詢和更新)

    10, 數據庫的連接運算

    11, 建立索引的原則


    在經常需要搜索的列上,可以加快搜索的速度;在作為主鍵的列上,強制該列的唯一性和組織表中數據的排列結構;在經常用在連接的列上,這些列主要是一些外鍵,可以加快連接的速度;在經常需要根據范圍進行搜索的列上創建索引,因為索引已經排序,其指定的范圍是連續的;在經常需要排序的列上創建索引,因為索引已經排序,這樣查詢可以利用索引的排序,加快排序查詢時間;在經常使用在WHERE子句中的列上面創建索引,加快條件的判斷速度。


    不應該創建索引的的這些列具有下列特點:


    第一,對于那些在查詢中很少使用或者參考的列不應該創建索引。這是因為,既然這些列很少使用到,因此有索引或者無索引,并不能提高查詢速度。相反,由于增加了索引,反而降低了系統的維護速度和增大了空間需求。


    第二,對于那些只有很少數據值的列也不應該增加索引。這是因為,由于這些列的取值很少,例如人事表的性別列,在查詢的結果中,結果集的數據行占了表中數據行的很大比例,即需要在表中搜索的數據行的比例很大。增加索引,并不能明顯加快檢索速度。


    第三,對于那些定義為text, image和bit數據類型的列不應該增加索引。這是因為,這些列的數據量要么相當大,要么取值很少。


    第四,當修改性能遠遠大于檢索性能時,不應該創建索引。這是因為,修改性能和檢索性能是互相矛盾的。當增加索引時,會提高檢索性能,但是會降低修改性能。當減少索引時,會提高修改性能,降低檢索性能。因此,當修改性能遠遠大于檢索性能時,不應該創建索引。


    12, 事務的定義與特點,事務隔離的級別事務(Transaction)是并發控制的單位,是用戶定義的一個操作序列。這些操作要么都做,要么都不做,是一個不可分割的工作單位。通過事務,SQL Server能將邏輯相關的一組操作綁定在一起,以便服務器保持數據的完整性。


    事務的特性(ACID特性)


    A:原子性(Atomicity),事務是數據庫的邏輯工作單位,事務中包括的諸操作要么全做,要么全不做。


    B:一致性(Consistency),事務執行的結果必須是使數據庫從一個一致性狀態變到另一個一致性狀態。一致性與原子性是密切相關的。


    C:隔離性(Isolation), 一個事務的執行不能被其他事務干擾。


    D:持續性/永久性(Durability),一個事務一旦提交,它對數據庫中數據的改變就應該是永久性的。


    未授權讀取(允許臟讀取,但不允許更新丟失),授權讀取(允許不可重復讀取,但不允許臟讀取),可重復讀取(禁止不可重復讀取和臟讀取,但是有時可能出現幻影數據)和序列化(事務序列化執行,不能并發執行)


    13, 專業題一數據挖掘的步驟

    14,?Pca的概念和處理過程(主成分分析)

    15, K中心點聚類算法簡介


    首先為每個簇隨意選擇一下代表對象,將剩余的對象根據其與代表對象的距離分配給最近的一個簇。然后反復地用非代表對象來替代代表對象,以改進聚類的質量。判定一個非代表對象O是否是當前一個代表對象的O1的好的替代,對于每一個非代表對象p,下面的四種情況考慮。


    1. p當前屬于代表Oj,如果Oj被O代替,p離Oi最近,那么p被重新分配給Oi

    2. p當前屬于代表Oj,如果Oj被O代替,p離O最近,那么p被重新分配給O

    3. p當前屬于代表Oi,如果Oj被O代替,p離Oi最近,那么p不變

    4.p當前屬于代表Oi,如果Oj被O代替,p離Oi最近,那么p被重新分配給O


    16, 中文分詞技術簡介,常用數據結構和算法

    17, 分類器的主流評測指標:準確率,速率,魯棒性,可規模性和可解釋性

    18, 如何建立一個智能問答系統,思路



    網絡大數據

    ?ID:raincent_com


    網絡大數據 www.raincent.com

    由清華CDN實驗室于2011年創辦,

    致力于打造中國最專業的網絡大數據科學門戶網站。



    識別二維碼,關注網絡大數據



    我要推薦
    轉發到
    cp彩票