首页 > 笔经面经 > 完美世界 数据分析师 校招 面试

完美世界 数据分析师 校招 面试

头像
YuhuiYan
编辑于 2021-04-28 09:07:03 APP内打开
赞 3 | 收藏 6 | 回复2 | 浏览1659
4.26一面
微信语音面试,约的11点,我10点55准备到位了,面试官11点04打了个微信语音,我在看准备的笔记,没接到,反手就给我一个问号。。。

岗位JD上写着需要用SQL和数据建模。

然后自我介绍,

介绍项目。我主要介绍我用SQL做的一个分析类项目

然后面试官问我sql的能力如何,日常练习吗?
平时玩游戏吗,觉得会分析哪些数据?
然后我说到了留存率,然后问题就来了,让我直接说用sql计算留存率的思路。
说实话这题我写过很多次,但是让我直接说,啥也不看着说,我真的有点气,然后自己拿笔边写边说,感觉也没说清楚。

DROP TABLE IF EXISTS orders;
CREATE TABLE orders ( 
order_date date,
user_id int,
is_newuser int,
order_id int,
money int);

INSERT orders VALUES 
('2020/8/1', 1001, 1, 100001, 100),
('2020/8/1', 1001, 1, 100002, 150),
('2020/8/1', 1002, 0, 100003, 80),
('2020/8/1', 1003, 0, 100004, 100),
('2020/8/2', 1001, 0, 100005, 100),
('2020/8/2', 1004, 1, 100006, 80),
('2020/8/3', 1004, 0, 100007, 120),
('2020/8/3', 1005, 0, 100008, 100);

    
 #复购率 
SELECT fri_t.order_date, ROUND(IFNULL(rep_t.rep, 0)/IFNULL(fri_t.ttl_num, 0), 3) AS r
FROM (
	SELECT COUNT(DISTINCT user_id) AS ttl_num, order_date
	FROM orders
	GROUP BY order_date) AS fri_t
LEFT JOIN (
	SELECT DISTINCT o2.order_date, COUNT(DISTINCT o1.user_id) AS rep 
	FROM orders o1, orders o2
	WHERE o2.is_newuser = 1
	AND o1.user_id = o2.user_id    
	AND o1.order_date BETWEEN DATE_ADD(o2.order_date, INTERVAL 1 DAY) AND DATE_ADD(o2.order_date, INTERVAL 30 DAY)
	GROUP BY o2.order_date) AS rep_t
ON fri_t.order_date = rep_t.order_date;

#人均复购金额
SELECT o.order_date, ROUND(IFNULL(rep_num.ttl_money/o.ppl_num, 0), 2) AS avg_rep
FROM (
	SELECT order_date, COUNT(DISTINCT user_id) AS ppl_num
    FROM orders
    GROUP BY order_date) AS o
LEFT JOIN ( 
	SELECT DISTINCT o2.order_date, SUM(o1.money) AS ttl_money
	#这里用distinct只能说不好,如果两笔交易金额一样,那就出错了
	FROM orders o1
	JOIN (
		SELECT DISTINCT user_id, order_date
		FROM orders
		WHERE is_newuser = 1) o2
	ON o1.user_id = o2.user_id    
	WHERE o1.order_date BETWEEN DATE_ADD(o2.order_date, INTERVAL 1 DAY) AND DATE_ADD(o2.order_date, INTERVAL 30 DAY)
	GROUP BY o2.order_date) AS rep_num
ON o.order_date = rep_num.order_date;
这是我之前某厂笔试写的SQL,感觉也不是很拉跨。

然后就开始针对机器学习给我提问题。
让我想自己日常玩的游戏有哪些不足的地方,然后需要用什么方法分析,去证明它不好,然后我说ab testing,面试官说不行。
也没说用数据建模的方向吧,但是就让我往那个方向说,我事先准备了手游数据分析可能会涉及的数据,但是也不至于能够立马说出思路。就立马社死现场。
我说能让面试官提供一个场景,然后我来说自己的思路吗?然后面试官说你平时不是玩挺多游戏的吗。。
我没有接触过手游数据分析项目,要想出问题,再想出有哪些数据,再想出分析方法,全凭空说。我一个应届生做不到。。。

我面试总体体验不是很好,自己擅长领域也不是机器学习,上来就用机器学习分析项目,也没有什么引导方向。总体体验下来,我觉得面试官不是那么友好。

更多模拟面试

2条回帖

回帖
加载中...
话题 回帖

推荐话题

相关热帖

笔经面经近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