本计划围绕你的简历核心技能(Java 基础 / 并发、MySQL/Redis、Spring 全家桶、分布式中间件)和两个核心项目展开,循序渐进从基础到项目深挖,再到模拟面试,每天明确学习目标、高频面试题、实操复盘和博客产出方向,确保面试时能结合项目对答如流,且博客内容能体现你的技术思考和项目实战能力。

计划适配岗位:Java 后端开发(校招 / 实习),核心要求贴合你的简历技能栈,每天学习时长建议6-8 小时(可根据自身基础微调),实操部分需结合你的 GitHub 项目代码(智行天下、大学科研管理系统)复现核心逻辑。

核心准备原则

  1. 所有知识点都要结合项目讲:面试中面试官不会只问纯知识点,必会追问 “项目中怎么用的”,因此每个技术点都要对应简历中的项目场景;
  2. 深挖项目细节:明确项目中 “你做了什么、用了什么技术、解决了什么问题、为什么这么选型、有没有优化空间” 五大核心问题;
  3. 博客产出同步沉淀:每天的博客既是学习复盘,也是面试时的 “个人技术成果”,可向面试官提及,增加加分项。

第一天:Java 基础 + 并发编程(简历核心基础,项目高频用到)

学习目标

  1. 熟练掌握简历中提及的 Java 容器底层原理,能口述核心实现;
  2. 吃透 Java 并发编程的锁机制、线程池原理,结合项目讲清实际应用;
  3. 能回答基础高频题,无知识点盲区。

核心学习内容

模块 1:Java 核心容器(HashMap/ArrayList/LinkedList)

  • 重点:HashMap(JDK8)底层(数组 + 链表 + 红黑树、哈希冲突解决、扩容机制、为什么线程不安全);
  • 对比:ArrayList 与 LinkedList 底层差异、使用场景(项目中哪里用了?比如存储攻略信息 / 用户信息);
  • 拓展:HashSet/LinkedHashSet/TreeSet 底层,HashMap 与 Hashtable/ConcurrentHashMap 区别。

模块 2:Java 并发编程

  • 锁机制:乐观锁 / 悲观锁、公平锁 / 非公平锁、可重入锁、自旋锁,重点结合项目(智行天下中 Redis + 乐观锁实现防超卖、科研管理系统中数据库锁的使用);
  • 线程池:核心参数(corePoolSize/maximumPoolSize 等)、工作原理、拒绝策略,重点结合项目(科研管理系统中自定义 ThreadPoolTaskExecutor 同步人员信息的参数设计、为什么这么设计);
  • 其他:Volatile 关键字、CAS 原理、ThreadLocal(科研管理系统中存储用户信息的使用场景和底层,解决了什么问题)。

面试高频题准备(必须能口述回答,结合项目)

  1. HashMap JDK8 做了哪些优化?项目中哪里用到了 HashMap,为什么不用其他容器?
  2. 乐观锁和悲观锁的区别?你在智行天下的秒杀功能中是怎么用乐观锁的,为什么选乐观锁而非悲观锁?
  3. 说说你对线程池核心参数的理解?科研管理系统中你自定义线程池的参数是怎么设置的,依据是什么?
  4. ThreadLocal 的底层原理?你在项目中用 ThreadLocal 存储用户信息,有没有考虑过内存泄漏问题,怎么解决的?
  5. ConcurrentHashMap 的底层实现(JDK8),为什么能保证线程安全?

实操复盘

  1. 打开 IDEA,手写 HashMap 核心实现片段(哈希计算、扩容)、自定义线程池代码(复现科研管理系统中的配置);
  2. 查看你的 GitHub 项目代码,找到ThreadLocal 存储用户信息、自定义线程池同步数据的代码,复现运行并梳理逻辑。

博客产出

博客主题:Java 核心容器底层原理与并发编程在项目中的实战应用

核心内容框架

  1. 前言:校招 Java 后端必备的基础 + 并发知识点,结合自身项目实战梳理;
  2. 一、Java 常见容器底层解析(HashMap/JDK8、ArrayList&LinkedList 对比);
  3. 二、Java 并发核心知识点(锁机制分类、线程池工作原理);
  4. 三、项目实战:并发编程在我的两个项目中的落地(乐观锁实现秒杀防超卖、自定义线程池同步人员信息、ThreadLocal 存储用户信息);
  5. 四、常见面试题总结(附自己的理解和项目作答思路);
  6. 结尾:基础学习的心得体会。

