汽车之家 · 面经
完整信息
本篇目录
#牛客AI配图神器## 汽车之家 Java 后端二面面经|27届校招(项目 + Java基础 + AI Agent)
分享一下今天的汽车之家 Java 后端二面,整体感觉比较偏向项目深挖和技术交流,除了传统 Java 后端技术,也聊了不少 AI Coding、Agent 开发和未来技术趋势。
我是 27 届本科生,人工智能专业,有两段 Java 后端实习经历,分别涉及智能驾培系统和保险理算系统开发。此外,简历上还有一个 Spring Cloud Alibaba 微服务项目,以及一个 AI Agent 全栈项目。
下面按照面试内容整理,部分问题根据记忆还原,可能与原话略有出入。
一、自我介绍及实习项目
1. 自我介绍
主要介绍了技术栈、两段实习经历、微服务项目和 Agent 项目,以及个人职业规划。
2. 介绍一下目前实习的业务和负责的模块。
目前主要负责智能驾培中控系统的后端开发,涉及预警接口、随机上呼、Agent 接入及鉴权审计等功能。
3. 介绍一下车辆频繁刹车预警的业务背景,以及具体如何实现。
业务场景是监控车辆因车门打开、进入特定电子围栏等原因产生的非手动紧急刹车事件。
聊到了方案的演进过程:
- 初版在接口查询时直接统计近五分钟的刹车次数,性能不太理想。
- 后来改为通过定时任务统计并判断预警阈值。
- 满足条件后写入预警事件表,前端查询接口直接读取预警结果,减少实时重复计算。
二、分布式内容资讯平台项目
4. 介绍一下你的微服务项目,主要有哪些业务?
项目基于 Spring Cloud Alibaba,涉及文章发布、内容审核、定时发布、全文检索等业务。
5. 为什么要自己实现延迟队列?具体怎么实现?
主要用于文章定时发布。
- MySQL 持久化任务数据及执行状态。
- Redis ZSet 按执行时间戳排序,维护即将到期的任务。
- Redis List 存储已经到期、等待消费的任务。
- 消费者从 List 中获取任务并执行对应业务。
- 通过 MySQL 持久化记录和补偿机制处理任务未完成的情况。
6. 延迟任务重复执行,如何保证业务幂等?
讨论了两个不同业务环节:
- 自媒体端通过条件更新控制状态流转,避免同一个状态变更被重复执行。
- App 端保存文章时,通过数据库唯一索引避免重复插入。
这部分主要围绕业务状态、条件更新及数据库约束展开。
三、Java 基础与并发编程
7. 进程和线程有什么区别?
主要从资源分配、CPU 调度、内存共享以及上下文切换开销等方面回答。
8. Runnable 和 Callable 有什么区别?
重点讨论任务是否需要返回值,以及如何获取异步任务的执行结果。
四、MySQL 事务与 MVCC
9. MySQL 有哪些事务隔离级别?默认是什么?
聊到了 MySQL InnoDB 默认的可重复读(RR)隔离级别。
10. MySQL 的 MVCC 是怎么实现的?
重点包括:
- Undo Log 版本链。
- Read View。
- 快照读。
- RR 隔离级别下如何实现可重复读。
11. 幻读如何处理?快照读和当前读有什么区别?
讨论了 MVCC 下的快照读,以及 SELECT ... FOR UPDATE 等当前读场景中的加锁机制,包括间隙锁和临键锁。
五、SSE 与 WebSocket
12. 你的 Agent 是如何实现流式输出的?
使用 SSE 实现大模型文本的流式推送,让用户能够逐步看到生成结果。
13. 为什么选择 SSE,而不是 WebSocket?
主要从通信方向和业务场景回答:
- SSE 基于 HTTP,适合服务端持续向客户端推送内容。
- WebSocket 支持全双工通信,适合双方需要频繁双向交互的场景。
- 大模型文本流式输出通常以服务端推送为主,因此 SSE 比较符合需求。
六、AI Coding 实践(聊得比较深入)
14. 平时如何使用 AI 辅助开发?
我主要把精力放在需求理解、方案设计、任务拆解和最终验收上。
对于比较简单的需求,可以直接让 AI 完成实现,之后审查代码并测试。
对于复杂需求,会按照软件工程的思路先拆解任务,明确模块边界、依赖关系和验收标准,再分阶段让 AI 实施,避免一次性修改过多代码。
15. 你觉得 AI 给软件开发带来了哪些实际变化?
聊到了 AI Coding 对编码效率和技术学习成本的影响。
个人感觉 AI 已经显著降低了技术实现门槛,但企业研发中还有不少沟通、需求确认和跨团队协作成本。
16. 如果希望进一步提高端到端研发效率,你会怎么做?
讨论了通过标准化流程,将需求分析、开发、代码审查、测试等环节尽可能串联起来。
理想情况下,人主要负责明确需求、决策和验收,AI 承担更多具体执行工作,但仍然需要必要的质量控制。
七、Agent 原理、工具选型与技术趋势
17. Agent 是如何调用工具的?Function Calling 的原理是什么?
主要回答了模型根据工具定义生成结构化调用请求,再由 Agent Runtime 解析参数、执行工具,并将执行结果返回给模型的流程。
18. 平时使用哪些 AI Coding 工具?有什么区别?
聊到了 Claude Code 和 Pi Agent。
- Claude Code 的工具调用、权限管理和整体开发体验比较完整。
- Pi Agent 的设计相对精简,更强调通过插件和扩展实现自定义能力。
也讨论了 Agent 执行代码时的权限控制、沙箱隔离等安全问题。
19. 你怎么看 Agent 接下来的发展?
这是比较开放的交流题。
我谈到 Agent 正在从程序员使用的开发工具,逐渐向办公自动化和个人助手等更多场景扩展。
同时也讨论了移动端 Agent 的生态问题,比如应用之间的协作、系统权限和第三方服务接入等。
20. 最近有没有关注或者研究什么新的 AI 项目?
分享了近期接触的一个逆向工具相关开源项目,主要思路是把已有工具能力封装成 MCP 接口,使 Agent 能够调用这些能力完成实际任务。
八、职业规划与公司 AI 方向
21. 未来的职业规划是什么?
我的回答是:
短期还是希望深耕 Java 后端,提升业务理解、系统设计和工程实践能力。
长期希望结合 AI 技术扩展自己的能力边界,逐步掌握前端、移动端等技术,成为能够独立完成复杂应用开发的工程师。
22. 关于公司目前的 AI 应用方向
面试官也分享了一些公司内部推进 AI 应用的思路。
主要包括:
- 研发侧利用 AI 提升从需求到交付的整体效率。
- 业务侧探索使用 Agent 改造现有工作流程。
- 通过 AI 技术提高效率、降低业务成本。
这一部分更偏向技术趋势和业务交流。
九、个人复盘
整体感觉二面并不是单纯考八股,面试官会结合简历中的具体技术方案继续提问。
有几个比较明显的特点:
- 比较关注项目的真实实现。 不只问用了什么技术,还会问业务背景、为什么这样设计,以及方案前后有什么变化。
- Java 基础仍然重要。 进程线程、Callable/Runnable、事务隔离级别、MVCC 等基础知识都涉及了。
- 会关注技术选型。 例如为什么使用 MySQL + Redis 延迟队列,为什么选择 SSE 而不是 WebSocket。
- AI 相关内容聊得不少。 不只关注 Agent 框架使用,还讨论了 AI Coding 的开发方法、工具选型、安全性和未来趋势。
个人感觉,如果简历中写了 AI Agent 或 AI Coding 相关经历,最好能够准备一些真实的使用案例,以及自己对 AI 工程化的理解。
另外,传统后端基础也不能丢,尤其是数据库、并发和项目中的数据一致性问题。
以上是本次面试复盘,希望对大家有帮助,也祝各位秋招顺利!🍀
上述内容为腾讯会议元宝总结后gpt生成的面经,不保证准确性,我也懒得看了,总体来说面试官人很好,没什么压力,聊天一样
#秋招##秋招面试记录#
本篇目录
当前问题0123
- 01
**1. 自我介绍**
- 02
**2. 介绍一下目前实习的业务和负责的模块。**
- 03
**2. 介绍一下目前实习的业务和负责的模块。**
- 04
**3. 介绍一下车辆频繁刹车预警的业务背景,以及具体如何实现。**
- 05
**4. 介绍一下你的微服务项目,主要有哪些业务?**
- 06
**5. 为什么要自己实现延迟队列?具体怎么实现?**
- 07
**6. 延迟任务重复执行,如何保证业务幂等?**
- 08
**7. 进程和线程有什么区别?**
- 09
**8. Runnable 和 Callable 有什么区别?**
- 10
**9. MySQL 有哪些事务隔离级别?默认是什么?**
- 11
**10. MySQL 的 MVCC 是怎么实现的?**
- 12
**11. 幻读如何处理?快照读和当前读有什么区别?**
- 13
**11. 幻读如何处理?快照读和当前读有什么区别?**
- 14
**12. 你的 Agent 是如何实现流式输出的?**
- 15
**13. 为什么选择 SSE,而不是 WebSocket?**
- 16
**14. 平时如何使用 AI 辅助开发?**
- 17
**15. 你觉得 AI 给软件开发带来了哪些实际变化?**
- 18
**16. 如果希望进一步提高端到端研发效率,你会怎么做?**
- 19
**17. Agent 是如何调用工具的?Function Calling 的原理是什么?**
- 20
**18. 平时使用哪些 AI Coding 工具?有什么区别?**
- 21
**19. 你怎么看 Agent 接下来的发展?**
- 22
**20. 最近有没有关注或者研究什么新的 AI 项目?**
- 23
**21. 未来的职业规划是什么?**
