2019春招-網易數據分析工程師筆試

招聘要求

數據分析工程師
您可以:

  • 負責網易遊戲、網易CC(直播平臺)、藏寶閣(虛擬道具電商)和網易大神(內容社交平臺)等一至多款產品的數據分析工作;
  • 配合產品、運營和營銷等相關人員分析,理解需求,提供日常數據支持;
  • 根據業務需要,設計數據日誌埋點,並跟進數據質量;
  • 根據業務特點,搭建數據監控和報警體系,實時發現問題,拆解分析核心KPI,解讀數據波動;
  • 對產品功能、運營活動等進行數據跟蹤,輸出優化建議,推動產品改進,幫助業務快速提升。

我們希望您具備以下條件:

  • 2020屆畢業,本科及以上學歷,數據、統計、計算機等專業優先;
  • 掌握一種數據分析工具,如python/sas等,熟練使用SQL和Excel;
  • 邏輯清晰、好奇心強,良好的溝通能力和協作能力,敢於接受挑戰,能夠承受壓力;
  • 有大型網絡遊戲或直播產品使用經歷,熟悉一款或多款網易旗下的網遊者優先。

工作地點:廣州
招聘人數:15人
招聘學校:國內重點高校、港澳臺高校、海外高校
諮詢郵箱:[email protected](注意:此郵箱僅提供諮詢,不接受投遞簡歷!簡歷投遞請猛戳下方按鈕)
諮詢郵件主題格式:【姓名】【應聘職位】【學校】【學歷】【年級】【專業】【電話】

筆試部分

2017 筆試部分 網易數據分析工程師

鏈接:https://www.nowcoder.com/discuss/22707

一.問答題(2道)
1.寫出三個推薦系統的評價指標,並解釋;
一個完整的推薦系統包括三部分用戶,網站,內容提供方。
好的推薦系統設計,能夠讓推薦系統本身收集到高質量的用戶反饋,不斷完善推薦的質量,增加 用戶和網站的交互,提高網站的收入。因此在評測一個推薦算法時,需要同時考慮三方的利益, 一個好的推薦系統是能夠令三方共贏的系統。

二、測評指標

1.用戶滿意度:只能通過用戶調查或在線實驗獲得。

對於用戶調查方式,用調查問卷方式;對於在線實驗方式,主要通過一些對用戶行爲的統計得到。

對於用戶行爲,可分爲顯性和隱性之分。若用戶購買了推薦的商品,則說明在一定程度上滿意,可用購買率度量。還可用用戶反饋界面收集,通過統計兩種按鈕的單擊情況度量。更一般的情況下,用點擊率、用戶停留時間和轉化率等指標度量。

2.預測準確度:離線實驗測評

表示一個推薦算法預測用戶行爲的能力。

2.1 評分預測(即打分)

一般用RMSE(均方根誤差)和MAE(平均絕對誤差)計算。RMSE加大了對預測不準的用戶物品評分的懲罰,對系統的測評更加苛刻。

2.2 Top N推薦(即個性化推薦)

一般用準確率(precision)和召回率(recall)計算。準確率和召回率的定義如下:其中R(u)表示推薦的列表,T(u)表示真實的行爲列表

爲了全面測評TopN推薦,一般會選取不同的推薦列表長度計算出一組準確率和召回率,畫出對應的曲線。

3.覆蓋率

描述一個算法對長尾物品的挖掘能力。定義爲推薦算法能推薦出的物品佔總物品集合的比例,是內容提供商會關心的指標,熱門排行榜的推薦覆蓋率是很低的。

爲了更細緻地描述算法挖掘長尾的能力,需統計推薦列表中不同物品出現次數的分佈。若所有的物品均出現在推薦列表中,且出現的次數差不多,則推薦系統發掘長尾的能力較好(這一點和最大熵模型很像!)。可用信息熵和基尼係數來表述。

   很多研究表明,現在的主流推薦算法(如協同過濾算法)具有馬太效應,即強者更強。測評一個推薦算法是否有馬太效應的簡單辦法是使用基尼係數。具體方法是:分別計算推薦列表和初始用戶行爲的物品流行度的基尼係數,若推薦列表的基尼係數大,則推薦算法具有馬太效應。

4.多樣性

滿足用戶廣泛的興趣需求。描述了推薦列表中物品兩兩之間的不相似性。多樣性和相似性對應。

5.新穎性

在網站中實現的最簡單的做法是,把用戶之前在網站中對其有過行爲的物品從推薦列表中過濾掉,但金過濾掉本網站中用戶有過行爲的物品不能完全實現新穎性。

測評的最簡單方法是利用推薦結果的平均流行度,越不熱門的物品越可能讓用戶覺得新穎。要準確統計新穎性需作用戶調查。

6.驚喜度(熱點)