第二天:MySQL+Redis(项目核心存储,高并发场景重点)

学习目标

  1. 吃透 MySQL 事务、锁、索引、SQL 优化,结合项目讲清优化思路;
  2. 熟练掌握 Redis 基础数据结构、持久化、缓存问题解决,能完整口述智行天下中 Redis 的所有应用场景和实现细节
  3. 掌握 Redis Lua 脚本、Set/ZSet 的使用,对应秒杀和点赞功能。

核心学习内容

模块 1:MySQL 核心(简历提及:事务、锁、索引、SQL 优化)

  • 索引:聚簇索引 / 非聚簇索引、索引失效场景、联合索引最左匹配原则,项目中哪里建了索引,为什么(比如景点信息、用户信息表的索引设计);
  • 事务:ACID 特性、事务隔离级别(脏读 / 不可重复读 / 幻读)、MySQL 默认隔离级别及原因;
  • 锁:行锁 / 表锁、间隙锁,项目中是否用到行锁,解决了什么问题;
  • SQL 优化:慢查询优化、EXPLAIN 关键字使用、分页查询优化,项目中有没有遇到慢查询,怎么优化的

模块 2:Redis 核心(简历中项目高频使用,校招重点)

  • 基础数据结构:String/Hash/List/Set/ZSet,每个结构对应项目中的一个场景(比如 String 存门票库存、Set 存点赞用户 ID、ZSet 存点赞数量);
  • 持久化机制:RDB/AOF,区别和使用场景,项目中 Redis 用了哪种持久化,为什么;
  • 缓存三大问题:穿透 / 雪崩 / 击穿,完整梳理智行天下中你的解决方法(比如缓存穿透用布隆过滤器 / 空值缓存、雪崩用过期时间随机 + Redis 集群、击穿用互斥锁 / 逻辑过期);
  • 高级用法:Lua 脚本(智行天下中判断下单资格,为什么用 Lua 脚本?原子性)、Redis 分布式锁(结合秒杀场景)、Redis 与 MySQL 双写一致性(项目中怎么保证的)。

面试高频题准备(必须结合项目作答)

  1. 说说 MySQL 索引失效的常见场景?你在项目中是怎么设计索引的,有没有遇到索引失效,怎么解决的?
  2. MySQL 的事务隔离级别有哪些?解决了什么问题,默认的是哪一个?
  3. Redis 的 5 种基础数据结构,你在项目中分别用在了哪些场景?
  4. 缓存穿透、雪崩、击穿的区别?你在智行天下中是怎么解决这三个问题的,具体实现步骤是什么?
  5. 为什么秒杀场景中要用 Lua 脚本?Redis 执行 Lua 脚本的特性是什么?
  6. 怎么保证 Redis 和 MySQL 的双写一致性?你在项目中是怎么做的?
  7. Redis 的 Set 和 ZSet 怎么实现点赞和点赞数排序的,项目中怎么定时同步到数据库的?

实操复盘

  1. 手写 MySQL 慢查询优化 SQL(结合项目中的景点 / 用户表)、用 EXPLAIN 分析执行计划;
  2. 打开智行天下项目代码,复现Redis 缓存景点信息、Lua 脚本实现下单判断、Set/ZSet 实现点赞的核心代码,手动运行并梳理逻辑;
  3. 手写 Redis 解决缓存三大问题的核心代码(比如布隆过滤器实现、过期时间随机设置)。

博客产出

博客主题:MySQL 优化实战 + Redis 在高并发旅游平台的全场景落地(附源码)

核心内容框架

  1. 前言:数据存储是后端开发的核心,结合自身智行天下(高并发)、科研管理系统(数据统计)梳理 MySQL+Redis 的实战应用;
  2. 一、MySQL 核心知识点与项目优化(索引设计、事务隔离、慢查询优化);
  3. 二、Redis 基础数据结构与项目场景映射(String/Set/ZSet 等在秒杀、点赞、缓存中的使用);
  4. 三、高并发场景下 Redis 缓存问题的解决(穿透 / 雪崩 / 击穿的实现方案 + 项目源码);
  5. 四、Redis 高级用法:Lua 脚本实现秒杀原子性、Redis 与 MySQL 双写一致性保障;
  6. 五、MySQL+Redis 的技术选型思考(项目中为什么选这两个组合,有没有其他替代方案);
  7. 结尾:高并发场景下数据存储的心得体会。

