面试指南

20天冲刺计划与模拟面试

面试权重:★★★ | 适用级别:P7/P8+ | 适合临近面试的集中冲刺

概览

这是一页横向备战路线图,专门承接 Preparation Points.txt 里的 20 天冲刺计划、阶段任务、模拟面试、投递节奏与复盘方法。

复习方式

这页的正确用法不是“从头看到尾”,而是每天先看当天阶段目标,再按“输入 -> 输出 -> 自测 -> 复盘”执行。凡是当天不能产出口述答案、图示或错题总结,就说明复习还停留在浏览层。

一、20天冲刺总览

阶段天数目标重点产出
第一阶段Day 1-5基础固化Java/JVM/数据库核心知识卡片、排障回答模板
第二阶段Day 6-10框架与中间件Spring、Redis、MQ、MySQL 场景题骨架
第三阶段Day 11-15算法与数据结构高频题型模板、错题集、复杂度敏感度
第四阶段Day 16-20综合应用与模拟系统设计、项目表达、完整模拟面试复盘

使用建议

  • 这页不是替代技术专题,而是给你一个临近面试时的执行顺序。
  • 每个阶段都要回链到对应专题页深入复习,而不是只看这里。
  • 如果时间不足,优先保住 Java / JVM / Spring / 数据库 / 中间件 / 分布式 / 系统设计 / 项目表达
执行原则
  • 每天只设一个主模块,避免“学了很多、没产出任何答案”。
  • 每天必须有输出物,否则不算完成。
  • 5 天做一次阶段复盘,决定后面是补短板还是继续推进。

二、分阶段路线

第一阶段:基础固化(Day 1-5)

目标

  • 把基础八股从“知道”拉到“能讲清 Why”。
  • 建立 Java 基础、JVM、数据库的统一知识框架。
  • 开始形成自己的面试表达模板。

每日安排

Day 1-2 执行清单
  • 输入
    • 复习 Java 语言基础、集合、并发、异常、泛型、反射。
  • 输出
    • 对照 Java语言基础 手写 5 个边界场景。
    • 产出一份“集合 + 并发”高频问答卡片。
  • 自测
    • 口述 == / equals / hashCodeHashMapsynchronized vs ReentrantLock 三题。
  • 复盘
    • 记录哪些题会背结论但解释不清原理。
Day 3-5 执行清单
  • 输入
    • 复习 JVM 内存结构、GC、类加载、排障工具。
    • 同步回看数据库中的索引、事务、慢 SQL 排查。
  • 输出
    • 对照 JVM深度 做一轮工具链回顾:jstack / jmap / MAT / Arthas
    • 写出一版“线上排障回答模板”。
  • 自测
    • 口述 GC 如何选型类加载过程一次 OOM 排查流程
  • 复盘
    • 记录是卡在原理、工具使用还是回答结构。

本阶段重点

  • Java 基础题不能只背结论,要能解释底层机制。
  • JVM 题必须会“现象 -> 工具 -> 根因 -> 优化 -> 验证”的回答链路。
  • 数据库基础题要同步复习索引、事务与慢 SQL 排查。

本阶段检查点

  • 能否无稿讲清 3 个核心基础题。
  • 是否已经形成第一版技术回答模板。
  • 是否开始积累错题与追问本,而不是只看资料。

第二阶段:框架与中间件(Day 6-10)

目标

  • 把最常见的业务组件题串成完整链路。
  • 能从 Spring 一路讲到 Redis、Kafka、MySQL、分布式一致性。
  • 补足框架失效场景、缓存一致性、消息可靠性。

每日安排

Day 6-7 执行清单
  • 输入
  • 输出
    • 整理 IOC / AOP / 事务失效 / 自动装配 / 注册中心 / 网关 / 灰度 的一页串讲图。
    • 写出“事务失效清单”和“自调用/代理机制回答模板”。
  • 自测
    • 用 3 分钟口述一次“Spring 事务为什么会失效”。
  • 复盘
    • 标记自己是卡在原理链路还是卡在场景举例。
Day 8-10 执行清单
  • 输入
  • 输出
    • 写出“秒杀链路答案骨架”和“消息可靠性 checklist”。
    • 分别整理 MVCC、索引失效、缓存一致性、Kafka 可靠性、分布式事务选型的回答卡片。
  • 自测
    • 无稿回答“缓存一致性怎么做”“Kafka 如何保证可靠性”“为什么不用本地事务”。
  • 复盘
    • 记录自己是否能把组件题串成业务场景题。

本阶段重点

  • 能把单点知识串成场景题。
  • 同类组件必须会做对比,例如 Kafka vs RocketMQNacos vs Eureka
  • 每学完一个模块,补一轮“如果线上出问题怎么排查”。

本阶段检查点

  • 是否已经有至少 2 个完整场景题骨架。
  • 是否每个中间件都能讲“适用场景 + 核心机制 + 易错点”。
  • 是否形成一版自己的故障排查模板。

