面向准备 Java 后端方向校招(实习 / 提前批 / 秋招)的同学,整理一份 能在 3–6 个月内执行完 的最小可行清单。

本文不是 “Java 八股文目录”,而是 从复盘视角整理的执行计划:哪些一定要做,哪些不必做,做到什么程度算够。

写在最前

很多同学准备校招的痛苦不在 “没东西学”,而在:

  • 八股、项目、算法、行为面试 同时压过来
  • 看到大家都在刷剑指 Offer、看 JVM 视频,不知道自己缺哪一块
  • 实际面试时被一个 没准备过的问题 卡住,怀疑前面学的全部白费

如果你只有 3–6 个月时间,建议把准备拆成 5 个核心模块 + 1 个心态模块,不要追求面面俱到。

一、基础知识:覆盖面 vs 深度

1.1 必须掌握的基础

下面这些是 Java 后端方向 几乎一定会被问 的:

模块必须掌握可选深入
Java 基础集合、泛型、异常、IO、反射、注解字节码、Unsafe、ClassLoader
JVM内存区域、GC 算法、垃圾收集器、类加载JIT、逃逸分析、ZGC / Shenandoah
并发synchronized、Lock、AQS、volatile、线程池CAS 内存语义、JMM happens-before
SpringIoC、AOP、Bean 生命周期、事务、@TransactionalSpring Boot 自动配置、starter 原理
MySQL索引、事务、隔离级别、慢查询、explainInnoDB MVCC、redo / undo / binlog
Redis数据结构、过期策略、持久化、热 key / 大 key集群分片、主从复制、cluster slot
计算机基础TCP / HTTP、操作系统进程线程、IO 模型epoll、零拷贝、NUMA

判断标准:能用 自己的话 解释 “为什么是这样设计的”,并能举出一个工程上的对应场景。

1.2 不要追求 100%

覆盖面 > 深度,但每个模块都要 能讲出 1 个小细节

很多人陷入 “一定要把 JVM 学到字节码层面” 的误区。事实上:

  • 一面 / 二面通常考 覆盖面:每个方向都问几道
  • 三面 / 主管面才会偶尔问 深度:通常只挑你简历上写的那个方向深挖

策略:所有模块都过一遍,1–2 个模块深挖到能讲半小时,作为加分项。

1.3 推荐资源

只列 “投入产出比最高” 的:

  • JVM:周志明《深入理解 Java 虚拟机》(前 4 章 + 第 7–11 章足够)
  • 并发:Brian Goetz《Java 并发编程实战》(前 8 章 + 11、13 章)
  • MySQL:极客时间《MySQL 实战 45 讲》
  • Redis:官方文档 + 《Redis 设计与实现》
  • Spring:官方文档 IoC / AOP / Tx 三章 + 一个真实项目走 debug

不推荐:单靠看八股博客。八股能让你 “看起来会”,但面试官追问 1 层就会露馅。

二、项目:1 个能讲清楚的项目 > 3 个堆 README 的项目

2.1 项目最小要求

校招简历上的项目,应该满足以下 最低标准

  • 能复现:你自己能从空目录起一遍,跑通主流程
  • 能讲清楚:从需求 → 模块拆分 → 关键设计 → 你的取舍 → 上线后效果
  • 有 1 个亮点:性能优化、设计取舍、踩坑记录、一段非平凡代码
  • 代码可读:模块划分清晰,没有一坨 5000 行的 controller

2.2 项目讲解的固定结构

不管你做了什么项目,都建议按这个结构准备一份 2 分钟、5 分钟、15 分钟 三个版本的讲解:

1. 项目背景:解决什么问题,对谁有用
2. 技术选型:为什么用 A 不用 B(必须能说出 2–3 条理由)
3. 核心模块:哪些模块,模块之间怎么协作
4. 我的工作:你具体做了什么(不要说 “我们一起做了”)
5. 关键难点:遇到了什么真实问题,怎么解决的
6. 反思:现在重做,会怎么改

关键:第 5、6 点最容易拿分。能 承认局限并提出改进,比 “项目完美无瑕” 可信得多。

2.3 没有项目怎么办

如果完全没有可用的项目,可以快速做 一个 “小而完整” 的项目,例如:

  • Mini 短链服务:缓存、限流、统计、防刷的完整链路
  • 博客 / 文档系统:标签、搜索、权限、文件存储
  • 简易任务调度系统:定时任务、失败重试、可视化看板
  • 接入第三方 API 的小工具:天气、汇率、AI 问答

标准是:别人能从 README 启动它,并且你能讲出每一处技术决策。

三、算法:建立 “能写对” 的稳定能力

3.1 算法不是为了 “刷题数”

算法的目标不是 “刷过多少题”,而是:

  • 看到一道新题,能说出它属于什么模型
  • 能在 30 分钟内 写出第一版可运行代码
  • 自我调试,不依赖标准答案

3.2 推荐的训练计划