第三天:Spring 全家桶(Spring/SpringBoot/SpringSecurity)

学习目标

  1. 掌握 Spring 核心原理,能口述 IOC/AOP 的实现和项目应用;
  2. 吃透 SpringBoot 自动配置原理,了解核心注解的使用;
  3. 完整梳理 SpringSecurity 实现 RBAC 动态权限的全过程(科研管理系统核心亮点),能口述代码设计和实现步骤。

核心学习内容

模块 1:Spring 核心(简历提及:核心原理研究)

  • IOC 容器:底层原理(Bean 的生命周期、依赖注入方式、Bean 的作用域),项目中哪里用到了 IOC/AOP(比如 AOP 做日志 / 权限校验);
  • AOP:底层原理(动态代理:JDK 动态代理 / CGLIB 动态代理)、核心术语(切点 / 切面 / 通知)、项目中的应用场景。

模块 2:SpringBoot 核心

  • 自动配置原理:@SpringBootApplication 注解拆解(@SpringBootConfiguration/@EnableAutoConfiguration/@ComponentScan)、自动配置的实现流程(SPI 机制);
  • 核心注解:@RestController/@Service/@Repository/@Autowired/@Resource 的区别、@ConfigurationProperties 的使用;
  • 项目配置:yml 配置文件、多环境配置(开发 / 测试 / 生产),项目中怎么配置的。

模块 3:SpringSecurity(科研管理系统核心,简历重点)

  • 核心流程:认证 + 授权的执行过程;
  • RBAC 模型:基于角色的权限控制,你设计的 5 张核心表(用户 / 角色 / 权限 / 用户 - 角色 / 角色 - 权限)的表结构和关联关系,为什么这么设计;
  • 动态权限实现:结合项目代码梳理(从数据库查询权限、自定义权限校验器、SpringSecurity 的配置),如何实现权限校验效率提升 40%;
  • 单一登录机制:结合项目(UUID+JWT+Redis 实现防多端登录,JWT 的生成 / 解析、Redis 存储登录状态、动态更新凭证的逻辑)。

面试高频题准备(结合项目,突出自己的设计思路)

  1. Spring 的 IOC 和 AOP 是什么?底层原理是什么?你在项目中哪里用到了 AOP/IOC,解决了什么问题?
  2. SpringBoot 的自动配置原理是什么?@SpringBootApplication 注解包含哪些内容?
  3. @Autowired 和 @Resource 的区别是什么?你在项目中用的是哪一个,为什么?
  4. 说说你对 RBAC 模型的理解?你在科研管理系统中是怎么基于 RBAC 设计数据库表的,为什么设计 5 张核心表?
  5. 你是怎么用 SpringSecurity 实现动态权限管理的?具体步骤是什么,怎么做到权限校验效率提升 40% 的?
  6. 科研管理系统中你是怎么实现单一用户登录的?UUID+JWT+Redis 的结合逻辑是什么,怎么防止多端同时登录?
  7. JWT 的优缺点是什么?项目中用 JWT 做身份认证,怎么解决 JWT 无法主动过期的问题?

实操复盘

  1. 手写 Spring AOP 实现日志切面的代码(复现项目中的 AOP 使用);
  2. 打开科研管理系统项目代码,复现RBAC 数据库表设计、SpringSecurity 动态权限配置、JWT+Redis 单一登录的核心代码,梳理表关联关系和配置流程;
  3. 手写 SpringBoot 自动配置的核心注解拆解,理解 SPI 机制的实现。

博客产出

博客主题:Spring 全家桶核心原理 + SpringSecurity 实现 RBAC 动态权限实战(附项目表设计)

核心内容框架

  1. 前言:Spring 全家桶是 Java 后端的主流框架,结合自身两个项目梳理核心原理和实战落地;
  2. 一、Spring 核心:IOC/AOP 底层原理与项目应用;
  3. 二、SpringBoot 核心:自动配置原理与核心注解使用;
  4. 三、RBAC 权限模型详解:5 张核心表的设计思路与关联关系(科研管理系统实战);
  5. 四、SpringSecurity 实现动态权限管理的全过程(配置步骤 + 源码 + 效率优化方案);
  6. 五、项目实战:UUID+JWT+Redis 实现单一用户登录(防多端登录的核心逻辑);
  7. 六、SpringSecurity 的优化思考(项目中还能怎么优化权限校验);
  8. 结尾:框架学习的心得体会 —— 从原理到项目落地。

