科大讯飞Java开发面经
- 轮次
- 一面、二面
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- 为什么使用 JWT 后还要做 Redis 白名单?
- Spring Data JPA 如何实现一对一和多对多映射?
- 用户在多个窗口或平台登录时,其中一个登出如何同步退出?
- 支付的完整交易链路如何设计?
- 幂等性如何实现?
- 库存扣减如何实现?
- 什么是 MVCC?
- MySQL 事务如何保证一致性?
- Spring Boot 是如何启动的?
- Spring Boot 事务注解如何实现?什么时候会失效?
- OSS 上传的图片如何限制为不可公开访问?
- Redis 如何实现分布式锁?
- Agent 的多种引擎如何创建和使用?
- RAG 知识库如何实现?
- 记忆系统如何处理过长上下文?
- Skill 如何在对话中使用?
- 什么是 DeepResearch?
- 工具注册如何实现?
- 为什么不直接使用现有 Agent 框架?
- 文献查阅工具使用了哪些 API?
- 如果同时有后端、全栈和 Agent 开发岗位,会选择哪个?
《参考解析》
JWT 负责无状态身份传递,Redis 白名单可实现主动注销、设备踢下线和风险控制。支付链路需覆盖下单、预扣、支付渠道、异步通知、验签、幂等更新和对账;库存扣减应使用原子条件更新或预扣加补偿,防止超卖。
JPA 通过实体关系和中间表表达映射;Spring Boot 启动会创建环境、应用上下文并执行自动配置。事务依赖代理,自调用、异常类型不匹配或方法不可代理都会导致注解失效。对象存储应使用私有桶和短时签名 URL。
RAG 一般包含文档切分、向量化、召回、重排和带引用生成;记忆系统应区分短期上下文与长期摘要。Agent 工具必须声明参数 schema、权限和幂等策略,模型只能提出动作,执行仍需服务端校验。是否自研框架应以可观测的扩展性、维护成本和现有能力差距为依据。