字节集团信息数据开发二面0924
70分钟
1.自我介绍
2.为什么不继续选择后端和算法,选择数开?
3.在实习结束后,对数开有什么新的看法?
4.讲讲实习项目经历业务逻辑。
5.实习复盘离线数仓建设最难的点在哪?
6.抛开数据治理不谈,数据仓库和数据建模最难的点是哪些?
7.讲讲如果不按订单归因,按曝光归因的话该怎么修改链路?
8.了解拉链表吗,如果按曝光归因拉链表核心字段怎么设置?
9.了解数据漂移吗,数据飘逸是什么?
10.怎么解决数据飘逸?
11.RDD中宽窄依赖分别是什么?为什么这样设置?
12.spark的流程,从语义入手
13.真正执行之前spark会有哪些小步骤?
14.spark怎么写入hive数据表?
15.spark写入RDD用的是什么组件?
16.了解过RDD的持久化原理吗?
17.persist和cache有什么区别?
18.了解数据湖吗,和数据仓库有什么区别?
手撕15分钟sql
统计每个用户每个月的销售总量。每个月有数据,没有月份的数据也要补上数据。(多个cte,先构建user_id和12个月份的笛卡尔积,然后对order_cnt_1d使用聚合函数sum,按用户和月份分组,最后多个表left join并使用lag和coalesce补上没有数据的月份,补上个月(如果有数据)的数据)
输入:
user_id, date, order_cnt_1d
A 20220111 10
A 20220112 20
A 20220210 30
A 20220410 50
预期输出:4月之后的5月到12月都是110。
user_id, month, order_cnt
A 202201 30
A 202202 60
A 202203 60
A 202204 110
A 202205 110
……
A 202212 110
反问业务
可以提升的点:实习项目深度不够,对大数据的广度也不够