第四天:微服务 + 分布式中间件(SpringCloud/RabbitMQ/XXL-Job)

学习目标

  1. 掌握简历中提及的 SpringCloud 组件(Nacos/Gateway/XXL-Job)的使用场景和项目落地;
  2. 吃透 RabbitMQ 核心知识点,能完整口述智行天下中 RabbitMQ 的应用(秒杀异步下单、点赞同步数据库);
  3. 掌握限流算法(令牌桶),结合项目讲清秒杀场景的限流实现。

核心学习内容

模块 1:SpringCloud 核心组件(简历提及:Nacos/Gateway/XXL-Job)

  • Nacos:服务注册与发现、配置中心,科研管理系统中怎么用的,解决了什么问题;
  • Gateway:网关的核心功能(路由转发、限流、跨域),项目中是否用到,怎么配置的;
  • XXL-Job:分布式任务调度,科研管理系统中定时更新人员数据的实现(任务配置、执行逻辑、调度中心使用)。

模块 2:RabbitMQ(智行天下核心,高并发秒杀重点)

  • 核心知识点:AMQP 协议、交换机 / 队列 / 绑定的关系、常见交换机类型(Direct/Topic/Fanout/Headers);
  • 消息可靠性:生产者确认、消费者确认、消息持久化、死信队列,项目中怎么保证消息不丢失(秒杀场景中异步下单的消息可靠性);
  • 项目应用:智行天下中两个核心场景(秒杀同步下单转异步下单、点赞数据 MQ 异步写入数据库),为什么用 RabbitMQ,技术选型思考。

模块 3:分布式限流与定时任务

  • 限流算法:令牌桶 / 漏桶 / 计数器,智行天下中令牌桶算法的实现(秒杀场景的限流,为什么选令牌桶);
  • SpringTask:定时任务的使用,智行天下中定时移除点赞数最少的内容的实现,与 XXL-Job 的区别和使用场景。

面试高频题准备(结合项目,讲清实现和选型)

  1. 你用过哪些 SpringCloud 组件?Nacos 的作用是什么,服务注册与发现的底层原理是什么?
  2. XXL-Job 是什么?你在科研管理系统中用 XXL-Job 做了什么,怎么配置和执行的?
  3. RabbitMQ 的核心组件有哪些?常见的交换机类型有哪些,你在项目中用的是哪一种,为什么?
  4. 怎么保证 RabbitMQ 的消息可靠性,防止消息丢失?你在项目中是怎么做的?
  5. 智行天下中为什么要把秒杀的同步下单改为异步下单?用 RabbitMQ 的好处是什么?
  6. 常见的限流算法有哪些?你在秒杀场景中用的令牌桶算法,具体是怎么实现的?
  7. SpringTask 和 XXL-Job 的区别是什么?项目中为什么有的地方用 SpringTask,有的地方用 XXL-Job?

实操复盘

  1. 打开智行天下项目代码,复现RabbitMQ 实现秒杀异步下单、令牌桶算法限流、SpringTask 定时任务的核心代码,梳理消息发送和消费的逻辑;
  2. 打开科研管理系统项目代码,复现XXL-Job 定时更新人员数据的配置和执行代码;
  3. 手写 RabbitMQ 消息持久化、生产者 / 消费者确认的核心代码,理解消息可靠性保障。

博客产出

博客主题:分布式中间件整合实战 ——RabbitMQ+XXL-Job + 限流算法在项目中的落地

核心内容框架

  1. 前言:高并发和分布式场景下,中间件是提升系统性能的关键,结合自身两个项目梳理 RabbitMQ/SpringCloud/ 限流的实战应用;
  2. 一、SpringCloud 组件实战:Nacos/XXL-Job 在科研管理系统中的使用;
  3. 二、RabbitMQ 核心知识点:组件 / 交换机 / 消息可靠性保障;
  4. 三、智行天下实战:RabbitMQ 实现秒杀异步下单(同步转异步的设计思路 + 源码);
  5. 四、智行天下实战:RabbitMQ+SpringTask 实现点赞数据异步同步(定时 + 异步的结合);
  6. 五、高并发限流:令牌桶算法的实现与秒杀场景的落地;
  7. 六、中间件技术选型思考(为什么选 RabbitMQ 而非 Kafka/RocketMQ,XXL-Job 而非 Quartz);
  8. 结尾:分布式中间件学习的心得体会 —— 性能与可靠性的平衡。

