订阅更新

离线数仓开发

从建模理论到 Hive、Spark SQL 调优,再到手写 SQL、数据质量和调度,最后用项目把它们串起来。

2 周58 题适合:投 Hive / Spark / 离线数仓岗位 还没开始

从第 1 题开始 随机抽一题自测

1建模基础

15 题

每种表都要能说出粒度、主键和一个业务例子。

  1. 006 数仓分层怎么设计? 数仓建模
  2. 027 数仓事实表的粒度怎么设计? 数仓建模
  3. 061 事务事实表怎么设计? 数仓建模
  4. 056 周期快照事实表怎么设计? 数仓建模
  5. 046 累计快照事实表怎么设计? 数仓建模
  6. 030 数仓维度表怎么设计? 数仓建模
  7. 066 数仓一致性维度怎么设计? 数仓建模
  8. 071 数仓星型模型和雪花模型怎么选? 数仓建模
  9. 118 缓慢变化维 SCD1、SCD2、SCD3 有什么区别? 数仓建模
  10. 012 拉链表怎么设计? 数仓建模
  11. 117 数仓代理键和自然键怎么选? 数仓建模
  12. 119 数仓的数据域和主题域怎么划分? 数仓建模
  13. 145 数仓宽表和维度模型怎么选? 数仓建模
  14. 175 数仓原子指标、派生指标和复合指标怎么设计? 数仓建模
  15. 156 数仓总线矩阵怎么设计? 数仓建模

2Hive / Spark SQL 调优

17 题

倾斜、小文件、Join 是三大必考,要能讲出定位方法而不只是解法。

  1. 009 Hive SQL 跑得很慢,你怎么排查? Hadoop / Hive / HBase
  2. 03-01 一条Hive SQL从提交到出结果,到底经历了什么? Hadoop / Hive / HBase
  3. 024 Hive 分区表和分桶表有什么区别? Hadoop / Hive / HBase
  4. 142 Hive 中 ORDER BY、SORT BY、DISTRIBUTE BY 和 CLUSTER BY 有什么区别? Hadoop / Hive / HBase
  5. 269 Hive 动态分区怎么写?为什么分区太多会拖慢任务? Hadoop / Hive / HBase
  6. 197 Hive CBO 为什么依赖统计信息? Hadoop / Hive / HBase
  7. 002 你有遇到过 Spark 的数据倾斜吗? Spark
  8. 008 Spark Shuffle 为什么慢?怎么优化? Spark
  9. 018 Spark 任务 OOM,你怎么排查? Spark
  10. 025 Spark 广播 Join 什么时候用?有哪些坑? Spark
  11. 053 Spark AQE 能解决什么问题?有什么局限? Spark
  12. 126 Spark 为什么会写出大量小文件?怎么控制? Spark
  13. 017 HDFS 小文件过多,怎么治理? Hadoop / Hive / HBase
  14. 03-05 两张千万级的表Join特别慢,你怎么优化? Hadoop / Hive / HBase
  15. 03-06 某个Reduce卡了20分钟,你怎么排查和解决数据倾斜? Hadoop / Hive / HBase
  16. 16-03 两张大表JOIN,某个key有500万条——JOIN倾斜的三种解法怎么选? SQL 与数据库
  17. 16-04 JOIN字段里有15%是NULL——NULL值倾斜怎么处理? SQL 与数据库

3手写 SQL

10 题

先自己写,再对照讲解里的易错点。

  1. 114 SQL 如何计算用户连续登录天数? SQL 与数据库
  2. 115 SQL 如何实现每个分组的 Top N? SQL 与数据库
  3. 133 SQL 如何计算次日、7日和30日留存率? SQL 与数据库
  4. 134 SQL 如何计算漏斗转化率? SQL 与数据库
  5. 143 SQL 如何计算滚动7日活跃用户和移动平均? SQL 与数据库
  6. 153 SQL 如何合并连续日期和连续区间? SQL 与数据库
  7. 241 SQL 如何把用户行为切成会话?30 分钟规则有哪些边界? SQL 与数据库
  8. 076 SQL LAG 和 LEAD 怎么做环比、同比? SQL 与数据库
  9. 01-04 用户留存率怎么算?从公式到SQL一篇讲清 SQL 与数据库
  10. 01-07 同比环比怎么算?从日环比到跨年同比全覆盖 SQL 与数据库

4数据质量与调度

9 题

重点是「幂等」和「可重跑」:重复跑一次数据还对不对。

  1. 001 数据质量检查怎么设计? 数据开发与治理
  2. 011 离线任务出现重复数据,你怎么排查? 数据开发与治理
  3. 120 ETL 任务如何设计幂等和可重跑? 数据开发与治理
  4. 121 历史数据回刷怎么避免影响线上数据? 数据开发与治理
  5. 228 调度依赖怎么设计?上游成功为什么下游仍然缺数据? 数据开发与治理
  6. 229 源表和目标表怎么对账?为什么行数一致还不够? 数据开发与治理
  7. 280 数据任务零行输出算成功吗?空跑和真实零业务怎么区分? 数据开发与治理
  8. 13-05 重跑一次数据翻倍了——幂等性设计 数据开发与治理
  9. 19-04 业务说「数据不准」,你怎么排查?——数据质量问题排查SOP 数据开发与治理

5讲出你的数仓项目

7 题

把前面学到的放进项目里讲,面试官追问时才接得住。

  1. 18-01 请介绍一下你做过的数仓项目——开场 2 分钟决定了面试官对你的第一印象 数仓建模
  2. 18-02 你们数仓分几层?每层放什么?——不要再背 ODS/DWD/DWS/ADS 四个词了 数仓建模
  3. 20-01 面试官说「介绍一下你的数仓项目」——怎么用3分钟讲清楚? 数仓建模
  4. 2 数仓项目怎么讲才不像在背书:数仓项目表达模板 项目实战表达 13 讲
  5. 18-11 新表上线发现数据错了——你怎么一步步查出来的? 数仓建模
  6. 18-12 T+1 任务突然变成 T+2——你怎么查的? 数仓建模
  7. 18-15 同一个指标,三个部门三个数——你怎么处理? 数仓建模

其他路线:面试前 3 天冲刺实时计算开发湖仓与 OLAP手写 SQL 必刷AI / 大模型数据岗数据治理与平台项目表达与行为面