
公司真题库2026-07-20
【字节跳动】窗口函数分类与现场手写 SQL
字节跳动数仓一面真题。窗口函数分排序、分布、取值、聚合四类,附 row_number/rank、ntile 分桶、percent_rank 分位数的现场手写 SQL 与易错点。
91学AI·6 阅读
共 7 篇文章

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

SQL 手撕题集中在 TopN、连续行为、留存转化、行列转换四大类,答题框架是「确认口径、定粒度、套模板、补边界」,先写对再写快。

慢 SQL 排查遵循「看计划、找倾斜、查数据」三步:explain 确认 join 策略与裁剪,任务耗时分布定位倾斜,统计信息和资源配置兜底。

row_number 按业务键分区取 rn=1 保留最新一条是主流去重法,变体含按时间取最新、多字段优先级、保序去重,掌握与 distinct/group by 的选型边界。

连续登录用「日期减排名」构造分组键识别连续区间,留存率用首日 cohort 自连接或 lag 算间隔,两类题都要先去重再套模板。

TopN 标准套路是窗口函数编号加外层过滤,掌握每组 TopN、全局 TopN、并列处理、TopN 关联明细四种变体及 order by limit 的边界。

窗口函数分排序、聚合、取值、分布四类,核心是 partition by 分组加 order by 排序加窗口帧,掌握 TopN、环比、去重三大高频用法。