第五天:项目深挖 —— 智行天下(核心项目,校招面试重点)

学习目标

  1. 能完整口述智行天下的项目全貌:项目背景、核心功能、技术栈选型、你的核心职责;
  2. 对简历中提及的 5 个项目职责,能逐点讲清实现步骤、技术细节、问题解决、优化思路
  3. 掌握项目的整体架构设计,能画架构图,讲清各模块之间的交互逻辑;
  4. 思考项目的优化空间,面试时能主动提及,体现思考能力。

核心学习内容

  1. 项目整体梳理
    • 项目背景:专为大学生打造的智能旅游服务平台,解决大学生旅游规划难、组队难、攻略分散的问题;
    • 核心功能:AI 线路规划、攻略分享 / 点赞、景点点评、门票优惠券秒杀;
    • 技术栈选型:为什么选 SpringBoot+MyBatis-Plus?为什么用 LangChain4j 对接阿里云百炼大模型?Redis/RabbitMQ 的选型原因;
    • 架构设计:前后端分离,后端分层(Controller/Service/Mapper),缓存层(Redis)、消息队列层(RabbitMQ)、AI 层(LangChain4j + 大模型)的交互逻辑。
  2. 5 个项目职责逐点深挖
    • 职责 1:Redis 缓存景点 / 攻略信息,解决缓存三大问题 ——复现代码,讲清解决方法的实现步骤,提升的性能指标(比如数据库查询压力降低多少)
    • 职责 2:对接阿里云百炼大模型,LangChain4j+Prompt+RAG 实现 AI 路线规划 ——讲清 RAG 向量库的作用、Prompt 的设计思路、大模型的调用流程,项目中怎么处理大模型调用的延迟问题
    • 职责 3:Redis+Lua + 乐观锁实现秒杀防超卖、一人一单 ——讲清 Lua 脚本的逻辑、乐观锁的实现、一人一单的判断条件(Redis 中 Set 存储已下单用户 ID)
    • 职责 4:RabbitMQ 实现异步下单 + 令牌桶限流 ——讲清同步转异步的流程、令牌桶限流的实现、秒杀业务的性能提升指标
    • 职责 5:Redis Set/ZSet 实现点赞 + SpringTask 定时清理 + MQ 异步入库 ——讲清点赞的实现逻辑、定时清理的规则、异步入库的原因(提升接口响应速度)
  3. 项目问题与优化
    • 开发中遇到的最大问题是什么?怎么解决的(比如大模型调用延迟、秒杀超卖、缓存击穿);
    • 目前项目的优化空间是什么(比如引入 Redis 集群提升高可用、引入 Elasticsearch 实现攻略搜索、大模型调用增加缓存)。

面试高频题准备

  1. 请你介绍一下智行天下这个项目,你在其中负责了什么?
  2. 这个项目的技术栈是怎么选型的?为什么选 SpringBoot 而非 SSM?为什么用 LangChain4j 对接大模型?
  3. 你在项目中是怎么实现 AI 智能线路规划的?RAG 向量库的作用是什么,Prompt 是怎么设计的?
  4. 秒杀功能是项目的核心,你是怎么保证秒杀的高并发和数据一致性的?(Redis+Lua + 乐观锁 + RabbitMQ + 限流,逐点讲)
  5. 你在项目中用 Redis 解决了缓存三大问题,具体是怎么实现的?有没有实际的性能提升数据?
  6. 项目中为什么要把点赞数据异步写入数据库?定时移除点赞数最少的内容,是怎么设计定时规则的?
  7. 这个项目开发中你遇到的最大的问题是什么?怎么解决的?
  8. 你觉得这个项目还有哪些优化空间?如果让你继续开发,你会做哪些改进?

实操复盘

  1. 画智行天下的项目架构图(手绘 / 工具画),包含前端、后端分层、缓存、消息队列、大模型、数据库,讲清各模块交互;
  2. 打开 GitHub 项目代码,从头到尾走查核心业务流程(AI 规划、秒杀、点赞),复现运行,确保能讲清每一步的代码逻辑;
  3. 整理项目中的性能提升指标(比如缓存后数据库查询 QPS 降低多少、异步下单后秒杀接口响应时间提升多少),面试时用数据说话。