和新穎性的區別:若推薦結果和用戶的歷史興趣不相似,但卻讓用戶覺得滿意,則表示驚喜度很高;而推薦結果的新穎性僅取決於用戶是否聽說過這個推薦結果。

7.信任度

只能通過問卷調查來度量。

提高信任度的方法主要有兩種:首先需增加推薦系統的透明度,主要是提供推薦解釋。其次是考慮用戶的社交網絡信息,即好友推薦。

8.實時性(常在物品和新聞類網站中要求)

實時更新推薦列表來滿足用戶新的行爲變化。很多推薦系統都會在離線狀態每天計算一次用戶推薦列表,然後於在線期間將推薦列表展示給用戶,這樣很不及時,效果不好。可通過推薦列表的變化速率測評。需能將新加入的物品推薦給用戶,考驗推薦系統處理物品的冷啓動能力。可用用戶推薦列表中有多大比例的物品是當天新加的來測評。

9.健壯性

衡量算法抗擊作弊的能力。最著名的是行爲注入攻擊。主要用模擬攻擊測評。

一、實驗方法
1.離線實驗
需要有一個日誌數據集,不需一個實際的系統來供它實驗。
優點:不需真實用戶參與,直接快速、方便,可測試大量算法。
缺點:無法獲得很多商業上關注的指標,如點擊率、轉化率等。離線實驗的指標和商業指標存在差距,如預測準確率和用戶滿意度間存在很大差別。

2.用戶調查

在上線測試前需做一次用戶調查。
優點:得到與用戶主觀感受有關的指標,相對在線實驗風險很低,出現錯誤後很容易彌補
缺點:調查成本很高,需用戶花大量時間完成一個任務並回答相關問題。需花錢僱傭測試用戶,大多數情況下很難進行大規模的用戶調查,得出的結果大多沒有統計意義。設計雙盲實驗非常困難,且結果在真實環境下無法重現。

3.在線實驗

在離線實驗和用戶調查後將推薦系統上線做AB測試,將新系統和舊算法進行比較。將用戶隨機分成幾組,對不同組用戶採用不同算法,比較不同算法性能。
優點:可公平獲得不同算法實際在線時的性能指標,包括商業上關注的指標
缺點:週期較長,需進行長期實驗才能得到可靠的結果。故只測試在離線實驗和用戶調查中表現較好的算法。

一般來說,一個新推薦算法上線要完成上述的3個實驗。首先,須通過離線實驗證明它在很多離線指標上優於現有的算法;然後,通過用戶調查確定它的用戶滿意度不低於現有的算法;最後,通過在線AB測試確定它在我們關心的指標上優於現有的算法
指標包括準確度、覆蓋度、新穎度、驚喜度、信任度、透明度等

2.電商推薦系統冷啓動期與高峯期的數據分析有什麼不同,可舉例說明。(啥叫冷啓動期,暈)
冷啓動期,即然而我們常常面對的情況是用戶的行爲是稀疏的,而且可能存在比例不一的新用戶,如何給新用戶推薦,是推薦系統中的一個著名問題,即冷啓動問題在這個時期是儘可能多的去收集用戶信息,包括用戶信息網絡,
主要分三類:
  1.用戶冷啓動:如何給新用戶做個性化推薦。
  2.物品冷啓動:如何將新的物品推薦給可能對它感興趣的用戶這一問題。
  3.系統冷啓動:如何在一個新開發的網站上設計個性化推薦系統。
解決方案:
  1.提供非個性化的推薦:熱門排行榜,當用戶數據收集到一定的時候,再切換爲個性化推薦
  2.利用用戶註冊時提供的年齡、性別等數據做粗粒度的個性化,做個用戶畫像,基於用戶的登錄信息,利用歷史特徵下某種特徵喜歡某種物品的喜好程度。
  3.利用用戶的社交網絡帳號登錄,導入用戶在社交網站上的好友信息,然後給用戶推薦其好友喜歡的物品
4.要求用戶在登錄時對一些物品進行反饋,收集用戶對這些物品的興趣信息,然後給用戶推薦那些和這些物品相似的物品。
用戶,用這羣用戶對物品評分的方差度量這羣用戶興趣的一致程度。如果方差很小,說明這一羣用戶的興趣不太一致,也就是物品具有比較大的區分度,反之則說明這羣用戶的興趣比較一致,用一個決策樹解決。
  5.對於新加入的物品,可以利用內容信息,將它們推薦給喜歡過和它們相似的物品的用戶。
  6.在系統冷啓動時,可以引入專家的知識,通過一定的高效方式迅速建立起物品的相關度表
https://www.cnblogs.com/MarsMercury/p/5169071.html

而對於高峯期數據需要考慮的是如何去篩選一些重要信息爲推薦做準備

