
【字节跳动】窗口函数分类与现场手写 SQL
字节跳动数仓一面真题。窗口函数分排序、分布、取值、聚合四类,附 row_number/rank、ntile 分桶、percent_rank 分位数的现场手写 SQL 与易错点。
共 13 篇文章

字节跳动数仓一面真题。窗口函数分排序、分布、取值、聚合四类,附 row_number/rank、ntile 分桶、percent_rank 分位数的现场手写 SQL 与易错点。

字节跳动数仓二面真题。模型优化从复用度治理、宽表与拆分、分区与存储格式、生命周期管理到指标口径收敛,覆盖设计与成本两个维度。

字节跳动数仓一面真题。数据倾斜在 Map、Shuffle、Join、聚合各阶段的表现不同,解法从加盐打散、两阶段聚合到 map join、分桶表逐个对应。

行转列用 collect_set/collect_list 聚合加 concat_ws 拼接,列转行用 lateral view explode 展开数组,两类操作都要配合 group by 和 UDTF 理解。

map join 把小表广播到 map 端免 shuffle;skew join 通过倾斜 key 单独拆分、加盐打散或两阶段聚合解决热点,掌握适用条件和参数。

小文件拖垮 NameNode 并放大计算开销;成因在 reduce 数、动态分区、实时写入三个源头,治理手段分写入时合并和存量合并两条线。

分区按列值切目录做查询裁剪,分桶按哈希散列文件控制数据分布;掌握两者粒度、动态分区风险、采样和 join 优化中的分桶用法。

内部表由 Hive 全权管理数据,外部表只登记元数据,临时表只存活于当前会话;核心考点是 drop 行为、建表 location 语义和生产场景选型。

讲清 Hive 的 Driver/Metastore/执行引擎三层结构,SQL 经解析、逻辑计划、优化、物理计划四个阶段编译成 MR/Spark 任务,掌握关键算子和优化点。