博客产出

博客主题:智行天下 —— 大学生智能旅游平台的高并发设计与 AI 落地实战(附 GitHub 源码)

核心内容框架

  1. 前言:项目背景与开发初衷(解决大学生旅游的痛点),项目整体介绍(核心功能、技术栈、开发成果);
  2. 一、项目架构设计:前后端分离架构 + 分布式中间件整合,架构图详解;
  3. 二、核心功能实战 1:AI 智能线路规划(阿里云百炼大模型 + LangChain4j+RAG 的落地);
  4. 三、核心功能实战 2:高并发门票秒杀(Redis+Lua + 乐观锁 + RabbitMQ + 令牌桶限流的全流程);
  5. 四、核心功能实战 3:攻略点赞与缓存设计(Redis Set/ZSet+SpringTask+MQ 异步入库);
  6. 五、项目难点与解决方法(大模型调用延迟、缓存问题、秒杀超卖等);
  7. 六、项目性能优化与后续规划(现有优化成果、未来的改进方向);
  8. 结尾:项目开发的心得体会 —— 从需求分析到技术落地。

第六天:项目深挖 —— 大学科研管理系统 + 综合技术拓展

学习目标

  1. 能完整口述大学科研管理系统的项目全貌,讲清核心功能、权限设计、工作流落地;
  2. 吃透 Activiti7 工作流的项目应用,能讲清 BPMN 设计器的使用、审核流程的实现;
  3. 梳理两个项目的技术亮点和个人贡献,形成面试时的统一作答思路;
  4. 补充简历中提及的其他技术(Docker/Linux/Vue3),应对面试官的拓展提问。

核心学习内容

模块 1:大学科研管理系统深挖

  1. 项目整体梳理:
    • 项目背景:解决大学科研成果录入、审核、统计的痛点,用户角色(校级管理员 / 院级管理员 / 教师);
    • 核心功能:科研成果(项目 / 论文 / 著作 / 专利)录入、多角色审核、数据统计、人员信息同步;
    • 技术栈选型:为什么选 SpringCloud 做微服务?为什么选 Activiti7 做工作流?
  2. 4 个项目职责逐点深挖
    • 职责 1:RBAC 模型 + SpringSecurity 实现动态权限,效率提升 40%——讲清权限校验的优化思路,比如缓存权限信息、减少数据库查询
    • 职责 2:Activiti7+BPMN 设计器实现审核工作流 ——讲清 BPMN 设计器绘制审核流程的步骤、各角色的审核节点、工作流与业务系统的整合逻辑,解决了硬编码的什么问题
    • 职责 3:UUID+JWT+Redis 实现单一登录 ——讲清完整的认证流程,动态更新凭证的逻辑,ThreadLocal 存储用户信息的细节
    • 职责 4:自定义线程池 + XXL-Job 实现人员数据同步 ——讲清数据同步的流程,定时任务的配置,大量数据处理的性能优化
  3. 项目亮点与问题:开发中遇到的问题(比如工作流与业务数据的关联、多角色审核的权限控制),怎么解决的;项目的实际价值(比如提升学校科研审核效率)。

模块 2:Activiti7 工作流核心

  • 核心组件:ProcessEngine/RepositoryService/RuntimeService/TaskService;
  • BPMN 设计器:绘制流程(开始节点 / 用户任务 / 网关 / 结束节点),项目中审核流程的设计(教师提交→院级审核→校级审核→通过 / 驳回);
  • 工作流与业务系统的整合:怎么将审核流程与科研成果表关联,怎么获取审核节点的用户信息。

模块 3:简历其他技术补充(Docker/Linux/Vue3)

  • Linux:项目部署的步骤(环境搭建、代码打包、运行、日志查看),常用命令(ls/cd/ps/top/tail);
  • Docker:基本概念(镜像 / 容器 / 仓库),项目是否用 Docker 部署,怎么制作镜像;
  • Vue3:前端基础,项目中是否用 Vue3 开发了单体页面,核心组件的使用(比如 Element Plus)。