總結,考的不難,主要考察 數據庫、數理統計、計算機網絡基礎、編程基礎、推薦系統。
二.選擇題(20道):

  1. 來自甲地的概率爲0.4,來自乙地的概率爲0.6,來自甲地患A病的概率爲0.01,來自乙地患A病的概率爲0.02,現有一患A病患者,求其來自甲地的概率。
    2.2016的階乘尾部有幾個0
    出現零的情況就是 5 的倍數乘以偶數。
    但是出現0的個數就不一定了,25=10 出現一個0。425=100會出現2個0。8*125=1000出現3個0.依次類推。
    偶數乘以5會出現一個0,乘以5的平方會出現2個0,乘以5的立方會出現3個0.
    求100!後面0的個數。
    由上所說的方法,是5的倍數的數有20(除去25的倍數),是25的倍數的數有20/5個,結果應該爲20+4=24個0.
    如果是求2016!後面0的個數呢?
    同樣按照上面的方法。
    5的倍數個數爲: 2016/5 = 403個
    25的倍數個數爲: 403/5 = 80個
    125的倍數的個數爲:80/5 = 16個
    625的倍數的個數爲: 16/5 = 3個。
    所以可以得出2016!後面0的個數爲:403+80+16+3 = 502個.

3.256的階乘尾部有幾個0.

5的倍數個數爲: 256/5 = 51個
25的倍數個數爲: 51/5 = 10個
125的倍數的個數爲:10/5 = 2個
所以可以得出256!後面0的個數爲:51+10+2=63個.

下列sql語句中與 selece * from math g.grade where g.grade not between 60 and 100等價的是

事務和讀寫鎖的關係

小明頭疼或者遇上堵車一定會遲到,小明頭疼的概率是0.2,遇上堵車的概率是0.5,小明今天遲到了,請問他頭疼的概率(?)0.2,遇上堵車的概率(?)0.5
鏈接:https://www.nowcoder.com/questionTerminal/9090b3de0fb541a5b3650c3114539634?pos=12&tagId=0&orderByHotValue=1
來源:牛客網
當未知是否遲到時:
(a) P(睡過頭 and 堵車)=0.1,遲到
(b) P(睡過頭and not堵車)=0.1,遲到
© P(not 睡過頭 and 堵車)=0.4,遲到
(d) P(not 睡過頭 and not 堵車)=0.4,不遲到
當已知遲到時,abc的概率分別爲1/6 1/6 2/3,睡過頭概率1/3,堵車概率5/6。

7.linux刪除非空文件夾的命令 rm -rf 目錄名

8.linux中的arp,ping, ifconfig,route命令的作用
arp實用arp命令,我們能夠查看本地計算機或另一臺計算機的ARP高速緩存中的當前內容
ping ping命令用於:確定網絡和各外部主機的狀態;跟蹤和隔離硬件和軟件問題;測試、評估和管理網絡
ifconfig被用於配置和顯示Linux內核中網絡接口的網絡參數。用ifconfig命令配置的網卡信息,在網卡重啓後機器重啓後,配置就不存在
route 用於顯示和操作IP路由表

三.編程題
一個n*n的棋盤,B表示黑子,W表示白子,小易只在一列當中顏色連續相同的地方上色,求其上色區塊的最長長度。
輸入:
n
BWW
BBW
BWB
輸出:3

解題思路:審題
擁有相同顏色的最大的區域必須連續
我們遍歷棋牌中的每一列,計算每一列中顏色相同的最大區域數放入一個列表中,最後輸出列表中最大的值即可

1.	n = int(input())  
2.	   
3.	   
4.	def calc(col):  
5.	    max_count = 1  
6.	    count = 1  
7.	    for x in range(1, n):  
8.	        if col[x] == col[x-1]:  
9.	            count += 1  
10.	            if count > max_count:  
11.	                max_count = count  
12.	        else:  
13.	            count = 1  
14.	    return max_count  
15.	   
16.	maps = []  
17.	for i in range(n):  
18.	    maps.append(input())  
19.	results = []  
20.	for i in range(n):  
21.	    temp = ''  
22.	    for each in maps:  
23.	        temp += each[i]  
24.	    results.append(calc(temp))  
25.	   
26.	print(max(results))  

2.小易說n個單詞,系統給m個單詞,如果小易記得單詞在系統中出現,得分爲單詞長度的平方。求總得分。注意單詞不能重複得分
輸入:
3 4
apple orange strawberry
strawberry orange grape watermelon
輸出:
136

n, m = [int(each) for each in input().split()]
Yi_words = set(input().split())
Sys_words = set(input().split()[0:m])
 
scores = 0
for each in Yi_words:
    if each in Sys_words:
        scores += len(each)**2

原文:https://blog.csdn.net/qq_34617032/article/details/78546956

這道編程筆試還是比較簡單的。就直接說我的大概思路吧:
1.首先判斷是否寫正確;
2.其次判斷是否寫重,都滿足則添加進一個list裏;
3.遍歷list求出得分情況。
ok,接下來是Python的實現

