DAY 50 W8 · 把故事讲出去:面试冲刺
八股 ①:索引与执行计划 20 问
第一步:把这八周踩过的性能知识点,变成能脱口而出的 60–90 秒口述。
学 · 20 min
练 · 100 min
- 把页面底部「性能与索引」8 问 + 自己补 12 问,写成 20 题
参考答案
页面 8 问之外,自补 12 问按三类分:① 原理(B-tree 为什么快、PG 的索引与堆是什么关系);② 失效场景(列上套函数、前导 % 模糊、<>、类型不匹配);③ 实战(EXPLAIN 怎么读、cost 估算和 actual 偏差说明统计信息过期、三种 join 算法的选择依据、索引的写放大代价)。每题先写一句话答案钉住结论,口述稿再扩。
- 每题写一份 60–90 秒的口述稿
参考答案
60–90 秒 ≈ 200–280 字,四段结构:结论先行(一句话)→ 原因(为什么成立)→ 例子(必须用自己在 100 万行 orders 上跑出的真实数字)→ 边界(什么时候不成立)。「大概几秒」这种模糊话一追问就穿帮。
- 录音,回放,标出讲得别扭的地方(那就是没想清楚的地方)
参考答案
回放三查:① 嗯啊超过 3 秒的卡壳处 = 那里没想清楚,标时间戳;② 口头禅(「然后」「就是说」)出现的频次;③ 超过 90 秒的题 = 该砍例子了。
- 重讲一遍被标记的题
参考答案
只重讲被标记的题:脱稿、计时、一次讲到位。隔天再抽查一遍讲过的题——隔天还能流畅讲出来,才算真的会了。
- 挑 3 题预设追问(「那如果数据量再大 10 倍呢?」)并准备答案
参考答案
追问答题模板:先说「结论会不会变」,再说「哪个假设失效了」,最后给替代方案。三个固定方向:数据量大 10 倍、写多读少还建吗、为什么不用别的方案。挑的 3 题选自己最没底的,别挑最顺的。