面试高频题准备

  1. 请你介绍一下大学科研管理系统这个项目,核心解决了什么问题,你负责了什么?
  2. 这个项目分为三个用户角色,你是怎么实现不同角色的权限控制的?RBAC 模型的设计思路是什么?
  3. 你在项目中用 Activiti7 实现了审核工作流,具体是怎么实现的?BPMN 设计器是怎么使用的,审核流程是怎么设计的?
  4. 工作流与业务系统怎么整合的?怎么将审核流程和科研成果数据关联起来?
  5. 你是怎么实现人员信息的定时同步的?自定义线程池 + XXL-Job 的结合,解决了什么问题?
  6. 你有 Linux 服务器部署经验,说说你部署项目的具体步骤?常用的 Linux 命令有哪些?
  7. 你会 Vue3,在项目中用 Vue3 开发了什么功能?核心用了哪些组件?
  8. 对比你的两个项目,智行天下和科研管理系统的技术难点和侧重点有什么不同?你在两个项目中分别学到了什么?

实操复盘

  1. 画大学科研管理系统的权限与工作流架构图,讲清 RBAC 权限控制和 Activiti7 审核流程的交互逻辑;
  2. 打开 GitHub 项目代码,复现Activiti7 审核流程、XXL-Job 定时同步数据、动态权限配置的核心代码,确保能讲清每一步;
  3. 整理两个项目的技术亮点对比表,明确各自的核心亮点、使用的技术、解决的问题,面试时能快速区分作答。

博客产出

博客主题:大学科研管理系统 —— 基于微服务 + 工作流 + RBAC 的权限管理系统实战

核心内容框架

  1. 前言:项目背景(解决高校科研管理的痛点),项目整体介绍(用户角色、核心功能、技术栈);
  2. 一、项目架构设计:SpringCloud 微服务架构 + 工作流 + 权限管理的整合;
  3. 二、RBAC 权限模型实战:5 张核心表设计 + SpringSecurity 动态权限实现(含效率优化);
  4. 三、Activiti7 工作流落地:BPMN 设计器使用 + 多角色审核流程实现 + 与业务系统的整合;
  5. 四、核心功能实战:单一用户登录 + 人员数据定时同步(自定义线程池 + XXL-Job);
  6. 五、项目难点与解决方法(工作流与业务数据关联、多角色权限控制、大量数据处理);
  7. 六、项目部署:Linux 服务器部署步骤与常用命令;
  8. 七、两个项目的开发对比(智行天下 VS 科研管理系统,技术难点、侧重点、收获);
  9. 结尾:企业级管理系统开发的心得体会。

第七天:综合复盘 + 模拟面试 + HR 问题准备(临门一脚,确保对答如流)

学习目标

  1. 整体复盘一周所学知识点,形成知识体系框架,无盲区;
  2. 熟练掌握自我介绍,能结合两个项目突出个人技术亮点和贡献
  3. 完成模拟面试,查漏补缺,梳理面试作答的通用思路
  4. 准备 HR 常见问题,做到回答自然、贴合自身情况。

核心学习内容

模块 1:知识体系整体复盘

  1. 按 ** 基础(Java / 并发)→数据库(MySQL/Redis)→框架(Spring 全家桶)→中间件(RabbitMQ/SpringCloud/XXL-Job)→项目(两个核心项目)** 的顺序,梳理知识框架,用思维导图整理核心知识点;
  2. 重点回顾每个知识点与项目的结合点,确保面试时能 “知识点 + 项目实例” 作答,而非纯背理论;
  3. 查漏补缺:回顾前六天的面试高频题,标记不会的知识点,重新学习并口述回答。