li = raw_input().split()
n = li[0]
m = li[1]
 
rem = raw_input().split()
leng = len(rem)
words = raw_input().split()
total = 0
i = 0
result = []
while i < leng:
    if rem[i] in words and rem[i] not in result:
        result.append(rem[i])1
    i += 1
for i in result:
    total += len(i) ** 2
 
print total

2018實習生招聘筆試題——數據分析師實習生解析

1、有2堆寶石,A和B一起玩遊戲,假設倆人足夠聰明,規則是每個人只能從一堆選走1個或2個或3個寶石,最後全部取玩的人獲勝,假設2堆寶石的數目爲12和13,請問A怎麼可以必勝?

答:先*

取獲勝的情況:總個數不能整除時,餘數爲一次可取的個數
後取獲勝的情況:總個數能整除時

只有一堆時,12時後取獲勝,13時先取獲勝
兩堆時,A先取12堆
25%2=1,25%3=1,25%4=1,25%6=1。所以B一定會輸
A只要取完寶石後給B留4的倍數就能贏,留下4的倍數,B就沒有辦法取完。而A每次都可以按照B取的數量來修正,保證每次留給B的是4的倍數。到最後B沒有辦法一次取完4個,而且必須要取,剩下的A取完就贏了
用13+12=25,25/3餘數爲1,也就是說最終會多出一輪,只有a先選,才能拿到

2、從數字集合{1,2,3,4,… ,20}中選出3個數字的子集,如果不允許兩個相連的數字出現在同一集合中,那麼能夠形成多少個這種子集?

"不鄰問題"插空法,即在解決對於某幾個元素要求不相鄰的問題時,先將其它元素排好,再將指定的不相鄰的元素插入已排好元素的間隙或兩端位置,從而將問題解決的策略。
:找空格插空,算頭又算尾

答:插空法,鏈接:
因爲一共20本書,且不相鄰,可以理解爲把3本書插到17本書的間隔處,即加頭尾的18個空格里,有多少種組合。如下:
1_2_3_4_5_6_7_8_9_10_11_12_13_14_15_16_17
(間隔數爲 n + 1 = 17 + 1 = 18)
所以從上述18個位置中選擇3個位置放書,即有 C(18, 3)=816 種。

3、將4個不一樣的球隨機放入5個杯子中,則杯子中球的最大個數爲3的概率是?

答:C4,3 * C4,1 * C5C1 / (5^4) = 16/125

4、已知y=f(x)的均差f(x0, x1, x2)=14/3,f(x1, x2, x3)=15/3,f(x2, x3,x4)=91/15,f(x0, x2, x3)=18/3,那麼均差f(x4, x2, x3)=( )

答:91/15(18/3、14/3、15/3、91/15)

均差f(x4, x2, x3)=f(x2, x3,x4)=91/15,(對稱性)差商 與插值節點的順序無關

5、一個快遞公司對同一年齡段的員工,進行汽車,三輪車,二輪車平均送件量的比較,結果給出sig.=0.034,說明

答:按照0.05顯著性水平,拒絕H0,說明三類交通工具送件量有顯著差異。

6、小明在一次班幹部二人競選中,支持率爲百分之五十五,而置信水平0.95以上的置信區間爲百分之五十到百分之六十,請問小明未當選的可能性有可能是

答:3%

95%落在百分之五十到六十,落在百分之50以下和百分之60以上的概率分別爲2.5%,所以不當選的概率(落在百分之50以下)爲2.5%約等於3%

銷售員需統計以下公式所示數據=SUM(SUMIF(C2:C9,{"<10","<6"})*{1,-1})

請問,該公式返回值爲

答:14

C2:C9按照"<10","<6"條件分別求和,再按照1,-1求和,即23-9=14

8、SQL語句執行的順序是


1.FROM
2.JOINON
3.WHERE
4.GROUP

9、隨機地擲一骰子兩次,則兩次出現的點數之和等於8的概率爲:
答:5/36,35,53,26,62,44

10、設隨機變量X和Y都服從正態分佈,且它們不相關,則( )

答:X與Y未必獨立

錯誤答案:(X, Y)服從二維正態分佈、X與Y一定獨立、X + Y服從一維正態分佈

A.只有當(X,Y) 服從二維正態分佈時,X與Y不相關⇔X與Y獨立,本題僅僅已知X和Y服從正態分佈,因此,由它們不相關推不出X與Y一定獨立,故A錯誤;
B.若X和Y都服從正態分佈且相互獨立,則(X,Y)服從二維正態分佈,但題設並不知道X,Y是否獨立,故B錯誤;
C.由A、B分析可知X與Y未必獨立,故C正確;
D.需要求X與Y相互獨立時,才能推出X+Y服從一維正態分佈,故D錯誤.