[第 1 周]   数组、字符串、链表、双指针    20 题
[第 2 周]   栈、队列、哈希、滑动窗口      20 题
[第 3 周]   二叉树(DFS / BFS / 递归)   25 题
[第 4 周]   贪心 + 简单 DP                15 题
[第 5 周]   背包 / 区间 DP                15 题
[第 6 周]   图论入门(最短路、并查集)     10 题
[第 7 周]   字符串 / 二分 / 前缀和         15 题
[第 8 周+]  随机刷 + 模拟面试              ∞

具体题目可以从 LeetCode Hot 100、剑指 Offer、Codeforces div2 ABC 中挑。

3.3 训练原则

  • 每道题写 3 遍:第一遍看答案理解 → 第二遍闭卷写 → 第三遍 1 周后回写
  • 刷错题本:把 “想不到 / 写错” 的题集中起来反复看
  • 写注释:在自己代码里写 “为什么这样写”,逼自己想清楚

如果你有时间,强烈建议在 背包问题算法笔记 这一类 “经典模型” 上多花点时间——背包是 DP 学习里最 可迁移 的模块之一。

四、行为面:把 “你是谁” 讲清楚

4.1 行为面常见问题

类别典型问题
自我认知自我介绍、最大优点 / 缺点、为什么选我们
项目相关项目难点、最有成就感的事、踩过的坑
团队协作和组员意见不合时怎么办、如何推动一件事
失败经验一次失败的经历、最近一次主动学习新东西
职业规划3 年后想做什么、岗位偏好

4.2 STAR 结构

回答行为题的标准结构:

Situation  当时的背景
Task       你需要做什么
Action     你具体做了什么
Result     结果是什么,反思是什么

每一个点用 1–2 个真实案例 支撑,不要全是 “我会”、“我能”。

4.3 自我介绍准备 3 个版本

  • 30 秒版:姓名 + 学校 + 1 个标签 + 1 个项目
  • 1 分钟版:上面 + 项目角色 + 技能栈
  • 2 分钟版:上面 + 关键经历 + 想做什么方向

每次面试前 现场口播 1 遍,比心里想一遍稳得多。

五、面试节奏:从 “投递” 到 “拿 offer”

5.1 时间分配建议

3–6 个月前:基础知识 50% + 项目 30% + 算法 20%
1–3 个月前:算法 40% + 项目复盘 30% + 八股回顾 20% + 行为面 10%
1 周内:模拟面试 + 项目讲解 + 行为题口播

5.2 模拟面试

强烈建议 在投正式简历之前,找同学或学长姐做 3–5 次模拟面试

  • 每次 60 分钟,覆盖 “自我介绍 → 项目 → 八股 → 算法”
  • 录音 / 录屏,事后回放
  • 让对方 写一份反馈,包括 “最容易扣分的 3 个地方”

模拟面试是少数 成本极低、收益极高 的准备方式,不要跳过。

5.3 投递策略

  • 第一波:投感兴趣但不重要的公司,练手
  • 第二波:投感兴趣且重要的公司,打磨
  • 第三波:投目标公司,冲击

不要一开始就把 “最想去” 的公司全投了,第一面经常会失常。

六、心态:长期能跑赢的真正原因

6.1 接受 “别人比你快”

校招最难的不是知识,而是 看到别人提前拿 offer 时的焦虑。 请记住:

  • 春招、秋招、补招 总共有 3 轮,没必要赌一次
  • 实习转正、社招通道 依然敞开
  • 多一年实习 通常比 多投 50 家公司 更有用

6.2 不要被 “大佬经验贴” 绑架

每年都有大佬发 “3 个月从 0 到大厂” 的经验贴。请理性看待:

  • 信息密度高,适合参考方向,不适合直接照搬
  • 大佬的起点 / 投入 / 运气 你不一定有
  • 你需要的是 适合自己的最小可行清单,不是 “最优方案”

6.3 健康的工作节奏

  • 每天写 8 小时代码 + 学习 比 “14 小时崩溃式投入” 更可持续
  • 每周休 1 天 不是浪费,是恢复
  • 睡眠 是性价比最高的投资

总结:最小可行清单

如果上面太多记不住,记住这一段:

[ ] 基础知识覆盖:JVM / 并发 / Spring / MySQL / Redis 各过一遍
[ ] 1 个能讲清楚的项目:背景 / 选型 / 难点 / 反思 4 段式
[ ] 算法日常训练:每天 1–2 题,重点掌握 DP / 树 / 图
[ ] 自我介绍 3 个版本:30 秒 / 1 分钟 / 2 分钟
[ ] 模拟面试至少 3 次:录音 + 反馈
[ ] 投递分三波:练手 → 打磨 → 冲击
[ ] 心态长期化:别赌一次,别照抄大佬

完成这个清单的同学,通常都能拿到一份不错的 offer

如果你正在准备校招,欢迎把这篇文章存下来,每周对一次进度。

相关阅读