很多互聯(lián)網(wǎng)巨頭公司的筆試都是按照每年公開的,那么今年的呢?下面CN人才網(wǎng)小編提供互聯(lián)網(wǎng)類招聘筆試題目,希望能幫助到有需要的朋友!
互聯(lián)網(wǎng)類招聘筆試題目
1 、從阿里數(shù)據(jù)分析師筆試看職業(yè)要求
以下試題是來自阿里巴巴招募實習生的一次筆試題,從筆試題的幾個要求我們一起來看看數(shù)據(jù)分析的職業(yè)要求。
一、異常值是指什么?請列舉1種識別連續(xù)型變量異常值的方法?
異常值(Outlier) 是指樣本中的個別值,其數(shù)值明顯偏離所屬樣本的其余觀測值。在數(shù)理統(tǒng)計里一般是指一組觀測值中與平均值的偏差超過兩倍標準差的測定值。
Grubbs’ test(是以Frank E. Grubbs命名的),又叫maximum normed residual test,是一種用于單變量數(shù)據(jù)集異常值識別的統(tǒng)計檢測,它假定數(shù)據(jù)集來自正態(tài)分布的總體。
未知總體標準差σ,在五種檢驗法中,優(yōu)劣次序為:t檢驗法、格拉布斯檢驗法、峰度檢驗法、狄克遜檢驗法、偏度檢驗法。
點評:考察的內(nèi)容是統(tǒng)計學基礎(chǔ)功底。
二、什么是聚類分析?聚類算法有哪幾種?請選擇一種詳細描述其計算原理和步驟。
聚類分析(cluster analysis)是一組將研究對象分為相對同質(zhì)的群組(clusters)的統(tǒng)計分析技術(shù)。 聚類分析也叫分類分析(classification analysis)或數(shù)值分類(numerical taxonomy)。聚類與分類的不同在于,聚類所要求劃分的類是未知的。
聚類分析計算方法主要有: 層次的方法(hierarchical method)、劃分方法(partitioning method)、基于密度的方法(density-based method)、基于網(wǎng)格的方法(grid-based method)、基于模型的方法(model-based method)等。其中,前兩種算法是利用統(tǒng)計學定義的距離進行度量。
k-means 算法的工作過程說明如下:首先從n個數(shù)據(jù)對象任意選擇 k 個對象作為初始聚類中心;而對于所剩下其它對象,則根據(jù)它們與這些聚類中心的相似度(距離),分別將它們分配給與其最相似的(聚類中心所代表的)聚類;然 后再計算每個所獲新聚類的聚類中心(該聚類中所有對象的均值);不斷重復(fù)這一過程直到標準測度函數(shù)開始收斂為止。一般都采用均方差作為標準測度函數(shù). k個聚類具有以下特點:各聚類本身盡可能的緊湊,而各聚類之間盡可能的分開。
其流程如下:
(1)從 n個數(shù)據(jù)對象任意選擇 k 個對象作為初始聚類中心;
(2)根據(jù)每個聚類對象的均值(中心對象),計算每個對象與這些中心對象的距離;并根據(jù)最小距離重新對相應(yīng)對象進行劃分;
(3)重新計算每個(有變化)聚類的均值(中心對象);
(4)循環(huán)(2)、(3)直到每個聚類不再發(fā)生變化為止(標準測量函數(shù)收斂)。
優(yōu)點:本算法確定的K 個劃分到達平方誤差最小。當聚類是密集的,且類與類之間區(qū)別明顯時,效果較好。對于處理大數(shù)據(jù)集,這個算法是相對可伸縮和高效的,計算的復(fù)雜度為 O(NKt),其中N是數(shù)據(jù)對象的數(shù)目,t是迭代的次數(shù)。一般來說,K<
缺點:1. K 是事先給定的,但非常難以選定;2. 初始聚類中心的選擇對聚類結(jié)果有較大的影響。
點評:考察的內(nèi)容是常用數(shù)據(jù)分析方法,做數(shù)據(jù)分析一定要理解數(shù)據(jù)分析算法、應(yīng)用場景、使用過程、以及優(yōu)缺點。
三、根據(jù)要求寫出SQL
表A結(jié)構(gòu)如下:
Member_ID(用戶的ID,字符型)
Log_time(用戶訪問頁面時間,日期型(只有一天的數(shù)據(jù)))
URL(訪問的頁面地址,字符型)
要求:提取出每個用戶訪問的第一個URL(按時間最早),形成一個新表(新表名為B,表結(jié)構(gòu)和表A一致)
createtable B asselectMember_ID, min(Log_time), URL from Agroup byMember_ID ;
點評:SQL語句,簡單的數(shù)據(jù)獲取能力,包括表查詢、關(guān)聯(lián)、匯總、函數(shù)等。
四、銷售數(shù)據(jù)分析
以下是一家B2C電子商務(wù)網(wǎng)站的一周銷售數(shù)據(jù),該網(wǎng)站主要用戶群是辦公室女性,銷售額主要集中在5種產(chǎn)品上,如果你是這家公司的分析師,
a) 從數(shù)據(jù)中,你看到了什么問題?你覺得背后的原因是什么?
b) 如果你的老板要求你提出一個運營改進計劃,你會怎么做?
表如下:一組每天某網(wǎng)站的銷售數(shù)據(jù)
a) 從這一周的數(shù)據(jù)可以看出,周末的銷售額明顯偏低。這其中的原因,可以從兩個角度來看:站在消費者的角度,周末可能不用上班,因而也沒有購買該產(chǎn)品的欲望;站在產(chǎn)品的角度來看,該產(chǎn)品不能在周末的時候引起消費者足夠的注意力。
b) 針對該問題背后的兩方面原因,我的運營改進計劃也分兩方面:一是,針對消費者周末沒有購買欲望的心理,進行引導提醒消費者周末就應(yīng)該準備好該產(chǎn)品;二是,通過該產(chǎn)品的一些類似于打折促銷等活動來提升該產(chǎn)品在周末的人氣和購買力。
點評:數(shù)據(jù)解讀能力,獲取數(shù)據(jù)是基本功,僅僅有數(shù)據(jù)獲取能力是不夠的,其次是對數(shù)據(jù)的解讀能力。
五、用戶調(diào)研
某公司針對A、B、C三類客戶,提出了一種統(tǒng)一的改進計劃,用于提升客戶的周消費次數(shù),需要你來制定一個事前試驗方案,來支持決策,請你思考下列問題:
a) 試驗需要為決策提供什么樣的信息?
c) 按照上述目的,請寫出你的數(shù)據(jù)抽樣方法、需要采集的數(shù)據(jù)指標項,以及你選擇的統(tǒng)計方法。
a) 試驗要能證明該改進計劃能顯著提升A、B、C三類客戶的周消費次數(shù)。
b) 根據(jù)三類客戶的數(shù)量,采用分層比例抽樣;
需要采集的數(shù)據(jù)指標項有:客戶類別,改進計劃前周消費次數(shù),改進計劃后周消費次數(shù);
選用統(tǒng)計方法為:分別針對A、B、C三類客戶,進行改進前和后的周消費次數(shù)的,兩獨立樣本T-檢驗(two-sample t-test)。
點評:業(yè)務(wù)理解能力和數(shù)據(jù)分析思路,這是數(shù)據(jù)分析的核心競爭力。
綜上所述:一個合格的數(shù)據(jù)分析應(yīng)該具備統(tǒng)計學基礎(chǔ)知識、數(shù)據(jù)分析方法、數(shù)據(jù)獲取、數(shù)據(jù)解讀和業(yè)務(wù)理解、數(shù)據(jù)分析思想幾個方面能力,即將成為數(shù)據(jù)分析師的親們,你們準備好了嗎?
2 、從騰訊(數(shù)據(jù)挖掘方向)筆試題目看技術(shù)儲備
筆試內(nèi)容:
1.二叉樹遍歷:已知中序遍歷順序以及前序遍歷順序,求后序遍歷順序
2.SQL語句: 找出QQset中最小的QQ號碼
3.encodeURI&URL傳播的轉(zhuǎn)義結(jié)果
4.36輛車,6條跑道,無計時器,最少幾次比賽可以選出前三
5.Windows/Linux下判斷遠程地址為某主機監(jiān)聽的某端口是都開放的命令是?
6.html 網(wǎng)站cookie
7.cookie功能
8.哈希沖突
9.哪些http方法對于服務(wù)端和用戶是安全的
10.二維數(shù)組內(nèi)存地址計算
11.附加題:推導線性最小二乘法過程
12.附加題:概率計算(這個相當簡單啦)
13.模型過擬合與哪些因素有關(guān),寫出理由
3 、從百度(數(shù)據(jù)挖掘工程師)筆試題目看技術(shù)儲備
一. 簡答題
1. new 和 malloc 的區(qū)別。
2. hash沖突是指什么?怎么解決?給兩種方法,寫出過程和優(yōu)缺點。
3. 命中的概率是 0.25,若要至少命中一次的概率不小于 0.75,則至少需要幾次?
二. 算法設(shè)計題
1. 用C/C++寫一個歸并排序。
數(shù)據(jù)結(jié)構(gòu)為struct Node{int v; Node *next};
接口為 Node * merge_sort(Node *);
2. 設(shè)計S型層次遍歷樹的算法,比如根節(jié)點是第一層,第二層從左至右遍歷,第三層從右至左遍歷,第四層再從左至右遍歷,以此類推。
舉例:應(yīng)依次輸出 1 2 3 6 5 4 7 8 9。
3. 一個url文件,每行是一個url地址,可能有重復(fù)。
(1)統(tǒng)計每個url的頻次,設(shè)計函數(shù)實現(xiàn)實現(xiàn)。
(2)設(shè)有10億url,平均長度是20,現(xiàn)在機器有8G內(nèi)存,怎么處理,寫出思路。
三. 系統(tǒng)設(shè)計題
自然語言處理中的中文分詞問題,前向最大匹配算法(FMM)。
注:題目舉例說明了FMM的基本思想。
(1)設(shè)計字典的數(shù)據(jù)結(jié)構(gòu) struct dictnote。
(2)用C/C++實現(xiàn)FMM,可選接口為
int FMM(vectoriLetters, dictnode *iRoot, vector*oResults);
其中 iLetters 為待分詞的句子,比如 {“小”,“明”,“今”,“天”,“買”,“了”,“i”,“p”,“o”,“n”,“e”,“6”},
iRoot 是字典, oResults 保存輸出結(jié)果,即分詞的位置。也可以自己設(shè)計接口。
(3)收集了一些手機品牌的字典,如{iphone, 諾基亞}。
現(xiàn)在要求查找包含這些手機品牌的網(wǎng)頁,比如包含 iphone6, 諾基亞 9973 等。
怎么修改FMM實現(xiàn)這個功能,可以寫偽代碼。
4 、從搜狐(數(shù)據(jù)挖掘算法工程師)筆試題目看技術(shù)儲備
筆試
1, 類的繼承
2, 資源互斥下的死鎖
3, 一維數(shù)組,元素為指針,指針指向一個參數(shù)為Int,返回值為int的函數(shù)
4, 進程間的通信方式
5, Const標志符常量一定要?
6, String的普通構(gòu)造函數(shù),拷貝構(gòu)造函數(shù),賦值函數(shù),析構(gòu)函數(shù)
7, Strcpy函數(shù)
8, N個不同數(shù)的全排列,打印所有全排列
9, Sizeof(char name[]=”hello”)
10, 繼承的轉(zhuǎn)換(子類可以轉(zhuǎn)換成基類,基類不能轉(zhuǎn)換成子類,多繼承下同一子類的基類間不能相互轉(zhuǎn)換)
5 、從網(wǎng)易(數(shù)據(jù)挖掘研究員)筆試題目看技術(shù)儲備
筆試
1, 字符串匹配的算法復(fù)雜度(主串N,字串M)N+M
2, 排序算法的穩(wěn)定性(快速排序為非穩(wěn)定)
3, 平衡二叉樹的插入
4, 20個億整數(shù)的兩個集合a與b,求a與b的交集,內(nèi)存為4Gb
5, 在N個無序數(shù)中找K個最小值
6, 頁面文件的邏輯地址位(8個1024字放內(nèi)32幀內(nèi)存里)
7, 計算機網(wǎng)絡(luò)各層應(yīng)用連接
8, 哪一種模式不關(guān)心算法
Abstract Factory:提供一個創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無需指定它們具體的類。(使用得非常頻繁。)
Adapter:將一個類的接口轉(zhuǎn)換成客戶希望的另外一個接口。A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。
Bridge:將抽象部分與它的實現(xiàn)部分分離,使它們都可以獨立地變化。
Builder:將一個復(fù)雜對象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。
Chain of Responsibility:為解除請求的發(fā)送者和接收者之間耦合,而使多個對象都有機會處理這個請求。將這些對象連成一條鏈,并沿著這條鏈傳遞該請求,直到有一個對象處理它。
Command:將一個請求封裝為一個對象,從而使你可用不同的請求對客戶進行參數(shù)化;對請求排隊或記錄請求日志,以及支持可取消的操作。
Composite:將對象組合成樹形結(jié)構(gòu)以表示“部分-整體”的層次結(jié)構(gòu)。它使得客戶對單個對象和復(fù)合對象的使用具有一致性。
Decorator:動態(tài)地給一個對象添加一些額外的職責。就擴展功能而言, 它比生成子類方式更為靈活。
Facade:為子系統(tǒng)中的一組接口提供一個一致的界面, F a c a d e模式定義了一個高層接口,這個接口使得這一子系統(tǒng)更加容易使用。
Factory Method:定義一個用于創(chuàng)建對象的接口,讓子類決定將哪一個類實例化。Factory Method使一個類的實例化延遲到其子類。
Flyweight:運用共享技術(shù)有效地支持大量細粒度的對象。
Interpreter:給定一個語言, 定義它的文法的一種表示,并定義一個解釋器, 該解釋器使用該表示來解釋語言中的句子。
Iterator:提供一種方法順序訪問一個聚合對象中各個元素, 而又不需暴露該對象的內(nèi)部表示。
Mediator:用一個中介對象來封裝一系列的對象交互。中介者使各對象不需要顯式地相互引用,從而使其耦合松散,而且可以獨立地改變它們之間的交互。
Memento:在不破壞封裝性的前提下,捕獲一個對象的內(nèi)部狀態(tài),并在該對象之外保存這個狀態(tài)。這樣以后就可將該對象恢復(fù)到保存的狀態(tài)。
Observer:定義對象間的一種一對多的依賴關(guān)系,以便當一個對象的狀態(tài)發(fā)生改變時,所有依賴于它的對象都得到通知并自動刷新。
Prototype:用原型實例指定創(chuàng)建對象的種類,并且通過拷貝這個原型來創(chuàng)建新的對象。
Proxy:為其他對象提供一個代理以控制對這個對象的訪問。
Singleton:保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。
State:允許一個對象在其內(nèi)部狀態(tài)改變時改變它的行為。對象看起來似乎修改了它所屬的類。
Strategy:定義一系列的算法,把它們一個個封裝起來, 并且使它們可相互替換。本模式使得算法的變化可獨立于使用它的客戶。
Template Method:定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。Template Method使得子類可以不改變一個算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟。
Visitor:表示一個作用于某對象結(jié)構(gòu)中的各元素的操作。它使你可以在不改變各元素的類的前提下定義作用于這些元素的新操作
9, 數(shù)據(jù)庫系統(tǒng)的兩種語言(一種用于定義數(shù)據(jù)庫模式;另一種用于表達數(shù)據(jù)的查詢和更新)
10, 數(shù)據(jù)庫的連接運算
11, 建立索引的原則
在經(jīng)常需要搜索的列上,可以加快搜索的速度;在作為 主鍵的列上,強制該列的唯一性和組織表中數(shù)據(jù)的排列結(jié)構(gòu);在經(jīng)常用在連接的列上,這些列主要是一些外鍵,可以加快連接的速度;在經(jīng)常需要根據(jù)范圍進行搜索 的列上創(chuàng)建索引,因為索引已經(jīng)排序,其指定的范圍是連續(xù)的;在經(jīng)常需要排序的列上創(chuàng)建索引,因為索引已經(jīng)排序,這樣查詢可以利用索引的排序,加快排序查詢 時間;在經(jīng)常使用在WHERE子句中的列上面創(chuàng)建索引,加快條件的判斷速度。
不應(yīng)該創(chuàng)建索引的的 這些列具有下列特點:第一,對于那些在查詢中很少使用或者參考的列不應(yīng)該創(chuàng)建索引。這是因為,既然這些列很少使用到,因此有索引或者無索引,并不能提高查 詢速度。相反,由于增加了索引,反而降低了系統(tǒng)的維護速度和增大了空間需求。第二,對于那些只有很少數(shù)據(jù)值的列也不應(yīng)該增加索引。這是因為,由于這些列的 取值很少,例如人事表的性別列,在查詢的結(jié)果中,結(jié)果集的數(shù)據(jù)行占了表中數(shù)據(jù)行的很大比例,即需要在表中搜索的數(shù)據(jù)行的比例很大。增加索引,并不能明顯加 快檢索速度。第三,對于那些定義為text, image和bit數(shù)據(jù)類型的列不應(yīng)該增加索引。這是因為,這些列的數(shù)據(jù)量要么相當大,要么取值很少。第四,當修改性能遠遠大于檢索性能時,不應(yīng)該創(chuàng)建索 引。這是因為,修改性能和檢索性能是互相矛盾的。當增加索引時,會提高檢索性能,但是會降低修改性能。當減少索引時,會提高修改性能,降低檢索性能。因 此,當修改性能遠遠大于檢索性能時,不應(yīng)該創(chuàng)建索引。
12, 事務(wù)的定義與特點,事務(wù)隔離的級別
事務(wù)(Transaction)是并發(fā)控制的單位,是用戶定義的一個操作序列。這些操作要么都做,要么都不做,是一個不可分割的工作單位。通過事務(wù),SQL Server能將邏輯相關(guān)的一組操作綁定在一起,以便服務(wù)器保持數(shù)據(jù)的完整性。
事務(wù)的特性(ACID特性)
A:原子性(Atomicity),事務(wù)是數(shù)據(jù)庫的邏輯工作單位,事務(wù)中包括的諸操作要么全做,要么全不做。
B:一致性(Consistency),事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)。一致性與原子性是密切相關(guān)的。
C:隔離性(Isolation), 一個事務(wù)的執(zhí)行不能被其他事務(wù)干擾。
D:持續(xù)性/永久性(Durability),一個事務(wù)一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改變就應(yīng)該是永久性的。
未授權(quán)讀取(允許臟讀取,但不允許更新丟失),授權(quán)讀取(允許不可重復(fù)讀取,但不允許臟讀取),可重復(fù)讀取(禁止不可重復(fù)讀取和臟讀取,但是有時可能出現(xiàn)幻影數(shù)據(jù))和序列化(事務(wù)序列化執(zhí)行,不能并發(fā)執(zhí)行)
13, 專業(yè)題一數(shù)據(jù)挖掘的步驟
14, Pca的概念和處理過程(主成分分析)
15, K中心點聚類算法簡介
首先為每個簇隨意選擇一下代表對象,將剩余的對象根據(jù)其與代表對象的距離分配給最近的一個簇。然后反復(fù)地用非代表對象來替代代表對象,以改進聚類的質(zhì)量。判定一個非代表對象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, 中文分詞技術(shù)簡介,常用數(shù)據(jù)結(jié)構(gòu)和算法
17, 分類器的主流評測指標:準確率,速率,魯棒性,可規(guī)模性和可解釋性
18, 如何建立一個智能問答系統(tǒng),思路
19, 如何建立一個智能商品推薦系統(tǒng),思路