第三阶段:算法与数据结构(Day 11-15)

目标

  • 把高频题型练到“看到题就知道模板”。
  • 建立链表、树、图、DP、二分、贪心的题型映射。
  • 提升复杂度敏感度和面试白板表达。

每日安排

Day 11-13 执行清单
  • 输入
  • 输出
    • 每天至少整理 10 题的题型归类,不只记录 AC。
    • 对每类题写出“识别信号 -> 常用模板 -> 易错点”。
  • 自测
    • 随机抽 3 题,先口述思路,再写代码。
  • 复盘
    • 记录自己是卡在题型识别、边界条件还是复杂度分析。
Day 14-15 执行清单
  • 输入
    • 主攻 DP、贪心、并查集、拓扑排序、最小生成树。
    • 同步复习 设计模式与编码,准备“模式在项目中的应用”。
  • 输出
    • 写一页“DP 状态设计 checklist”和“常见贪心证明思路”。
  • 自测
    • 1 次白板表达:先说暴力解,再说优化解,再说复杂度。
  • 复盘
    • 记录自己是否能在 3 分钟内讲清思路,而不是直接闷头写代码。

刷题规则

  • 目标总量:LeetCode / 牛客 300-400 题。
  • 每道错题至少复盘三件事:
    • 为什么第一反应错了。
    • 正解的状态转移 / 数据结构选择是什么。
    • 面试时如何在 3 分钟内讲清楚。

本阶段检查点

  • 是否已经形成自己的题型地图。
  • 是否每种高频题型都有一页模板化总结。
  • 是否能在白板场景下稳定表达边界条件和复杂度。

第四阶段:综合应用与模拟(Day 16-20)

目标

  • 把系统设计、项目表达、行为面全部串起来。
  • 用模拟面试检验知识覆盖和表达稳定性。
  • 形成“项目 + 系统设计 + 高频八股”的联动输出。

每日安排

Day 16-17 执行清单
  • 输入
  • 输出
    • 分别写出 秒杀 / 日志系统 / IM / 支付 / 短链 / 分布式事务 的回答骨架。
    • 每题至少补上需求澄清、容量估算、核心链路、trade-off、演进路线。
  • 自测
    • 任选 1 题做 30-45 分钟完整系统设计模拟。
  • 复盘
    • 记录自己是否会漏需求澄清、容量估算或扩展性设计。
Day 18-20 执行清单
  • 输入
  • 输出
    • 梳理 2-3 个项目,按 STAR 法则输出完整答案。
    • 2-3 次完整模拟:技术面 + 系统设计面 + 行为面。
  • 自测
    • 录音或录像一次完整模拟,重点检查是否“先结论后展开”。
  • 复盘
    • 把所有追问卡点整理进错题本和项目追问本。

本阶段重点

  • 把“会”变成“能稳定表达”。
  • 模拟时不要只练标准答案,要练追问下的展开能力。
  • 任何系统设计题,都要练熟需求澄清、容量估算、核心链路、trade-off、演进路线。

本阶段检查点

  • 至少完成 2 次完整模拟,且每次都有书面复盘。
  • 至少有 2 个主项目达到“1 分钟版 + 3 分钟版 + 追问版”。
  • 至少有 3 道系统设计题能完整口述。

三、每日执行模板

时间分配

标准日程模板
  • 上午
    • 理论复习与知识梳理 1-2 小时。
  • 下午
    • 代码验证、源码阅读、刷题 2-3 小时。
  • 晚上
    • 复盘总结、知识卡片整理、错题回顾 1 小时。
时间不足时的缩减版
  • 只有 2 小时时:
    • 40 分钟复习 + 40 分钟输出 + 40 分钟复盘。
  • 只有 1 小时时:
    • 只做“抽题口述 + 记录卡点”,不要再开新模块。

每日闭环

  1. 先确定当天主题,不要混学太多模块。
  2. 读完专题后立刻输出 5-10 个问题的口述答案。
  3. 对关键知识点做卡片化整理。
  4. 当天至少做一次“无稿回答”。
  5. 睡前复盘今天最容易被追问卡住的 3 个点。
每日记录模板
  • 今天主模块:
  • 今天完成的输入:
  • 今天的输出物:
  • 今天卡住的 3 个问题:
  • 明天优先补哪一块:

常见失分点

  • 一天看了很多文章,但没有口述和输出。
  • 每天都在补新内容,没有回看旧错题。
  • 总是混学多个主题,导致回答链路始终不成型。

四、工具与追踪方法

工具建议

  • 知识管理:Anki、Notion
  • 开发调试:IntelliJ IDEA
  • JVM 分析:jvisualvm、MAT、Arthas
  • 刷题平台:LeetCode、牛客网
  • 面经来源:牛客、脉脉、团队公开技术博客
工具使用原则
  • 工具只服务于“定位问题”和“固化认知”,不要陷入堆工具。
  • 知识管理工具里至少分三类卡片:高频题、项目追问、错题复盘。

