2021搜狐畅游数据分析笔试题
哈喽,大家好,我是可乐
很多同学留言想看数据分析类岗位的笔试/面试题目,今天这篇文章就是了。
从牛客网上找到的搜狐畅游数据分析岗位的笔试题,精选了14道题目来给大家解析下,内容涵盖统计学、Excel、SQL、Python、业务理解。 统计学 Excel 业务理解 SQL Python 统计学
No.1 若咖啡和茶叶互为替代品,当咖啡价格上升时,茶叶需求量的变化趋势是:
答案 :增加
解析 :供求关系的影响,咖啡价格上升,买的人少,咖啡和茶互为替代品,大家会选择价格没上涨的茶。
No.2 游戏中玩家可以通过两种途径清凉一夏活动、西瓜大赛活动获得玉瓤,假设每个活动获得玉瓤数概率如下表所示: 活动上线后,某玩家随机选择参加一活动,结果获得了25个玉瓤。请问该玩家参加的是清凉一夏活动的概率。
答案 :4/7
解析 : 考察贝叶斯概率:
A事件为清凉一夏,B事件为获得25个瓜瓤
P(A)= 0.5 即参加清凉一夏活动的概率
P(B)= (0.4+0.3)/2 = 0.7/2 即获得25个玉瓤的概率
P(B|A)= 0.4 即参加清凉一夏活动时,获得25个玉瓤的概率
要求P(A|B) 即获得25个玉瓤时,参加的是清凉一夏活动的概率
贝叶斯概率:P(A|B)= P(B|A)*P(A)/P(B)
代入:0.4*0.5/(0.7/2)= 4/7
No.3 在游戏中,假设对于普通玩家,参加一次打图活动获得藏宝图的概率是0.5,每次打图活动相对独立。某角色参加了10次打图活动,获得了9张藏宝图,请问该角色是否可以认定为非普通玩家?
A、以0.01的校验水准无法认定,但以0.05的校验水准可以认定
B、以0.01的校验水准,可以认定为非普通玩家
C、以0.05的校验水准无法认定
答案 :B
解析 : 考察假设检验。
这是一个总体比例的检验。
原假设:该角色为普通玩家,Π=0.5
备择假设:该角色为非普通玩家,Π 0.5
p=9/10
n=10
计算Z统计量:
代入公式计算得到z 2.53,这是一个单侧检验,在0.01显著性水平下,
z= 2.32 < 2.53
落在拒绝域外,不拒绝,即以0.01的校验水准,可以认定为非普通玩家
No.4 筛选了一批新用户,统计其每天在线时长、获得经验数据如下: 角色id 平均每天在线时长(小时) 平均每天获得经验(万) 请尝试计算平均每天在线时长数据、平均每天获得经验数据的协方差。
答案 :19/3
解析 : 协方差表示的是两个变量的总体的误差。可以通俗的理解为:两个变量在变化过程中是同方向变化?还是反方向变化?变化程度如何?
Cov(X,Y) = E(XY) - E(X)E(Y)
X表示平均每天在线时长
Y表示平均每天获得经验
E(X)是X的期望,E(X) = (4+5+9)/3=6
E(Y)是Y的期望,E(Y) = (2+4+9)/3=5
E(XY) = (4 2+5 4+9*9)/3 = 109/3
带入得到Cov(X,Y) = 19/3 Excel
No.5 如表A中记录了玩家的账号和消费金额,表B中记录了玩家的账号和性别,现需要把表B中玩家性别信息匹配到表A中,在EXCEL中应该用哪个函数?
A、LOOKUP
B、SEARCH
C、MATCH
D、VLOOKUP
答案 :VLOOKUP
解析 :这题就很简单了,考察Excel里的两表匹配的函数,即VLOOKUP。 业务理解
No.6 以下哪组指标都是付费项指标:
A、APA,ARPU
B、APA,DAU
C、DAU,ARPU
D、DAU,DAOT
答案 :APA,ARPU
解析 : APA (Active Payment Account):活跃付费用户数 ARPU(Average Revenue per User):每用户平均收入 DAU(Daily Active Users):日活跃用户数量
No.7 指标定义:新用户n日留存率=新用户游戏的第n天留存数/新用户数。那么,7月8日新增用户2000人,这2000人在7月9日,7月10日,7月11日分别上线了500,400,350人,那么7月8日新增用户的3日留存率为多少(请以百分数展现,小数点后保留一位)
答案 :20%
解析 : Day 1 7月8日,新增2000人 Day 2 7月9日,留存500人 Day 3 7月10日,留存400人
7月8日的3日留存率 = 7月8日当天新增用户中第三天还登录的用户 / 7月8日新增用户数 = 400/2000 = 20% SQL
接下来是SQL题
No.8 SQL中常用的条件表达式有:
A、case when
B、if else
C、if else when
D、switch
答案 :case when
解析 : SQL里的条件表达式就是case when
No.9 SQL中用于将某种数据类型的表达式显式转换为另一种数据类型的函数是
A、concat
B、isnumeric
C、change
D、cast
答案 :cast
解析 :
CAST函数用于将某种数据类型的表达式显式转换为另一种数据类型。
比如:
SELECT CAST(NOW() AS DATE)
得到结果:2021-11-04,而直接输入now()的结果是带时间的。将时间类型转换为日期。
No.10 数据库中的表A记录了某天玩家登录游戏的所有记录,表A中共有2个字段,一个是记录玩家登录时间的字段time,一个是记录玩家游戏账号的字段cnmaster,现需要计算这天登录过游戏的不重复账号个数,SQL命令是:
答案 :
select count(distinct cnmaster) from A
解析 : 考察SQL语句计数与去重。
No.11 数据库有两张表, A表为游戏登出表,用户每次下线时记录一条:dt(登出日期),servertime(登出时间),userid(用户id),onlinetime(当次在线时长(单位:秒),int); B表为游戏充值表,用户每次充值记录一条:dt(充值日期),servertime(充值时间),userid(用户id),money(充值金额,int) 请查出: 1)2018年9月1日~2018年9月7日每天用户平均在线时长。 指标说明:平均在线时长=总在线时间/用户数。 2)2018年9月1日当天,总在线时长超过20分钟以上的用户的付费总金额。
答案 : -- 第一题 select dt,sum(onlinetime)/count(uesrid) as "平均在线时长" from A where dt between "2018-09-01" and "2018-09-07" group by dt -- 第二题 select userid,sum(money) from B where userid = ( select userid from A where dt = "2018-09-01" group by userid having sum(onlinetime) >20*60 ) group by userid
解析 : 第二题中先找出2018年9月1日当天,总在线时长超过20分钟以上的用户的id,再求这些用户付费总金额,用到了子查询。 Python
No.12 使用python的matplotlib工具包绘制折线图,所用的函数是
A、plot
B、scatter
C、sort
D、input
答案 :plot
解析 :不多说了,基础,plot绘图。
No.13 以下python命令的输出结果为: zhandouli=16000 if zhandouli < 10000: print("初入江湖") elif zhandouli < 30000: print("小有名气") else: print("名动一方")
答案 :小有名气
解析 :也是基础,10000<16000<30000,所以输出小有名气。
No.14 在Python中输入以下命令,输出结果为: s=0 for k in range(101): s=s+k print (s)
答案 :5050
解析 : range(101)返回的结果是0到100,这题是0到100相加的等差数列,结果是5050.
总的来说,题目偏简单,考察的都是很基础的内容,比如Excel只考察了vlookup是做什么用的,但实际用起来才会知道它更多的坑,这也就是笔试/面试和工作的区别。当然首先得有敲门砖,进来后再深入学习也不晚。
@可乐的数据分析之路
by:进击的可乐