快手面试题:
1. 介绍数据仓库模型分层设计、层级作用功能、设计思路?
2. 数仓的设计原则:尽量满足复用性,尽量满足复用性。那么在范式建模上层的DW层,因为有比较多外键,如何输出较为好用的数据表?
3. DW层数据粒度是怎样的?如果做聚合的话,如果确定汇总粒度?
4. DW层和DM层的区别什么?
5. SQL题目:
直播事实表:fact_live
live_id
user_id
time(ms级时间戳)
duration
直播维度表:dim_live
live_id
params
需求输出:
user_id
first_live_id last_live_id
first_live_dt last_live_dt(yyyy-MM-dd)
first_live_params last_live_params
参考:
SELECt A.user_id, A.first_live_id, A.last_live_id, from_unixtime(B.first_live_dt, 'yyyy-MM-dd') AS first_live_dt, from_unixtime(B.last_live_dt, 'yyyy-MM-dd') AS last_live_dt, C.params AS first_live_params, D.params AS last_live_params FROM ( SELECt user_id, first_value(live_id) OVER (PARTITION BY user_id ORDER BY time ASC) AS first_live_id, last_value(live_id) OVER (PARTITION BY user_id ORDER BY time ASC) AS last_live_id FROM fact_live ) A LEFT JOIN ( SELECt user_id, min(time) AS firt_live_dt, max(time) AS last_live_dt FROM fact_live GROUP BY user_id ) B ON A.user_id = B.user_id LEFT JOIN dim_live C ON A.first_live_id = C.live_id LEFT JOIN dim_live D ON A.last_live_id = D.live_id
6. 常用的窗口函数有哪些?
7. 除了sqoop有没有使用或者调研过其他同类型的产品?为什么使用sqoop?
8. hive有哪些场景下需要优化?优化的手段有哪些?
9. 指标结果怎么判断其正确性?有哪些核验方法?
10. 数仓运维中如果发现数据问题?有哪些规则?
11. 指标波动性的阈值如何确定?
12. 跳槽期望和职业规划