模块 2:面试核心内容准备

  1. 自我介绍(1-2 分钟,校招黄金时长)
    • 模板:基本信息(姓名 / 学校 / 专业)→学习情况(主修课程 / 荣誉证书,校级奖学金 / 英语四级)→技术栈(核心 Java 后端技术,贴合简历)→项目经验(两个核心项目,讲清项目背景、核心功能、你的贡献和技术亮点)→求职意向(Java 后端开发,对岗位的期待和学习热情);
    • 要求:流畅口述,突出个人优势(项目实战经验、高并发 / 微服务 / AI 落地能力、独立开发能力),结合数据(比如权限校验效率提升 40%、解决缓存三大问题)。
  2. 项目亮点提炼
    • 智行天下:高并发秒杀的全流程实现、AI 大模型与旅游平台的结合、Redis 的多场景落地;
    • 科研管理系统:RBAC 动态权限设计、Activiti7 工作流落地、微服务 + 分布式任务调度的整合;
    • 要求:能快速说出每个项目的 3-5 个核心亮点,结合技术和解决的问题。
  3. 技术选型通用思路:面试中被问 “为什么选 XX 技术”,按业务场景 + 技术特性 + 性能 + 学习成本的思路作答(比如秒杀场景选 RabbitMQ,因为业务需要异步下单,RabbitMQ 消息可靠性高,且自身熟悉该技术)。
  4. 项目优化通用思路:面试中被问 “项目的优化空间”,从 ** 性能(高并发 / 缓存)、高可用(集群 / 容灾)、功能(用户体验)、技术(框架升级 / 中间件优化)** 四个角度作答。

模块 3:模拟面试(最重要环节)

  1. 模拟方式:自我模拟 / 找同学 / 老师模拟,按 ** 技术面(40-60 分钟)+HR 面(20 分钟)** 的流程;
  2. 技术面重点:Java 基础 / 并发、MySQL/Redis、Spring 全家桶、中间件、两个项目的深挖;
  3. 要求:模拟时尽量大声口述回答,模拟面试官的追问(比如 “讲清这个步骤的代码逻辑”“还有其他实现方法吗”),记录回答不流畅的地方,重新梳理。

模块 4:HR 常见问题准备

  1. 你为什么选择 Java 后端开发这个方向?
  2. 你在项目开发中遇到的最大的困难是什么?怎么解决的?
  3. 你和团队成员有过分歧吗?怎么解决的?(若无团队经验,可讲 “独立开发中遇到的问题,怎么通过查资料 / 问老师解决的”)
  4. 你的职业规划是什么?(校招回答:短期 1-2 年掌握企业级开发流程,提升技术深度;长期成为资深 Java 后端开发 / 架构师)
  5. 你为什么选择我们公司?(提前了解公司业务,结合自身技术栈匹配作答)
  6. 你的优缺点是什么?(优点:学习能力强、项目实战能力强、做事认真;缺点:开发经验不足,正在通过项目和学习弥补)
  7. 你期望的薪资是多少?(校招可按行业平均薪资作答,或说 “相信公司的薪资体系,结合自身能力给出合理薪资”)

实操复盘

  1. 整理一周学习的思维导图,包含所有核心知识点和项目亮点,反复翻看;
  2. 录制自我介绍的音频 / 视频,检查流畅度和时间,确保 1-2 分钟;
  3. 重新走查两个项目的 GitHub 代码,确保所有核心逻辑都能讲清,无代码盲区;
  4. 整理面试错题本,记录模拟面试中回答不流畅的问题,反复口述作答。

博客产出

博客主题:Java 后端校招面试一周冲刺复盘 —— 从基础到项目的全流程准备(附面试高频题合集)

核心内容框架

  1. 前言:校招 Java 后端面试的准备思路,自身一周冲刺的规划和收获;
  2. 一、面试准备核心原则(知识点结合项目、深挖项目细节、用数据说话);
  3. 二、核心知识点复盘(Java / 并发 / MySQL/Redis/Spring/ 中间件,附高频题合集);
  4. 三、项目实战复盘(两个核心项目的亮点、难点、优化思路);
  5. 四、面试作答技巧(自我介绍、技术选型、项目优化的通用思路);
  6. 五、模拟面试与查漏补缺(常见问题、回答不流畅的点、改进方法);
  7. 六、HR 面问题准备(通用回答思路,贴合校招场景);
  8. 结尾:校招面试的心得体会,对后续技术学习的规划。

面试加分项提醒

  1. 面试时主动提及自己的技术博客,可展示自己的技术沉淀和总结能力;
  2. 讲项目时用数据说话(比如缓存后数据库查询压力降低 60%、秒杀接口响应时间从 500ms 降到 100ms),提升可信度;
  3. 面试官追问时,不懂的问题不要装懂,可说 “这个知识点我目前掌握的还不够深入,回去会重点学习,不过我了解相关的 XX 知识点,结合项目做过 XX 实现”;
  4. 展示自己的学习能力,比如 “通过自学 LangChain4j 对接大模型,实现了 AI 线路规划功能”“通过查阅官方文档,掌握了 Activiti7 工作流的使用”。