进度追踪

  • 每天自测 10 道题,正确率 >80% 再进入下一模块。
  • 记录错题本,按“概念错 / 表达错 / 推导错 / 忘记场景”分类。
  • 5 天休息半天,避免后期疲劳导致效率塌陷。
阶段复盘模板
  • 5 天我最稳的模块是什么?
  • 我最薄弱的是知识、表达,还是项目结合?
  • 3 个问题反复卡住?
  • 下一阶段要保留什么、砍掉什么?

五、模拟面试打法

模拟形式

  • 技术快问快答
    • 20-30 分钟,检查基础覆盖面。
  • 系统设计深挖
    • 30-45 分钟,检验结构化能力。
  • 项目和行为面
    • 20-30 分钟,检验项目表达与成长性。
模拟顺序建议
  • 先做技术快问快答热身。
  • 再做系统设计或项目深挖。
  • 最后做行为面,检查表达稳定性和成熟度。

模拟后必须复盘

  • 哪些题我只会结论,不会讲原理?
  • 哪些题我会原理,但不会结合项目?
  • 哪些题我会答,但结构混乱、结论不先行?
  • 哪些追问把我打回了“背八股”状态?
高频场景题模板
  1. 让你设计一个秒杀系统,你会怎么答?
  • 30秒答法:先澄清业务规则和流量规模,再讲限流、库存扣减、削峰、幂等、监控与回滚,最后补一致性和高可用权衡。
  • 关键词:需求澄清、削峰、库存、幂等、回滚、trade-off
  • 追问提醒:超卖怎么防;Redis 和 DB 如何一致;热点流量怎么压
  • 回答框架:先讲约束和目标,再讲主链路设计,最后讲风险点、降级和演进。
  • 核心关注点:需求澄清是否到位;库存与下单链路是否闭环;稳定性策略是否完整
  1. 让你讲一次线上故障处理经历,你会怎么答?
  • 30秒答法:按“影响面 -> 止血 -> 定位 -> 根因 -> 修复 -> 复盘”讲,重点突出你的判断动作和机制改进,而不是只讲事故细节。
  • 关键词:影响面、止血、根因、修复、机制改进
  • 追问提醒:如果不能回滚怎么办;如何界定责任;后续怎么防再发
  • 回答框架:先讲故障级别和影响面,再讲止血动作与定位链路,最后讲复盘和机制建设。
  • 核心关注点:是否体现优先级判断;是否有根因和长期治理;是否只讲现象不讲动作
  1. 让你讲一个最有代表性的项目,你会怎么答?
  • 30秒答法:用 STAR 先说背景和目标,再说你的职责与关键动作,最后给结果和复盘,准备好架构图和 3 个追问点。
  • 关键词:STAR、职责、关键动作、量化结果、复盘
  • 追问提醒:为什么是你主导;最大的取舍是什么;如果重做如何优化
  • 回答框架:先用 1 分钟版本交代背景、目标和职责,再按“分析 -> 方案 -> 落地 -> 结果 -> 复盘”展开。
  • 核心关注点:个人贡献是否清晰;是否有量化结果;是否准备了追问分支

六、投递与面试节奏

投递建议

  • 从 Day 10 开始投递,不要等全部准备完再投。
  • 第一批面试的价值主要是校准题型和暴露盲区。
  • 每轮面试后,马上把新追问补进资料体系。
投递执行法
  • Day 10-12
    • 小批量投递,用来校准题型。
  • Day 13-17
    • 根据前几轮反馈,集中投递目标公司。
  • Day 18-20
    • 控制节奏,不再盲目海投,重点保障核心场次状态。

面试节奏建议

  • 一周内尽量集中安排同级别公司,方便比较和复盘。
  • 核心面试周前 2-3 天,不再大面积扩新知识,只做回顾与口述。
  • 行为面和项目表达至少单独练一次,不要只练技术题。

常见失分点

  • 前期不投,导致第一次正式面试就是高价值目标公司。
  • 一场面试结束后不复盘,错过最有价值的真实反馈。
  • 核心面试前一天还在疯狂补新知识,导致状态紊乱。

七、冲刺清单

技术准备

  • Java 并发、集合、JVM、Spring、MySQL、Redis、MQ 都有可口述答案
  • 至少准备 3 道完整系统设计题
  • 至少准备 2 套故障排查案例
  • 至少准备 1 套分布式事务选型案例

项目准备

  • 准备 2-3 个深度项目
  • 每个项目能画出架构图和关键时序
  • 每个项目都有量化结果
  • 每个项目都准备好“为什么这么选”和“如果重做怎么改”

行为面准备

  • 为什么离职
  • 最大挑战
  • 最大失误与复盘
  • 跨团队协作冲突
  • 未来 3-5 年规划
最终自检
  • 至少做过 2 次完整模拟并完成复盘。
  • 至少录音听过一次自己的项目表达。
  • 至少把最近 3 次面试新增追问补进资料体系。

八、与其他专题的关系

推荐跳转

On this page