24岁,是编程语言

一亩三分地

 找回密码 注册账号

扫描二维码登录本站

最近看过此主题的会员


码农求职神器Triplebyte
不用海投
内推多家公司面试

瞄准秋招
跟Shawn一起刷算法题

Total Comp Calculator
输入offer信息
系统自动计算每年收入

科技公司如何
用数据分析驱动产品开发
coupon code: 20%off 打八折

深入浅出AB Test
从入门到精通
coupon code: 20%off 打八折
游戏初创公司招聘工程师、UIUX Designer和游戏策划
坐标湾区
DreamCraft创始团队
招聘游戏开发工程师
查看: 812|回复: 11
收起左侧

脸书DS Analytics店面

[复制链接] |试试Instant~
我的人缘0

分享帖子到朋友圈
nowhy 发表于 2019-5-15 02:44:48 | 显示全部楼层 |阅读模式
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (23)
 
 
0% (0)  踩

2019(4-6月) 分析|数据科学类 博士 全职@Facebook - 内推 - 技术电面  | Pass/Offer | fresh grad应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?注册账号

x
最近请朋友内推拿到的店面,题目是面经里的marketplace
SQL部分:. 1point3acres
表1是session记录
游客,本帖隐藏的内容需要积分高于 188 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.



第一问挺容易的,就是过去一个月内,每天每个用户的平均session数目。


第二问感觉很麻烦,我卡了很久……
游客,本帖隐藏的内容需要积分高于 188 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.

店面的时候这一问捣鼓了十几分钟吧,好像总时间都过半小时了。最后写完面试官说好,不错,然后就进入product环节了。product还是关于marketplace的,加个sell item button。
然后问们就讨论了一下怎么衡量加这个feature的效果。自我感觉回答挺一般的,没想到后来通知我过了,可能是靠运气吧……发个面经求大米。

面试的时候还发生了挺有意思的状况,超时了。
游客,本帖隐藏的内容需要积分高于 200 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.

评分

参与人数 1大米 +30 收起 理由
清道神君 + 30

查看全部评分


上一篇:Uber DS 05/02 onsite 挂经
下一篇:有没有面三哥成功的tips
我的人缘0
jaymzhu 发表于 2019-5-15 06:21:44 | 显示全部楼层
本楼: 【顶】   100% (2)
 
 
0% (0)   【踩】
全局: 顶  100% (30)
 
 
0% (0)  踩
这样ok吗
第一问

SELECT user_id, AVG(sessions)
. 1point3acresFROM
(
SELECT date, user_id, COUNT(DISTINCT session_id) AS sessions
FROM table1
WHERE date > DATE_ADD(CURDATE(), INTERVAL -1 MONTH)
GROUP BY date, user_id
) temp
GROUP BY user_id;


第二问

WITH
        buyer_group AS
        (
                SELECT user_id, group
                FROM
                        (
                        SELECT DISTINCT a.user_id,
                                CASE WHEN b.user_id IS NOT NULL THEN 'group1'
                                ELSE 'group2'
                                END AS group
                        FROM table1 a
游客,本帖隐藏的内容需要积分高于 10 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
ELECT
        bg.group,
        COUNT(rv.user_id)/COUNT(bg.user_id) AS retention. 1point3acres
FROM buyer_group bg
LEFT JOIN revisit rv
ON bg.user_id = rv.user_id
GROUP BY bg.group;

评分

参与人数 3大米 +12 收起 理由
wasabimao1181 + 1 给你点个赞!
清道神君 + 10
nowhy + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

我的人缘0
qichao1129 发表于 2019-5-15 05:30:13 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (13)
 
 
0% (0)  踩
“把这些用户分两组,第一组是当天event包含发送消息这个动作.&quo
游客,本帖隐藏的内容需要积分高于 10 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
组是什么呀?

谢谢
回复

使用道具 举报

我的人缘0
 楼主| nowhy 发表于 2019-5-15 10:43:08 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (23)
 
 
0% (0)  踩
qichao1129 发表于 2019-5-15 05:30
“把这些用户分两组,第一组是当天event包含发送消息这个动作."
那第一组就是发送消息的用户,

第二组就是没发的,只有enter一种event。
回复

使用道具 举报

我的人缘0
 楼主| nowhy 发表于 2019-5-15 10:51:50 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (23)
 
 
0% (0)  踩
jaymzhu 发表于 2019-5-15 06:21
这样ok吗
第一问

第一问我没说清楚,只要求每天的,求的值是session / user,所以只用一个query就行。

第二问我觉得你写的应该没错,我的思路也是用left join来区分两个组的用户,最后再算retention。看你的代码这么复杂,我感觉面试让我现场写,确实写不成这样,自身还需要提高啊
回复

使用道具 举报

我的人缘0
dw357 发表于 2019-5-15 11:01:48 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (82)
 
 
0% (0)  踩
楼主哪天面的啊,多久
游客,本帖隐藏的内容需要积分高于 10 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
e消息?
回复

使用道具 举报

我的人缘0
 楼主| nowhy 发表于 2019-5-15 12:00:44 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (23)
 
 
0% (0)  踩
dw357 发表于 2019-5-15 11:01
楼主哪天面的啊,多久收到onsite消息?

就最近,过了两天出的结果
回复

使用道具 举报

我的人缘0
jaymzhu 发表于 2019-5-16 00:44:28 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (30)
 
 
0% (0)  踩
nowhy 发表于 2019-5-15 10:51. 1point3acres
第一问我没说清楚,只要求每天的,求的值是session / user,所以只用一个query就行。

第二问我觉得你 ...

现场一紧张 我是肯定写不出来这么复杂的
回复

使用道具 举报

我的人缘0
冷月无声 发表于 2019-5-16 03:38:58 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (11)
 
 
0% (0)  踩
SELECT group, SUM(CASE WHEN date is not null THEN 1 ELSE 0)/COUNT(user_id) as retention
FROM
  (SELECT user_id, . check 1point3acres for more.
            CASE WHEN SUM(case when event = ‘sent_message’ then 1 else 0 end)>0 THEN ‘group1’ ELSE   ‘group2’ END as group
  FROM
游客,本帖隐藏的内容需要积分高于 10 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
14 AND DATEDIFF(‘2019-01-01’, date) >=7) b
ON a.user_id = b.user_id
GROUP BY group
回复

使用道具 举报

我的人缘0
wasabimao1181 发表于 2019-5-16 13:54:36 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  95% (41)
 
 
4% (2)  踩
nowhy 发表于 2019-5-15 10:51
第一问我没说清楚,只要求每天的,求的值是session / user,所以只用一个query就行。

第二问我觉得你 ...

所以第一问其实就是:
SELECT date, COUNT (DISTINCT session_id) / COUNT(DISTINCT user_id)
FROM table
WHERE date >=sysdate -30
GROUP BY date
回复

使用道具 举报

游客
请先登录
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法 - 不要多加空格: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版|小黑屋|一亩三分地

GMT+8, 2019-5-25 03:19

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表