11、某地區每個人的年收入是右偏的,均值爲5000元,標準差爲1200元。隨機抽取900人並記錄他們的年收入,則樣本均值的分佈爲()

答:近似正態分佈,均值爲5000元,標準差爲40元

在這裏插入圖片描述,爲標準差,n爲人數
當900人和某地區人數相比差距很大時可以默認前一項的值爲1,於是1200/sqrt(900) = 1200 / 30 = 40

中心極限定理,樣本量N只要越來越大,抽樣樣本n的樣本均值會趨近於正態分佈,並且這個正態分佈以u爲均值,sigma^2/n爲方差。
中心極限定理: 多個獨立同分布的變量之和(求個均值後肯定一樣是服從的)近似服從正態分佈

12、抽取30個手機用戶,計算出他們通話時間的方差。要用樣本方差推斷總體方差,假定前提是所有用戶的通話時間應服從()
答:正態分佈
一個總體的方差的區間估計其前提條件是總體服從正態分佈,在置信水平下的置信區間服從卡方分佈

13、把黑桃、紅桃、方片、梅花四種花色的撲克牌按黑桃10張、紅桃9張、方片7張、梅花5張的順序循環排列。問第2015張撲克牌是什麼花色?
答:梅花
2015/31 = 65 所以最後一張應該是梅花
14、命題A:隨機變量X和Y獨立,命題B:隨機變量X和Y不相關。A是B的______條件。
答:充分不必要
前者可推出後者,後者推不出前者
15、假定樹根的高度爲0,則高度爲6的二叉樹最多有_______個葉節點。
答:64
一棵樹當中沒有子結點(即度爲0)的結點稱爲葉子結點。所以2^6=64
假定樹根的高度爲0,所以高度爲6的二叉樹其實是通常意義上的7層二叉樹

16、已知一棵樹具有10個節點,且度爲4,那麼:
答:該樹的高度至多是7
樹的高度:從所有葉節點開始數高度到根節點,其中的最大值;也就是從結點x向下到某個葉結點最長簡單路徑中邊的條數。
樹的深度:樹根下中所有分支結點層數的最大值,遞歸定義。(一般以根節點深度層數爲0)
4個度,說明有一個結點,連了4個子結點。那麼還剩10-(4+1)=5個父結點,連在這個結點上,所以最大度是7,如圖所
高度是從下往上數,深度是從上往下數,度是節點擁有的子樹的個數,度爲0的節點稱之爲葉子節點

鏈接:https://www.nowcoder.com/questionTerminal/6aa6013a2e9f4649b5c34fdcd52835a4
來源:牛客網

樹的度爲4,說明樹的節點中最高度爲4,樹一共10個節點,最多的可能就是前面都是一個節點連着一個節點,最後一共節點連4個節點。但本題答案最多爲7,貌似是將根節點的高度看做1,其實應該在題目中提一下,不然根節點高度爲0,就選B了

17、對於以下關鍵字{55,26,33,80,70,90,6,30,40,20},增量取5的希爾排序的第一趟的結果是:

答:55,6,30,40,20,90,26,33,80,70

{55,26,33,80,70,90,6,30,40,20} 增量爲5, 從55開始每隔5個距離取值分爲1組,共分爲5組,

分別爲{55,90} {26,6}{33,30}{80,40}{70,20}

先組內排序取最小值:55,6,30,40,20,
後取剩餘值:90,26,33,80,70

用13的瓷磚密鋪320的地板有幾種方式?

答:1278

一共可能有2,5,8,11,14,17塊磚頭豎着放((20-2)%3==0其餘數字同理。)

#豎着放代表長度爲3的邊剛好接觸。A6,6代表6!也等於6的階乘

當有2塊豎着放,一共有8(2+(20-2)/3=8)塊轉,其中6塊爲豎着放,2塊橫着。A8,8/(A6,6*A2,2)=28;

當有5塊豎着放,一共有10塊轉,其中5塊爲豎着放,5塊橫着。A10,10/(A5,5*A5,5)=252;

當有8塊豎着放,一共有12塊轉,其中8塊爲豎着放,4塊橫着。A12,12/(A8,8*A4,4)=495;

當有11塊豎着放,一共有14塊轉,A14,14/(A11,11*A3,3)=364;

當有14塊豎着放,一共有16塊轉,A16,16/(A14,14*A2,2)=120;

當有17塊豎着放,一共有18塊轉,A18,18/(A17,17*A1,1)=18;

當有20塊豎着放,結果爲1;

以上加總爲1278;

20、有20個人去看電影,電影票50元。其中只有10個人有50元錢,另外10個人都只有一張面值100元的紙幣,電影院沒有其他鈔票可以找零,問有多少種找零的方法?

答:16796

卡特蘭數問題C(n,2n)/(n+1)=C(10,20)/11=16796

