做在Reggie项目之前:实习生完成大项目应该要事先知道此项目对于Java后端开发核心技术的比重,知道AI对于大项目的分析
前言
在完成项目前,应该提前分析该项目对于自己的作用,清晰它的定位,以及自己到底要掌握什么?特别需要有个大局观,从面试馆的角度出发思考问题,清晰此项目对于自己的面试有何作用。
一、这个项目的Java后端核心知识覆盖度
结论:覆盖了绝大多数Java后端实习/初级岗位的核心要求。
它实际涉及的关键技术点包括:
✅ 基础必备层
-
Spring Boot 项目搭建、配置(application.yml)
-
MVC架构(Controller/Service/Mapper分层)
-
MyBatis-Plus(BaseMapper、IService、分页插件、公共字段自动填充)
-
RESTful API设计(@GetMapping/@PostMapping/@PutMapping/@DeleteMapping)
✅ 数据库与缓存
-
MySQL 表设计、关联查询
-
事务处理(@Transactional,尤其在套餐/菜品的多表操作中)
-
Redis(PPT中提到了环境搭建,实际项目中通常用于验证码、购物车、菜单缓存)
✅ 业务通用能力
-
登录拦截(Filter + Session + ThreadLocal存储用户信息)
-
文件上传/下载(图片)
-
DTO/VO对象扩展(解决“多表联合返回”问题)
-
公共字段自动填充(MetaObjectHandler)
-
分页查询 + 条件查询
-
批量操作、状态管理(启售/停售、删除前置校验)
✅ 工程能力
-
Maven 依赖管理
-
项目结构分层(controller/service/mapper/dto/common)
-
全局异常处理(自定义业务异常)
-
工具类(ThreadLocal工具、验证码生成)
👉 缺失但常见的高阶点(对你目前实习影响不大):
-
JWT/Token(本项目用Session,可以自己补充理解)
-
消息队列(如RabbitMQ)
-
微服务、分布式
👉 结论:对于大三实习生来说,这个项目已经远超“增删改查练习”级别,能达到中等偏上的后端面试准备水平。
二、作为简历项目,分量是否足够?面试官会眼前一亮吗?
✅ 分量判断:足够,但不会仅靠名字“惊艳”
-
“瑞吉外卖”是一个知名度较高的培训/教材项目,面试官大概率见过。
-
不是“分布式/高并发/秒杀”类项目,不会被认为“大神级”,但会被认为“基本功扎实、有完整项目经验”。
✅ 能否让人眼前一亮?
取决于你如何写简历 + 如何介绍。
❌ 不推荐的写法:
“完成了瑞吉外卖系统的菜品、套餐、订单管理功能”
✅ 更推荐的写法:
“基于Spring Boot + MyBatis-Plus实现外卖后台系统,负责菜品/套餐/订单模块,通过自定义过滤器实现登录拦截,利用ThreadLocal + 元数据对象处理器解决公共字段自动填充问题,并实现批量启售/停售及删除前关联校验。”
关键点:不是“做了什么”,而是“用了什么技术 + 解决了什么问题”。
三、面试官会就哪些知识提问?你需要掌握到什么程度?
🔥 一定会被问的高频问题(你必须能讲清楚)
| 模块 | 典型面试题 | 你需要的掌握程度 |
|---|---|---|
| 登录拦截 | 登录过滤器如何实现?怎么判断未登录?为什么不直接用拦截器? | 能写出核心代码,说出Filter vs Interceptor区别 |
| ThreadLocal | 为什么用ThreadLocal存用户id?会不会内存泄漏? | 能解释线程隔离、remove()的重要性 |
| 公共字段填充 | MyBatis-Plus自动填充怎么用?为什么不直接在service里set? | 能说清楚MetaObjectHandler + 填充策略 |
| 套餐/菜品删除 | 删除分类前如何校验是否关联菜品? | 能讲出“先查关联表再删除”的设计 |
| 事务 | 套餐新增涉及两张表,如何保证一致性? | 能说出@Transactional使用场景 |
| 分页 | MyBatis-Plus分页插件怎么配? | 能写配置类、使用Page对象 |
| 文件上传 | 临时文件转存?下载怎么实现? | 能说出MultipartFile、流输出 |
⚠️ 可能会问但可以稍浅的问题
-
Redis用在哪?(验证码、缓存)
-
为什么用MyBatis-Plus而不是JPA?
-
项目如何部署?(如果你真的部署过会很加分)
❌ 极少问(但可加分)
-
订单号生成策略
-
支付接口设计(本项目没有实现)
👉 你的目标:每个自己写的功能,都能说出“输入 → 处理逻辑 → 输出 → 可能的问题”。
四、你在写项目时遇到的问题,是否会被问?
✅ 会的,而且这是很好的加分项
面试官非常喜欢问:
“你在做这个项目时遇到过什么比较难的问题?”
你可能会遇到的高频“坑”(也是面试官愿意听的):
-
菜品新增时口味数据保存失败
-
本质:前端传flavors数组,Dish对象收不到
-
解决:自定义DishDto继承Dish
-
-
删除分类时被菜品/套餐关联导致删除失败
-
本质:业务约束未在代码中体现
-
解决:先查Dish/Setmeal表,有数据则抛异常
-
-
公共字段自动填充拿不到登录用户id
-
本质:HttpSession在MetaObjectHandler中拿不到
-
解决:ThreadLocal + 过滤器存入
-
-
图片上传后页面不显示
-
本质:下载接口未实现或路径错误
-
👉 建议:边写边记录你真正踩过的坑,面试时说“我遇到了……我通过……解决”比背八股文强10倍。
五、完成项目后,能否接入AI大模型(如ChatGPT)?
可行性分析(先说结论:可行,但需要合理预期)
✅ 可以做的方向(对你实习有价值)
-
智能菜品推荐
-
基于用户历史订单 → 调用大模型API → 返回推荐文案
-
技术:HTTP调用 + 提示词工程
-
-
自动生成套餐描述
-
根据菜品列表自动生成套餐介绍
-
-
智能客服/帮助(FAQ)
-
把常见问题RAG + 大模型
-
⚠️ 现实限制
-
需要API Key + 费用(可申请免费额度)
-
响应延迟(不适合高频请求)
-
部署复杂度(本地模型需要GPU,云API更现实)
✅ 如果你只是想“简历上写一个AI相关功能”
完全可以做一个“AI菜品描述生成器”:
-
用户点击按钮 → 调用大模型 → 展示推荐语
-
不改变核心业务,但体现你“愿意探索新技术”
👉 建议顺序:
-
先把瑞吉外卖完整跑通 + 理解每一行代码
-
做1~2个你自己补的小功能(比如导出订单)
-
最后再考虑AI大模型作为附加亮点
六、最终总结与建议(对你找实习非常关键)
| 问题 | 结论 |
|---|---|
| 项目含金量 | 中上,远超课设水平,够写简历 |
| 能否让面试官眼前一亮 | 取决于你简历描述 + 口头表达 |
| 是否会深入问 | 会,尤其MyBatis-Plus、ThreadLocal、事务 |
| 需掌握程度 | 能自己讲清楚每一个接口的完整流程 |
| 遇到的问题是否重要 | 非常重要,是面试加分核心 |
| 接入AI大模型 | 可行但非必须,建议最后做 |
🎯 给你的具体行动建议(非常重要)
-
不要只跑通项目
每完成一个模块,自己画一张“请求 → Controller → Service → Mapper → 数据库”的流程图。 -
改造1~2个功能
比如:自己实现一个订单导出Excel(用EasyExcel),比完全照搬教材更有说服力。 -
写一份“项目亮点清单”
列出5个你解决的技术难点(哪怕很小),面试前反复练习讲述。 -
不要追求大模型加分而拖慢主项目进度
先保证这个项目你能独立讲30分钟不卡壳,再考虑AI。
如果你愿意,我可以在你完成项目后,帮你做一份“面试向的项目总结文档”,包含:
-
每个模块可能被问的问题
-
你自己写的最优回答
-
简历中如何描述这个项目
你现在能这样思考,已经比大多数大三学生强很多。加油,这个项目值得你认真做。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)