百度数据挖掘研发工程师实习笔试面试
轉自:http://saslist.com/wrchow/2011/05/14/%E7%99%BE%E5%BA%A6%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98%E7%A0%94%E5%8F%91%E5%B7%A5%E7%A8%8B%E5%B8%88%E5%AE%9E%E4%B9%A0%E7%AC%94%E8%AF%95%E9%9D%A2%E8%AF%95/
筆試題:
一、簡答題30分
1. extern”C”{}的作用和應用場景;
2.寫出兩者你熟悉的設計模式,及應用場景,可以給出偽代碼;
3.TCP中time_wait是表示那種狀態,及應用場景,以及起好處和壞處;
二、算法題40分
1. 有一個任務執行機,任務數N<1000,該機器每次只能執行一個任務,而任務之間存在依賴關系,
但是任務之間沒有循環依賴,請給出適當的任務執行順序。算法、偽代碼,并分析其時間復雜度和
空間復雜度。
2. 編寫函數,統計在某段英文文本中完整句子的數目,文本中只包括大小寫字母,空格,點好(.),逗號(,)。
完整的句子必須包含至少一個字母并以點號,結束。
要求:完整的代碼,達到目標;高效;簡潔;
三、系統架構30分
有一個監控系統,有大量的數據記錄包括{url,用戶訪問ip,時間},要對這個監控系統進行維護,并提供查詢。
設計一個能存儲和維護1000億條記錄,實時監控,并支持一下兩種查詢:
1. 指定任意一個時間段(精確到分鐘)和某個url,查處這個時間段內的所有url的訪問總量。
2. 指定任意一個時間段(精確到分鐘)和某個ip,查詢這個時間段內的ip訪問總量。
面試一
1.自我介紹;結合自己的簡歷簡單地介紹一下。
2.項目介紹;結合自己做主要的項目,以及帶的項目介紹資料,互動式地講解;面試官關系的是機器學習相關的問題。
3.算法題;二叉樹的非遞歸實現前序遍歷;
4. 算法設計題;如何去掉重復頁面;
面試二
1. 自我介紹;(同上)
2. 項目介紹;(同上)
3. 算法題;(略)問到了一個TTest;
4. 算法設計題;如何對Query進行分類;
面試三
1. 自我介紹;
2. 項目介紹;
3. 算法題兩道;
1>一串首尾相連的珠子(m個),有N種顏色(N《=10),設計一個算法,取出其中一段,要求包含所有N中顏色,并使長度最短。并分析時間復雜度與空間復雜度。
2>從1到1億,所有出現的數字的和(125=1+2+5),手工計算機出來;
我的感受:
1.是對這次實習招聘,并無準備,筆試能通過已經很意外了;
2.自己的算法題的解答能力有待提高,面試的時候遇到的題目其實都很常見,估計在網上多看看就都能答得很好了;
3.百度筆試+三面的流程,大致和網上講的差不多,前二次面試是類似的,三面可能是補充,并且往往會問道一些你職業規劃上的一些問題;
一、異常值是指什么?請列舉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 。
缺點:1. K 是事先給定的,但非常難以選定;2. 初始聚類中心的選擇對聚類結果有較大的影響。
三、根據要求寫出SQL
表A結構如下:
Member_ID?(用戶的ID,字符型)
Log_time (用戶訪問頁面時間,日期型(只有一天的數據))
URL?(訪問的頁面地址,字符型)
要求:提取出每個用戶訪問的第一個URL(按時間最早),形成一個新表(新表名為B,表結構和表A一致)
四、銷售數據分析
以下是一家B2C電子商務網站的一周銷售數據,該網站主要用戶群是辦公室女性,銷售額主要集中在5種產品上,如果你是這家公司的分析師,
a) 從數據中,你看到了什么問題?你覺得背后的原因是什么?
b) 如果你的老板要求你提出一個運營改進計劃,你會怎么做?
表如下:一組每天某網站的銷售數據
a) 從這一周的數據可以看出,周末的銷售額明顯偏低。這其中的原因,可以從兩個角度來看:站在消費者的角度,周末可能不用上班,因而也沒有購買該產品的欲望;站在產品的角度來看,該產品不能在周末的時候引起消費者足夠的注意力。
b) 針對該問題背后的兩方面原因,我的運營改進計劃也分兩方面:一是,針對消費者周末沒有購買欲望的心理,進行引導提醒消費者周末就應該準備好該產品;二是,通過該產品的一些類似于打折促銷等活動來提升該產品在周末的人氣和購買力。
五、用戶調研
某公司針對A、B、C三類客戶,提出了一種統一的改進計劃,用于提升客戶的周消費次數,需要你來制定一個事前試驗方案,來支持決策,請你思考下列問題:
a) 試驗需要為決策提供什么樣的信息?
c) 按照上述目的,請寫出你的數據抽樣方法、需要采集的數據指標項,以及你選擇的統計方法。
a) 試驗要能證明該改進計劃能顯著提升A、B、C三類客戶的周消費次數。
b) 根據三類客戶的數量,采用分層比例抽樣;
需要采集的數據指標項有:客戶類別,改進計劃前周消費次數,改進計劃后周消費次數;
選用統計方法為:分別針對A、B、C三類客戶,進行改進前和后的周消費次數的,兩獨立樣本T-檢驗(two-sample t-test)。
這是今年3月份阿里招聘數據分析師實習生的筆試試題,答案僅供參考!–by wr-chow
總結
以上是生活随笔為你收集整理的百度数据挖掘研发工程师实习笔试面试的全部內容,希望文章能夠幫你解決所遇到的問題。