select sum(case when sat_name =‘好評’ then count(sat_name) end) / count(sat_name) as “好評率”
from a join b on a.good_id = b.good_id
where a.user_name =‘小明’
and b.bu_name = ‘母嬰’
and b.brand_name =‘花王’
and a.sub_time between to_date(‘2018-1-1’,‘yyyy-mm-dd’) and to_date(‘2018-1-31’,‘yyyy-mm-dd’)

3、考拉海購始終以用戶爲中心,爲用戶提供高品質的商品,幫助用戶“用更少的錢,過更好的生活”。爲了滿足不同用戶的需求(比如新客戶的要求可能跟老客戶不同,流失客戶需要特殊的關懷) ,請你設計一套具體的方案,合理劃分不同用戶,並能給出相應的建議。

針對用戶類型進行劃分。

1、新用戶——引導性信息收集

任何電商品牌都有一套屬於自己的推薦算法,但是對於新用戶和新商品這種冷啓動問題一般還是沒有很好的解決方法。實際上,新商品有很多性能參數,可以根據相近商品進行預測,而新用戶對於算法來說是一個完全空白的樣本,不利於探測客戶需求,所以建議在新用戶註冊時設計一套能夠捕捉購買方向和趨勢的問卷,並配合問卷選擇發放一些對應的優惠券,這樣一方面可以引導新用戶在情願的情況下給出真是的購買意願,另一方面也能夠在最快的時間內捕捉到該用戶的一些信息,再一方面促進了用戶購買商品的機率。

2、規律用戶——捕捉規律行爲

大部分用戶的購買行爲存在週期性,比如優惠週期,使用週期,系統可以根據用戶在過去的購買和瀏覽行爲探索用戶購買週期,然後預測下一個購買週期,並且發送優惠信息,這樣既讓用戶享受到了優惠,又實現了營銷。

3、流失用戶——捕捉細節

萬事皆有原因,一個用戶流失要麼是在這裏喫過虧,要麼是覺得買不到想要的,要麼是別的平臺更便宜,無非這三大類原因,所以應該捕捉用戶最後的瀏覽信息,瀏覽表明有購買意願,針對這些商品基於一些優惠,吸引用戶再次瀏覽,根據一次次吸引瀏覽來判斷不購買原因,再對症下藥。

注:要區分流失用戶和規律用戶,這兩類行爲存在很大的相似性,但是後者其實並不需要太多優惠或行爲進行挽留

2019數據分析工程師筆試

單選題(20道題,40分)

  1. bootstrap 是什麼原理—有放回的從N個樣本中抽樣n個
    bootstrap方法是從大小爲n的原始訓練數據集中隨機選擇n個樣本點組成一個新的訓練集,這個選擇過程獨立重複B次,然後用這B個數據集對模型統計量進行估計(如均值、方差等)。由於原始數據集的大小就是n,所以這B個新的訓練集中不可避免的會存在重複的樣本。
    統計量的估計值定義爲獨立的B個訓練集上的估計值的平均:
    區分bootstrap、bagging、boosting和adaboost
    https://blog.csdn.net/wangjian1204/article/details/50668929
    bootstrap、bagging、boosting和adaboost是機器學習中幾種常用的重採樣方法。其中bootstrap重採樣方法主要用於統計量的估計,bagging、boosting 和 adaboost方法則主要用於多個子分類器的組合。
    Bootstrap 是對統計量的估計,有放回的從N個樣本中抽樣n個樣本,獨立重複B次,然後用這B 個數據集對模型統計量進行估計(如均值,方差),這個B個樣本中必然會存在重複樣本
    Bagging (Bootstrap Aggregating),第一步採樣就是使用Bootstrap Sample (Bagging是對訓練樣本採樣) 方法是從大小爲n的原始訓練數據集D中隨機選擇n′(n′<n)個樣本點組成一個新的訓練集,這個選擇過程獨立重複B次。然後,每一個新的訓練集都被獨立的用於訓練一個子分類器,最終分類器的分類結果由這些子分類器投票決定。
    boosting依次訓練k個子分類器,最終的分類結果由這些子分類器投票決定。首先從大小爲n的原始訓練數據集中隨機選取n1n1個樣本訓練出第一個分類器,記爲C1C1,然後構造第二個分類器C2C2的訓練集D2D2,要求:D2D2中一半樣本能被C1C1正確分類,而另一半樣本被C1C1錯分。接着繼續構造第三個分類器C3C3的訓練集D3D3,要求:C1C1、C2C2對D3D3中樣本的分類結果不同。剩餘的子分類器按照類似的思路進行訓練。(只是改變了數據分佈)
    Random Forest,結合了Bagging和Feature Selection方法,當然也使用林Bootstrap Sample方法 (不僅僅對訓練樣本採樣,還對Feature採樣)
    https://www.jianshu.com/p/708dff71df3a

  2. 用戶消費表中時間格式是“年-月-日-時-分-秒”,在MySQL中獲取“年-月-日”的函數是(A)
    A DATE --返回日期
    B GETDATE —返回日期和時間
    C DAY()–1、day(date_expression) 返回date_expression中的日期值
    D GETDAY()—無此函數

  3. 假設使用較短的時間在一個足夠大的數據集上訓練決策樹,可以採用什麼辦法(C)
    A 增加樹的深度
    B 增加學習率
    C減少樹的深度
    D 減少樹的數量

