快手数分一面

刚刚面了快手数分日常实习,第一个sql题就给我难住了,时间有限没写出来就叫停了,还是太菜了,求求大佬给个解答

表A uid p_date [用户ID 购买时间
问:8月1日的新增用户未来7日的留存率?#快手信息集散地##快手##数据分析#
全部评论
SELECT round(count(DISTINCT b.uid) / count(DISTINCT a.uid), 2) AS '7日留存率' FROM TableA a JOIN TableA b ON a.uid = b.uid WHERE a.p_date = '2021-08-01' AND b.p_date BETWEEN '2021-08-01' AND '2021-08-07'
3 回复 分享
发布于 2023-08-18 16:43 台湾
去重自连条件t1.id=t2.id,t1.date<t2.date,取count(case when diff(t1,t2)<=1 then t2 else end)就是次日人数,改成3就是三日留存吧
3 回复 分享
发布于 2023-08-08 18:01 上海
我之前有一位大佬把之前这个问题,我写的特简单,后来,让我形成了一个模板,无论隔天几天也好的留存率,都可以稍作修改然后得到结果,拓展性很强,需要的话,私聊我,我给您发过去。
2 回复 分享
发布于 2023-08-03 16:56 北京
用好join和datediff
点赞 回复 分享
发布于 2023-08-24 09:24 北京
面试主要内容是什么呀,方便透露嘛
点赞 回复 分享
发布于 2023-08-15 17:09 上海
写一个CET表,取未来7日的数据,取出8.1新增用户数据作为左表,按照uid链接,用CET表里面的时间减去8.1作为留存类型(次37留),count计算除一下就可以得到不同留存类型下的留存率
点赞 回复 分享
发布于 2023-08-14 11:18 广东
8月1日的新增用户怎么算呢?之前没有购买过的才算吧。还有未来7日的留存率是次日留存率,三日、四日等等一直到7日吗
点赞 回复 分享
发布于 2023-08-06 21:28 上海
限时多久呢哥们儿
点赞 回复 分享
发布于 2023-08-04 16:00 浙江
left join可以吗
点赞 回复 分享
发布于 2023-08-04 12:11 北京
怀疑我俩面的是一个了都 第一题也是这个
点赞 回复 分享
发布于 2023-08-04 11:10 北京
刚刚问了室友,茅塞顿开,这好像就是一个常规留存率的问题,我傻了,我当时到底在纠结什么
点赞 回复 分享
发布于 2023-08-03 17:41 北京
算留存网上一搜很多模板的
点赞 回复 分享
发布于 2023-08-03 16:51 北京

相关推荐

HR_丸山彩同学:你的项目描述里,系统设计讲了很多:MemCube是什么、三级存储架构怎么设计、四种遗忘策略分别是什么。这些面试的时候讲没问题,但简历上不需要这么细。 简历要突出的是影响力,不是实现细节。面试官看简历的时候想知道的是「这个项目有多大价值」,不是「这个项目具体怎么实现的」。实现细节是面试时候聊的 怎么改:技术细节可以精简为一句「采用三级存储架构+四种遗忘策略」,把省出来的篇幅用来写影响力。比如:项目有没有开源?有没有写成技术博客?有没有被别人使用过? 校园经历没有任何信息量,任何人都可以写这句话,写了等于没写。更关键的是,你投的是技术岗,校园活动经历本来就不是加分项。如果非要写,必须写出具体的数字和成果。如果你没有这些数字,那就老老实实删掉 「端到端耗时缩减30-40%」要给出确切数字和绝对值。从1000ms降到600ms是降了40%,从100ms降到60ms也是降了40%,但这两个含义完全不一样。其他也是,涉及到数据,准备好证据,口径统一,面试会问 「熟练」「熟悉」「了解」混在一起用,读起来很乱。而且「了解前端需求」最好改成「具备前后端协作经验」
点赞 评论 收藏
分享
评论
5
54
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务