最近在准备数据分析岗位的笔试,整理了牛客网上的一些试题与答案方便查看。
1、某二叉查找树的每个节点存放一个整数,中序遍历该树得到的序列为3,4,5,则该树的画法有多少种情况?
答案:5种
参考解析:
2、字符串有5个字符q,w,e,r,t,出现的频率分别为1,2,3,4,5,如果采用Huffman编码对字符串编码,则每个字符编码的平均长度是()?
答案:2.4
参考解析:
huffman编码学习博客:https://blog.csdn.net/qq_36653505/article/details/81701181
3、下面关于排序的空间复杂度说法不正确的有()(N为被排序数据的长度)
答案:D
参考解析:
4、一个简单无向图有10个顶点,11条边,如果用邻接矩阵来存储它,那么矩阵里面会有多少个0?
答案:78
参考解析:
邻接矩阵有10^2个元素,无向图的邻接矩阵是对称的,即图中的一条边对应邻接矩阵的两个非零元素,也就是211,
所以矩阵中有 10^2 - 211 = 100 - 22 = 78 个0。
5.以下hive sql语法正确的是
A. select * from a inner join b on a.id<>b.id
B. select * from a where a.id in (select id from b)
C. select sum(a.amt) as total from a where a.total>20
D. select * from a inner join b on a.id=b.id
答案:D
参考解析:
A、<> 表示“不等于”,inner join应该基于相等的key
B、 id 有歧义,改为b.id;
C、这和sql语句执行顺序有关,from-where-select,所以在where执行时还不能识别total
6、以下关于hive以及Hadoop生态系统中其他组件的说法正确的是
A. Hbase依赖HDFS存储数据,实现的编程语言为Java
B. Hbase是一个面向列分布式数据库,和hive不同的是,hbase能够在它的数据库上实时运行,而不是运行mapreduce任务
C. hive不支持数据更新,延迟比较小,可用于实时查询系统
D. hive采用了SQL的查询语言HQL,其支持了SQL中的所有特性
答案:B
参考解析:表连接查询时后面的表必然会进行全表扫描,所以数据少的放后面,提高sql语句的执行效率
7、以下关于hive以及Hadoop生态系统中其他组件的说法正确的是
A. Hbase依赖HDFS存储数据,实现的编程语言为Java
B. Hbase是一个面向列分布式数据库,和hive不同的是,hbase能够在它的数据库上实时运行,而不是运行mapreduce任务
C. hive不支持数据更新,延迟比较小,可用于实时查询系统
D. hive采用了SQL的查询语言HQL,其支持了SQL中的所有特性
答案:B
参考解析:表连接查询时后面的表必然会进行全表扫描,所以数据少的放后面,提高sql语句的执行效率
8.现有一个会议室预定系统,包含如下表实体:用户表(用户id,用户名,部门,职位);会议室表(会议室id,办公楼编号,楼层,会议室门牌,会议室类型id);会议室类型(类型id,容纳人数,是否有投影仪,是否有电话,是否有视频电话);会议订阅表(用户id,会议室id,订阅开始时间,订阅结束时间)
a. 请根据以上表结构写出建表的sql语句,注意选择合适的字段类型和主键。
b. 有需求查出2017-09-11 10:00:00 至 2017-09-11 12:00:00没有被人预定过的会议室id列表,要求容纳人数在10人以上,有投影仪和视频电话。请问这个sql语句如何编写,如何添加索引加速这个查下。
c. 假设订阅一个会议室包括两个步骤:1.查询出可以预定的会议室列表。2.插入会议订阅表(包含订阅的时间和用户id,会议室id)表示预定。请问如果两个用户同时预定,如何利用数据库的特性保障这两个用户不会在同一时间段预定同一个会议室。
参考答案:
a、
-- 用户表(用户id,用户名,部门,职位)
CREATE TABLE USERS
(
USERID INT NOT NULL PRIMARY KEY,
USERNAME varchar(255) NOT NULL,
USERDP varchar(255) NOT NULL,
USERPO varchar(255) NOT NULL,
);
-- 会议室表(会议室id,办公楼编号,楼层,会议室门牌,会议室类型id)
CREATE TABLE ROOMS
(
ROOMID INT NOT NULL PRIMARY KEY,
FLOORNUM INT NOT NULL,
ROOMNUM INT NOT NULL,
ROOMTYPEID INT NOT NULL,
);
-- 会议室类型(类型id,容纳人数,是否有投影仪,是否有电话,是否有视频电话)
CREATE TABLE ROOMTYPES
(
ROOMTYPEID INT NOT NULL PRIMARY KEY,
CAPACITY INT NOT NULL,
PROJECTOR BOOLEAN NOT NULL,
TELEPHONE BOOLEAN NOT NULL,
VIDEOPHONE BOOLEAN NOT NULL,
);
-- 会议订阅表(用户id,会议室id,订阅开始时间,订阅结束时间)
CREATE TABLE RESERVATION
(
USERID INT NOT NULL,
ROOMID INT NOT NULL,
STARTTIME timestamp NOT NULL,
ENDTIME timestamp NOT NULL,
);
b、
-- 可以加别的索引
create index ROOMID
on ROOMS(ROOMID,ROOMTYPEID);
select * from ROOMS t1
left join
(select *
from ROOMTYPES a
where a.CAPACITY > 10
and a.PROJECTOR = TRUE
and a.VIDEOPHONE = TRUE
)t2 on t1.ROOMTYPEID = t2.ROOMTYPEID
left join
(
select ROOMID
from RESERVATION
where STARTTIME< '2017-09-11 12:00:00' and ENDTIME > '2017-09-11 10:00:00'
)t3
on t1.ROOMID = t3.ROOMID
where t1.ROOMID is NULL
c、
在数据库中使用事务。使用事务更新数据库,这样可以保证同一时间只有一个用户信息可以插入会议室订阅系统
1.乐观锁:在每个用户commit 之前再重新查询
2.悲观锁:在查询的时候 进行锁定
9.有一个地区有2个市,一个来自A市的概率是20%,B市的是80%,A市得病的概率是2%,B市得病的概率是3%,现在有一个病人,问是A市的概率是?
A. 1/6
B. 1/3
C. 1/7
D. 1/14
答案:B
参考解析:由贝叶斯公式和全概率公式
P(A|病) = P(病|A) x P(A) / P(病) = 0.02 x 0.2 / (0.2 x 0.02 + 0.8 x 0.03) = 1/7
参考链接:https://blog.csdn.net/Hearthougan/article/details/75174210
10、业务背景:
网易考拉海购是网易旗下以跨境业务为主的综合型电商,以“用更少的钱 过更好的生活”为理念。销售品类涵盖母婴、美容彩妆、家居生活、营养保健、环球美食、服饰箱包、数码家电等。网易考拉海购以100%正品,天天低价,7天无忧退货,快捷配送服务,提供消费者海量海外商品购买渠道,希望帮助用户“用更少的钱 过更好的生活”。
网易考拉海购在杭州、郑州、宁波、重庆等地设有保税仓,保税仓面积为行业第一。同时,筛选最优质的仓储物流运营商保证商品能及时到达用户手中,率先在跨境中推出次日达、当日达服务,成为跨境电商第一名。
分析需求: 考拉海购的满邮门槛设置为消费满88元包邮,但经常听到身边朋友以及用户关于满邮门槛太高的声音,项目组希望你作为数据分析工程师,从数据层面帮助其解答以下问题:
1、满88元包邮这个门槛是否确实太高?影响的范围有多大?
2、如果88元门槛需要调整,调整到多少更合适?
3、对于考拉海购的邮费规则,是否还有其它建议?
要求:
1、写出你在分析过程中,需要用到哪些数据和需要知晓哪些信息
2、梳理你的分析思路,对于未知的信息,可以进行初步的假设并推演
3、最终的决策建议中,会包含哪些方面的分析和可能的建议
参考答案:
1、基本信息 所需数据:订单量、订单金额、客户数、购物车行为、订单基本信息、客户基本信息
所需信息:现行的具体邮费规则(包括具体邮费、其他包邮活动等)
总体指标:客单价=销售额/订单量、下单转化、购物车到下单转化、各环节蹦失率
2、分析思路 首先分析满88元包邮门槛是否太高,认为满邮门槛太高的用户极大可能会放弃购买,而不在乎门槛的用户会选择支付邮费或者凑单满88
a:全站合格订单中包邮订单比例、用户占比 b:支付失败的订单中金额<88元的订单比例、用户占比
c:有添加购物车行为而无下单行为用户中,购物车金额<88元的用户占比
在参考整体客单价、购物车到下单转化的情况下:
若a中比例较低,且整体客单价不超过88元,说明88元包邮不足以刺激用户的凑单包邮行为,多数用户每单价格不会超过88元,考虑整体下单转化率,若转化率偏低,则说明包邮门槛略高,若转化率高,则说明多数用户不在乎邮费,门槛不算高。
若b、c比例较高,说明由于包邮门槛过高而导致用户放弃下单的可能性较高。 (影响范围以比例说明)
个人认为可将包邮门槛设置为高出客单价10%左右,一方面与用户每单消费相差不多,另一方面可适当刺激消费。也可参考订单数在订单金额区间的频数分布,将包邮门槛设置为高出众数10%。
3、决策意见 分析: 对比新老客的购物车转化、客单价 对比活跃人群及非活跃人群的购物车转化、客单价 对比不同地区的客单价
参考不同品类、品牌的商品均单价 意见: 分新老客设置包邮门槛 分品类、分地区设置邮费
不同订单金额区间设置不同的邮费:如88元以下运费10元,88-128元运费5元,128以上免邮等类似邮费规则,以刺激消费
11、考拉海购始终以用户为中心,为用户提供高品质的商品,帮助用户“用更少的钱,过更好的生活”。为了满足不同用户的需求(比如新客户的要求可能跟老客户不同,流失客户需要特殊的关怀) ,请你设计一套具体的方案,合理划分不同用户,并能给出相应的建议。
民间参考回答:
分析思路:了解考拉这个产品的目标用户群,根据整体用户的情况,选取合适的指标进行用户分群,将用户分成几大类后,根据每类人群的需求制定相应的策略,从而促进用户消费,提高用户的复购率。
考拉用户范围:一二线城市为主,25~40岁之间,白领阶层女性占比较高,一美妆个护、母婴用品、服装鞋帽三大类消费最为集中。
选取指标:用户复购率、用户消费额、用户活跃度(登录次数、使用时长、订单量等)
用户分层:根据上述指标将用户分为:活跃客户、不活跃客户、流失客户,同时考虑从未使用过考拉的新客户,针对这四类客户制定不同的运营策略。
新用户:打造流量单品,引导用户首次购买,提高用户复购率
流失客户:针对这类客户,定位流失原因,通过优惠券等方式去召回用户
不活跃用户:设置签到获取优惠券、积分累加等方式提高用户的活跃度
活跃用户:针对这类用户定制会员卡
(以上简单分析,没有深入)
12、x+y+z+m=10,其中x,y,z,m都是正整数,那么x,y,z,m有多少种不同的取值组合?
A. 84
B. 165
C. 220
D. 112
E. 64
答案:C
参考解析:将长度为10的线段分割成4份,分别为x,y,z,m。因为x,y,z,m为正整数,所以9个空,切三刀,分成四段。C9(3) = 84。
13、有无限多水源,一个4L无刻度桶和一个9L无刻度桶,只利用这2个无刻度桶,将不可能获得____L水。
A. 1
B. 3
C. 8
D. 7
E. 11
F. 以上均能获得
答案:F
参考解析:
只要 通过4和9能够拼凑出的数字,都可以得到。
A. 1 = 9 - 4 x 2
B. 3 = 4 x 3 - 9
C. 8 = 4 x 2
D. 7 = 9 x 3 - 4 x 5
E. 4 x 9 - 4 x 5
14. 有一堆石子,共80颗,甲,乙轮流从该堆中取石子,每次可以取2,4或者6颗,取得最后的石子的玩家为赢家,甲乙都足够聪明都想赢,若甲先取,则____。
A. 甲必胜
B. 乙必胜
C. 甲乙都是50%几率获胜
D. 以上说法都不正确
正确答案:B
「题目解析」
因为加一都足够聪明且想赢,所以乙总是有办法对付甲,使得自己拿到8的倍数。例如,甲取2,则乙取6;甲取4,则乙取4;甲取6,则乙取2。
15. A, B 为任意两个事件且 A ⊂ B,P(B) > 0,则下列选项必然成立的是( )
A. P(A) < P(A| B)
B. P(A) ≥ P(A| B)
C. P(A) > P(A| B)
D. P(A) ≤ P(A| B)
答案:D
参考解析:
因A⊂B,故:AB = A,P(A) = P(AB) 又P(B) ≤ 1,于是由条件概率公式:P(A|B) = P(AB) / P(B)
所以有:P(A) = P(AB) = P(A|B)P(B) <= P(A|B)
16. 将一枚硬币独立地掷两次,引进事件: A1 = {掷第一次出现正面}, A2 = {掷第二次出现正面},A3 = {正、反面各出现一次}, A4 = {正面出现两次},则事件( )
A. A1, A2, A3相互独立
B. A2, A3, A4相互独立
C. A1, A2, A3两两独立
D. A2, A3, A4两两独立
答案:C
ps:互斥:P(A) P(B)=0 独立:P(A) P(B)=P(AB)
17. 设随机变量 X 与 Y 均服从正态分布,X ~ N(µ, 16), Y ~ (µ, 25), 记p1 = P{X ≤ µ - 4}, p2 = P{Y ≥ µ + 5}, 则()
A. 对任何实数µ,都有 p1 = p2
B. 对任何实数µ,都有 p1 < p2
C. 对任何实数µ,都有 p1 > p2
D. 只对µ的个别值,才有 p1 = p2
正确答案:A
参考解析:
18. 设随机变量X与Y相互独立,且都服从区间(0,1)上的均匀分布,则P{X^2 + Y^2 ≤ 1} =( )
A. 1/4
B. 1/2
C. π/4
D. π/8
正确答案:C
参考解析:
P{X^2 + Y^2 ≤ 1} 即求半径为1的圆内面积占变长为2的正方形面积的百分比。
19.随机变量X ~ N(0, 1), Y ~ N(1, 4),且相关系数ρ{XY} = 1,则( )
A. P{Y = −2X − 1} = 1
B. P{Y = 2X + 1} = 1
C. P{Y = −2X + 1} = 1
D. P{Y = 2X − 1} = 1
正确答案:B
参考解析1:y=ax+b,正相关a>
0
,E(ax+b)=aE(x)+b=b,b=
1
,即y=ax+
1
,D(Y)=a^
2
*D(x)=
4
,a=
2
参考解析2:
设 Y = aX + b,则
E(Y) = E(aX + b) = aE(X) + b = b =1 ,解得b = 1。
即 Y = aX + 1。
ρ{XY} = Cov(X,Y) / [Sd(X) Sd(Y) ]= Cov(X, Y) / [(1 * 2)] = 1,
所以Cov(X, Y) = 2。
Cov(X, Y) = E(XY) - E(X) E(Y) = E(aX^2 + x) - 0 = aE(X^2) + aE(X) = a[Var(X) + E(X) ^2] + 0 = a(1+0) = a = 2,
所以 a = 2, Y = 2X + 1
20. 设随机变量X和Y都服从正态分布,且它们不相关,则( )
A. X与Y一定独立
B. (X, Y)服从二维正态分布
C. X与Y未必独立
D. X + Y服从一维正态分布
正确答案:C
参考解析:独立=不相关+二维正态分布
21. 若总体X~N(µ,δ2),其中δ2已知,当样本容量保持不变时,如果置信度减小,则的置信区间( ).
A. 长度变大
B. 长度变小
C. 长度不变
D. 都有可能
官方答案:C
民间答案:B
22. 某电灯泡生产商声称,它们生产的电灯泡的平均使用时间为85小时。质检部门抽取20个电灯泡的随机样本,在的显著性水平下,检验结果是未能拒绝原假设,这意味着()
A. 该企业生产的电灯泡的平均使用时间是85小时
B. 该企业生产的电灯泡的平均使用时间不是85小时
C. 没有证据证明该企业生产的电灯泡的平均使用时间是85小时
D. 没有证据证明该企业生产的电灯泡的平均使用时间不是85小时
正确答案:D
参考解析:
希望的结果放在备择假设H1,质检部的目的是检测灯泡厂商夸大灯泡寿命,即
备择假设H1: 该企业生产的电灯泡的平均使用时间小于85小时;
那么,原假设H0:该企业生产的电灯泡的平均使用时间大于或等于85小时;
检测结果未能拒绝原假设,即倾向H0,没有证据证明该企业生产的电灯泡的平均使用时间不是85小时。