解析: 增加樹的深度, 會導致所有節點不斷分裂, 直到葉子節點是純的爲止. 所以, 增加深度, 會延長訓練時間.決策樹沒有學習率參數可以調. (不像集成學習和其它有步長的學習方法)決策樹只有一棵樹, 不是隨機森林。

  1. 需要刪除表user的數據,但是保留表結構且不釋放空間,以下哪個語句可以實現()
    A DELETE TABLE user
    B REMOVE TABLE user
    C DROP TABLE user
    D TRUNCATE TABLE user

在SQL中,能快速刪除數據表中所有記錄,但保留數據表結構的語句是Truncate。
使用Truncate刪除所有行,該語句總是比不帶條件的DELETE語句要快,因爲DELETE語句要記錄對每行的刪除操作,而Truncate 語句只記錄整個數據頁的釋放。Truncate語句立即釋放由該表的數據和索引佔用的所有空間,所有索引的分發頁也將釋放。
Delete 刪除 表中的行
DROP刪除整個表,包括表結構和表定義
REMOVE沒有這個查詢定義

  1. 某抽卡公司出示出SSR的概率是0.1,用戶畫符500次,得到45個符,問在5%的顯著水平下,能夠認爲遊戲商在謊報概率嗎?()
    A 能
    B不能
    C 不確定
    D 就算畫符5000次,得到450個符,也不能

對於統計檢驗來說,這裏設置的是a=0.05, Ho 假設如果計算的概率p>a大於顯著水平,即是沒有足夠的證據去拒絕原假設,即尚不能拒絕H0, 如果p<a,即可以拒絕原假設H0

  1. 某服務器請求分配到集羣A,B, C, D 進行處理響應的概率分別是10%,20%,30%,和40%, 測試各集羣的穩定性分別是90%, 93%,99%,和99.9%,現在該服務器請求處理失敗,且已排除穩定性以外的問題,那麼最有可能在處理該服務集羣的是(B)
    A 集羣A、
    B 集羣B
    C 集羣C
    D 集羣D

令L代表服務器請求處理失敗,A,B,C,D分別代表對應的集羣處理響應。
則有P(A)=10%,P(B)=20%,P©=30%,P(D)=40%
P(L|A)=10%,P(L|B)=7%,P(L|C)=1%,P(L|D)=0.1%
題目要求P(X|L),知識點:全概率公式、貝葉斯公式;對於4個集羣而言,分母P(失敗)是恆定的,因此只需比較分子P(失敗|集羣=i)*P(集羣=i)的大小。
X可取A,B,C,D,求其中的最大值。
根據貝葉斯概率公式
P(A|L)P(L)=P(L|A)P(A)=10% * 10%=0.01
P(B|L)P(L)=P(L|B)P(B)=20% *7%=0.014
P(C|L)P(L)=P(L|C)P©=0.003
P(D|L)P(L)=P(L|D)P(D)=0.0004
其中,P(L)雖然未知,但不用計算,即可比較大小,得P(B|L)最大
所以選B

  1. 關於大數定理和中心極限定理 說法錯誤的是(B)
    A 大數定理和中心極限定理都是用來描述 獨立同分布的隨機變量的和的漸進表現
    B 它們描述的是在不同收斂速率之下的表現,大數定理的前提條件強一點
    C 利用大數定理可以用樣本均值估計總體分佈的均值
    D 中心極限定理描述的是某種形式的隨機變量之和的分佈
    http://www.360doc.com/content/17/0207/09/9200790_627187280.shtml

大數定理說的是隨機現象平均結果的穩定性
中心極限定理 論證隨機變量的極限分佈是正態分佈
大數定理比中心極限定理寬鬆,中心極限條件強,結論更強

  1. 關於MySQL中數據類型的描述,以下錯誤的是(C)
    A VARCHAR 用於描述可變長度的非二進制字符串
    B DATETIME 和TIMESTAMP 是相同的數據類型,可以相互替換 √
    C 以“hh:mm:ss”格式存儲時間值的是DATETIME 數據類型 ×是TIME
    D TINYINT屬性只適合數字類型的數據

  2. 以下哪些機器學習模型沒有用到learning rate 學習率 作爲超參數()
    A 隨機森林
    B Adaboost
    C Gradient Boosting
    D lightGBM
    決策樹沒有參數可以調節
    只要使用了梯度下降法就會有學習率

  3. 遊戲中的武器攻擊值是60, 使用寶石可以增加攻擊值,如果是A有40%的概率打出暴擊,攻擊值增加一倍,是寶石B的話有20%的概率打出暴擊,攻擊值增加三倍,如果是C的話10% 攻擊值增加5倍, 各個事件均爲獨立事件,但是多個暴擊同時發生時,支取最高值, 這個數學期望是多少()–??
    A 129.38
    B139.68
    C152.18
    D 145.98

