巨人网络\春招\数据开发\笔试\hard

巨人网络\春招\数据开发\笔试\hard
数仓-SQL面试题-实录

字段:uid 用户ID、artical_id 文章ID、in_time 进入时间、out_time 离开时间、sign_cin 是否签到

问题:统计每天的日活数及新用户占比

注:
新用户占比 = 当天的新用户数/当天活跃用户数(日活数)
如果in_time 进入时间 和 out_time 离开世界跨天了,在跨天的每天都记为该用户活跃过
新用户占比保留2位小数,结果按日期升序排序

示例数据的输出结果如下
dt       dau uv_new_ratio
2021-10-31 2 1.00
2021-11-01 3 0.33
2021-11-02 3 0.67
2021-11-03 5 0.40

解释
2021年10月31日有2个用户活跃,都为新用户,新用户占比1.00
2021年11月1日有3个用户活跃,其中1个为新用户,新用户占比0.33

因原始数据超出限制,可以找我要
#春招##大数据##实习#
全部评论
SELECT dt, cnt AS dau, ROUND(COUNT(IF(dt = min_dt, 1, NULL)) OVER (PARTITION BY uid) / cnt, 2) AS uv_new_ratio FROM (SELECT dt, uid, COUNT(uid) OVER (PARTITION BY dt) AS cnt, MIN(dt) OVER (PARTITION BY uid) AS min_dt FROM (SELECT uid, in_time AS dt FROM t UNION SELECT uid, out_time AS dt FROM t) t1 ) t2 order by dt asc ; 这样应该可行;
1 回复
分享
发布于 04-13 18:44 重庆
需要投递数据开发的小伙伴联系我哦,高途集团
1 回复
分享
发布于 04-14 16:20 北京
联想
校招火热招聘中
官网直投
这题感觉牛客有,我是用的窗口函数做的。小白浅写,请大佬多多批评指教。 with tiaojian as ( select uid,in_time as pday from 实录表 union all select uid,out_time as pday from 实录表 ) select t.pday, sum(case when t.m=1 then 1 else 0 end), round( sum(case when t.m=1 then 1 else 0 end)/count(distinct t.uid),2) from( select uid, pday, row_number()over(partition by uid order by pday asc) as m from tiaojian ) as t group by t.pday
点赞 回复
分享
发布于 04-15 17:54 北京

相关推荐

#软件开发2024笔面经# 小米 4.10 线上面试前一天通知,第二天面试,连夜针对简历进行复习。以简历为主进行提问:自我介绍技术:1. 介绍面向对象编程思想2. 重写和重载的区别3. list和数组的区别,arraylist和linkedlist的区别4. 并发:了解过cas吗(⭐)5. 了解tcp/ip吗?tcp的三次握手过程,为什么挥手是四次,比握手要多一次(⭐)6. mysql有哪些索引,什么情况会用到索引7. mysql事务的四大特性,如何上锁了解过吗(⭐)8. springboot流程,如何理解依赖注入和控制反转9. redis五大数据类型,在项目中用到了哪些,redis的应用场景10. 为什么要用到redis?仅仅因为redis访问数据快就使用redis吗?(⭐)11. redis缓存穿透、缓存击穿、缓存雪崩12. redis数据淘汰策略13. redis为什么快项目(外卖项目)14. jwt令牌是如何实现的15. 如何使用md5加密16. 项目中如何保持redis与数据库保持一致17. 项目是如何进行开发的,开发流程18. 写一道算法题(链表反转)(⭐)19. 对小米公司有没有了解(随便说了不多,其实可以多扯一些,我尊贵小米用户的身份也没有展示出来)20. 反问ps:(⭐)是没有回答上来的总结:有了上次实习,确实积累了一些经验,只要面试官针对简历进行提问,基本上准备的东西都能用上,但是自己没有学习的内容,就不要往简历上写(作死写上了并发、多线程,结果回答不上来),可能也是线上面试的原因,自己相对来说没有这么紧张,大体上都可以回答上来。算法方面还要着重加强,一个链表反转不知道怎么动手,估计要挂了,算法真的好难啊,写项目感觉还有点意思,算法是真想不出来。再接再厉吧。官网显示流程终止,还是去试试中小厂吧😢
点赞 评论 收藏
转发
1 收藏 评论
分享
牛客网
牛客企业服务