网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
1、现有交易数据表user_goods_table如下:
- user_name 用户名
- goods_kind 用户订购的的外卖品类
现在老板想知道每个用户购买的外卖品类偏好分布,并取出每个用户购买最多的外卖品类是哪个。
输出要求如下:
- user_name 用户名
- goods_kind 该用户购买的最多外卖品类
思路,利用窗口函数 row_number求得每个用户各自购买品类数量排行分布,并取出排行第一的品类即该用户购买最多的外卖品类。
参考题解:
select b.user_name,b.goods_kind from
(select
user_name,
goods_kind,
row_number() over(partition by user_name
order by count(goods_kind) desc ) as rank
from user_goods_table) b where b.rank =1
2、某顶尖支付平台数据分析面试题。现有交易数据表user_sales_table如下:
- user_name 用户名
- pay_amount 用户支付额度
现在老板想知道支付金额在前20%的用户。
输出要求如下:
- user_name 用户名(前10%的用户)
思路,利用窗口函数 ntile将每个用户和对应的支付金额分成5组(这样每组就有1/5),取分组排名第一的用户组即前支付金额在前20%的用户。(注意这里是求前20%的用户而不是求支付排在前20的用户)
参考题解:
select b.user_name from
(select
user_name,
ntile(5) over(order by sum(pay_amount) desc) as level
from user_sales_table group by user_name ) b
where b.level = 1
3、某顶尖小视频平台数据分析面试题。现有用户登陆表user_login_table如下:
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
大纲路线、讲解视频,并且后续会持续更新**