40% 20% 10% 30%
120 240 360
E(x)= 1200.4+ 2400.2+360*0.1==

  1. 對於二分類問題中樣本不平衡問題(負例較多),下面那個解決方案不適用(C))
    A 對訓練集的負樣本進行欠採樣
    B 直接基於原始數據集進行訓練 在預測的時候改變閾值
    C 對訓練集的正負比例進行升採樣
    D 對正例進行升採樣

過抽樣:過抽樣也叫做上採樣(over-sampling).這種方法通過增加分類中少數樣本的數量來實現樣本均衡。最直接的方法是簡單複製少數樣本形成多條記錄。比如正負比例爲1:10,那麼我們可以將正例複製9遍來達到正負比例1:1。但是這種方法的缺點就是如果樣本特徵少而可能導致過擬合的問題;經過改進的過抽樣方法通過在少數類中加入隨機噪聲、干擾數據或通過一定規則產生新的合成樣本,例如SMOTE算法。
2,欠抽樣:欠抽樣也叫做下采樣(under-sampling),這種方法通過減少分類中多數分類的樣本數量來實現樣本均衡,最直接的方法就是隨機的去掉一些多數類樣本來減小多數類的規模,缺點是會丟失多數類樣本中的一些重要信息。
總而言之,過抽樣和欠抽樣更適合於大數據分佈不均衡的情況,尤其是第一種(過抽樣)應用更加廣泛。
過採樣(英語:Oversampling)是指以遠遠高於信號帶寬兩倍或其最高頻率對其進行採樣的過程。

2,通過正負樣本的懲罰權重解決樣本不均衡。
3,通過組合集成方法解決樣本不均衡。
4,通過特徵選擇解決樣本不均衡

  1. SQL 中 語句正確的執行順序是
    From—where—group by —having –select----order by –limit

  2. RNN 在特定的神經元給定任意輸入,得到的輸出是-0.001. 那麼RNN中隱藏層使用的激活函數可能是()
    A ReLu(0,x)
    B Tanh (-1,1)
    C Sigmoid–(0,1)
    D 其他都不是
    ????

  3. 在含有一個或者兩個均值的假設檢驗中要使用()??? 不確定
    A 卡方檢驗
    B t 變量
    C F變量
    D z 變量

  4. 下面說法錯誤的是()
    A 零假設提出一個參數是否等於某個特殊值的問題
    B p值越小,拒絕零假設的理由就越充分
    C p 值和零假設的對錯的概率有關
    D p值描述的是在總體的許多樣本中,某一類數據出現的經常程度

C????
16. 貝葉斯分類利用以下哪種概率計算( 後驗概率)
利用先驗概率計算後概率 應該是先驗概率

  1. One vs rest 分類法 對於n 個類別的分類任務,需要訓練多少模型—n

  2. 現在需要查詢包括‘_’的數據,以下SQL 不能實現的是:

  1. 從表中執行的操作
    不可以的是修改主鍵,以及插入一個和主鍵學號一樣的信息

多選題(10道,30分)

  1. 假如出現以下哪種情況,可以表明訓練RNN模型過程中出現了梯度爆炸?
    A 梯度模型快速變大
    B 模型權重爲NAN
    C 每個節點和層的誤差梯度值持續超過1.0
    D 損失函數持續減少
    E梯度模型以指數形式衰減

  2. 關於SQL 的優化,以下說法正確的是()
    A select 子句 中儘量避免使用 *, 儘量列出需要查詢的字段
    B 大小表連接是,把大表寫入內存,再拼接小表
    C KEY鍵NULL值較多時,把 NULL賦值爲特定字符串
    D 進行去重時,使用DISTINCT比order by 效率更高

  3. 關於線性迴歸的描述,以下正確的是()
    A 基本假設包括隨機干擾項是均值爲0,方差爲1的標準正態分佈
    B 基本假設是包括隨機干擾是均值爲0的同方差正態分佈
    C 在違背基本假設是,普通最小二乘法不是是最佳線性無偏估計量
    D 在違背基本假設
    模型不再可以估計

  4. 皮爾森係數

5.	6.	7.	8.	9.

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
B C D
在這裏插入圖片描述
選AD
在這裏插入圖片描述
是A D

編程題(全部是SQL)

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章