豆包AI面试官使用记录(含问题、扣分点、面试总结)
本文用于记录我每次模拟面试时例如它问的题目、评分、总结报告等第一次模拟面试题目列表请你详细说明一下在饭店会员优惠券小程序中你是如何通过Redis 锁 AOP 自定义注解 数据库唯一索引来保证领券接口幂等性的每一层分别起到什么作用回答完毕下一题。你在千万级数据从 MySQL 迁移到 MongoDB 的过程中为什么要采用多线程分段抓取、优先级队列、单线程写入的方案这样设计解决了什么问题回答完毕下一题。请你说明Redis 分布式锁的核心实现要点以及在项目中你是如何解决锁超时、误删、可重入这些问题的回答完毕下一题。请你说说Spring Boot的自动配置原理它是如何实现自动加载 Bean 的回答完毕下一题。请你说说 MySQL 中InnoDB 引擎的事务隔离级别以及每个级别分别解决了什么并发问题项目中你通常用哪个级别回答完毕下一题。请你说明Redis 缓存穿透、缓存击穿、缓存雪崩的区别以及你在项目中分别用什么方案解决回答完毕下一题。请你说说Java 多线程里volatile关键字的作用以及它和synchronized的核心区别。回答完毕下一题。请你结合项目经验说一下接口限流常用的方案以及你在优惠券项目中用AOP 自定义注解实现限流的具体逻辑。回答完毕下一题。请你说说MyBatis-Plus中分页查询的实现原理以及在大数据量分页时如何解决深度分页性能问题回答完毕下一题。请你说明RBAC 权限模型的核心设计思想以及你在项目中是如何基于 RBAC 实现四级组织架构 角色 - 菜单 多端隔离的请你说说Spring Cloud里服务注册与发现的核心流程以及你在项目中使用时遇到过哪些常见问题如何解决回答完毕下一题。请你说说MySQL 索引的最左前缀原则以及在项目中如何设计索引才能避免索引失效。回答完毕下一题。请你说说Java 集合中 HashMap 的底层结构JDK1.8 做了哪些优化并发场景下为什么推荐使用 ConcurrentHashMap 而不是 HashMap面试总结自我介绍9 分自我介绍清晰技术栈、项目经验与岗位匹配度高表达简洁有条理优惠券接口幂等性实现9 分对三重防护机制理解透彻每一层作用阐述清晰贴合项目实际千万级数据迁移方案9 分背景、限制、设计思路完整对顺序、性能、并发控制理解到位Redis 分布式锁核心要点7 分基本原理与防误删、超时说明准确可重入方案阐述不够完整Spring Boot 自动配置原理6 分说出核心注解与配置文件位置对 SPI 与条件装配细节描述不足InnoDB 事务隔离级别9 分四个隔离级别、并发问题、MVCC 与间隙锁应用描述准确Redis 三大缓存问题7 分穿透、击穿、雪崩区分清晰项目方案具体雪崩解决措施记忆不全volatile 与 synchronized8 分可见性、禁止重排、原子性说明准确核心差异与适用场景表述到位AOP 自定义注解接口限流7 分整体思路正确OpenID 限流逻辑清晰接口全局限流细节描述模糊MyBatis-Plus 分页与深度分页8 分分页拦截器原理清楚游标分页方案正确细节简洁RBAC 权限模型实现8 分核心思想理解到位组织架构 角色菜单 多端隔离逻辑清晰说明白项目裁剪原因Spring Cloud 服务注册发现6 分流程基本正确结合 K8s 与 Nacos 描述问题排查偏部署层面MySQL 最左前缀原则7 分核心规则正确索引设计要点完整索引失效场景收尾不流畅HashMap 底层与 ConcurrentHashMap8 分JDK1.8 优化准确线程不安全原因与 ConcurrentHashMap 优势说明到位总分与平均分总分112 分平均分8实际重新打分真实为6.4 分核心改进建议微服务原理与实战加强 Nacos、Feign、Gateway 等组件原理理解补充服务调用、容错、配置刷新等常见问题排查中间件深度应用完善 Redis 雪崩、穿透、击穿完整解决方案补充分布式锁可重入、自动续期等实战细节框架底层原理补充 Spring Boot SPI 机制、条件装配、Spring 容器生命周期等细节提升原理深度第二次模拟面试题目列表请你详细说一下优惠券小程序里的接口幂等性你是怎么用 Redis 锁 AOP 限流 数据库唯一索引来实现的这三种方式分别解决什么问题你刚才提到 Redis 锁用了 UUID 防误删、设置过期时间、finally 释放。那我问你如果业务执行时间超过 5 秒锁过期了其他线程拿到锁会怎么样你怎么解决这个锁超时问题你在项目里做过千万级数据从 MySQL 迁移到 MongoDB请说一下你用的多线程分段抓取、优先级队列、单线程写入具体是怎么设计的为什么要单线程写入你刚才说用主键游标分页做数据迁移那为什么不用普通的 limit 分页游标分页相比 limit 分页优势在哪里你在项目中用AOP 自定义注解做了接口限流说说你这个注解的核心逻辑是什么用的是什么限流算法你提到限流用的是计数器算法那它有临界值问题。如果现在要把它改成高并发下更可靠的限流方案你会选用哪种算法怎么实现那我问个基础八股MySQL 里什么是事务的四大特性ACID分别讲一下含义。你在项目里用到了 Redis那Redis 的过期键删除策略有哪几种分别说一下。你简历里写了PDFBox 实现动态 PDF 证书组装请说一下你是怎么处理跨页、坐标自适应、动态高度这三个问题的你在微服务项目里用过 Spring Cloud说一下微服务架构下服务之间怎么实现调用常用的组件是什么你用到了 Nacos 做服务注册发现那服务挂了之后Nacos 是怎么把它剔除的说一下心跳机制和健康检查。说一下Java 多线程里volatile 关键字的作用是什么能不能保证原子性你在项目中做过权限体系基于 RBAC 模型。请说一下RBAC 的核心角色、用户、权限三者关系你在项目里是怎么控制接口权限的场景题接口调用超时、频繁报错你怎么快速排查定位问题说说你的排查思路。最后一道题你平时如何保证自己写的代码质量、可维护性与安全性举 1-2 个你实际做过的措施。面试总结优惠券接口幂等性实现8.0用户限流表述不够清晰“所有接口共用配额”没说透。锁的作用只说了“防止重复点击”没说“同一时刻”。Redis 锁超时问题处理7.5回答了唯一索引兜底但没说明“锁超时本身会增加无效写入压力”也没提“正常情况用足够长的过期时间主动释放锁来避免”。千万级数据迁移方案设计8.5背景和方案完整但表达有口头禅“嗯”、“然后”偏多逻辑衔接不够利落。游标分页 vs Limit 分页8.0limit分页原理讲错了说成“where id大于2万”实际应该是“limit offset, size”会先扫描offsetsize行再丢弃前offset行。AOP 限流注解与算法7.0用户限流和接口限流的key设计说清楚了但算法选择只说了“计数器”没提“并发低误差可接受”这个合理性解释。高并发限流方案优化4.5完全没答出滑动窗口或令牌桶的具体思路只说“不知道”。MySQL 事务 ACID9.0无扣分。Redis 过期删除策略5.0只说了定期删除漏掉了惰性删除回答不完整。PDFBox 动态证书组装8.5跨页、坐标自适应、动态高度的思路都对但表达太绕口头禅多。动态高度部分的裁剪解释得有点乱。微服务调用组件7.0只说了OpenFeign和Nacos没按“同步/异步”分类讲通用组件也没说调用流程。Nacos 心跳与健康检查4.5没说出关键时间点5秒、15秒、30秒回答含糊。volatile 关键字作用9.0无扣分。RBAC 权限模型与接口控制7.0没先讲标准RBAC多对多、角色解耦直接说项目做法。接口权限没做校验的理由解释合理但标准答案没说全。接口超时 / 报错排查思路7.5只说了看日志、本地复现、断点调试缺少“线上监控→调用链→慢SQL”的快速排查步骤。代码质量 / 安全保障措施7.0说了自测、Swagger、权限校验但没提代码规范、SQL参数绑定、统一异常处理等常规实践且没有具体例子。总分与平均分平均分7.1未触发连续 3 题 / 累计 5 题不及格规则面试结论通过核心改进建议补齐微服务与中间件底层原理重点强化 Nacos、Redis、Spring Cloud 核心机制避免只懂使用不懂原理。提升场景题与故障排查深度补充滑动窗口、令牌桶限流、线上 CPU / 内存 / 慢 SQL 标准排查流程。强化安全与接口权限设计企业系统也建议做全链路接口权限校验提升系统安全性与规范性。第三次测试面试纯测试不回答请你详细说一下在饭店会员优惠券小程序里你是怎么用Redis 请求锁 AOP 限流 数据库唯一索引三重方案保证领券接口幂等性的你在释放 Redis 锁时用了判断 value 再删除的逻辑这个操作不是原子性的线上有没有出现过锁超时、业务还没执行完就被其他线程释放的情况你是怎么解决的你在优惠券项目里用MD5 签名 时间戳 随机串做接口防刷为什么不直接用 JWT而是选择这种签名方案你在源品生物项目里做千万级数据从 MySQL 迁移到 MongoDB用了多线程分段抓取 优先级队列 单线程写入请问你分段抓取的粒度是怎么定的为什么要单线程写入你在项目里基于 RBAC 模型做了权限体系用四级组织架构 角色 - 菜单模型请问代码里是怎么实现数据隔离的比如不同组织的用户只能看自己组织的数据。你简历里写了解 Spring CloudJD 要求熟悉 Spring Cloud 相关框架请你说下你在源品生物项目里实际用过 Spring Cloud 哪些组件分别用来做什么你在项目中接入法大大电子签实现自动签章遇到签章失败时你的兜底方案是什么怎么保证合同不丢失、不漏签你用 PDFBox 实现证书动态组装解决了跨页、坐标自适应这些问题请问你是怎么计算 PDF 页面高度与坐标的请你说一下 Spring Boot 自动配置的核心原理以及它是如何加载自动配置类的MySQL 里联合索引的最左匹配原则是什么你在项目里建联合索引时是怎么遵循这个原则的Redis 的持久化机制有哪两种分别说下它们的优缺点你在项目里用的是哪种如果线上领券接口突然响应变慢、大量超时你会按什么步骤排查Java 线程池的核心参数有哪些你在数据迁移项目里是怎么设置线程池参数的你在项目中使用 Redis 实现分布式锁除了刚才说的原子释放问题锁超时、业务未执行完这种场景你会怎么设计保证安全你在 CRM 系统中实现了微信登录流程是怎样的怎么保证登录态安全避免被伪造或盗用你做过千万级数据迁移也处理过高并发领券那你说下高并发场景下如何避免缓存穿透、缓存击穿、缓存雪崩你项目里分别用了什么方案JD 要求熟悉 SQL Server 或 Oracle你主要用 MySQL那你说下MySQL 与 Oracle 在事务隔离级别、分页语法、主键自增这三点上的主要区别你在项目中用到了 MyBatis-Plus它的分页插件原理是什么分页查询时超大分页比如 limit 1000000,20为什么慢怎么优化你在项目中做过接口限流AOPRedis请你说下限流算法有哪些你项目用的是哪一种为什么选它你刚才提到用AOP 自定义注解做限流那这个 AOP 切面的执行顺序你是怎么控制的为什么要控制顺序结合你 3 年 Java 后端、单体 微服务混合项目经验自我评价一下你的技术短板是什么后续短期学习规划是什么第四次模拟面试题目列表你在源品生物项目里做了 MySQL 到 MongoDB 的千万级数据迁移请问你是按什么维度做分段抓取的你用主键 ID 分段抓取时怎么保证不会漏数据、也不会重复抓取迁移时如果 MongoDB 写入失败你是怎么重试、保证最终一定写入成功的你在数据迁移里用了优先级阻塞队列它在这里的作用是什么你在饭店会员优惠券小程序里MD5 签名防刷的具体生成步骤是什么你这个签名方案里Redis 是怎么实现防重放的你用 PDFBox 做证书动态组装时是怎么处理跨页布局的你在 PDFBox 生成证书时怎么保证文字、图片、表格的坐标精准不偏移你落地的 RBAC 权限体系里四级组织架构是怎么实现数据隔离的你在项目里用 Spring Cloud具体用到了哪些组件Spring Boot 自动配置的核心原理是什么MySQL 里聚簇索引和非聚簇索引的核心区别是什么你在项目中有没有遇到过 MySQL 慢查询是怎么定位和优化的如果优惠券核销时出现“已使用但未核销成功”的偶发问题你第一步会怎么排查面试总结数据迁移分段抓取维度8.5偏移量解释稍乱但整体思路正确不漏不重抓取8.0“跳6万位”逻辑绕核心正确MongoDB写入失败重试9.0精准重试完整断点续传清晰优先级阻塞队列作用7.5有序性讲清但重新放回逻辑绕MD5签名防刷步骤8.0流程对有口误不影响Redis防重放实现8.0setIfAbsent对没提5分钟过期PDFBox跨页布局8.0Y坐标游标对“底边框”逻辑略怪PDFBox坐标精准7.0只说了原型图没讲换行自适应RBAC数据隔离7.0用QueryWrapper硬编码深度不够Spring Cloud组件8.5四个组件讲清了缺调用流程Spring Boot自动配置8.0核心原理对“Spring Cloud”口误不扣聚簇/非聚簇索引8.5回表讲清了慢查询定位与优化5.5没提explain、执行计划硬伤偶发问题排查6.0方向对缺结构化总分与平均分平均分7.7未触发连续 3 题 / 累计 5 题不及格规则面试结论通过核心改进建议SQL 优化体系需补齐慢查询部分缺少 explain 执行计划、索引失效场景、分页优化等标准流程建议系统梳理 MySQL 优化八股。权限体系深度不足RBAC 只讲了 QueryWrapper 拼接未说明全局拦截、数据权限注解、多租户隔离思路可补充 Spring Security 数据权限实践。微服务容错细节可强化Hystrix/OpenFeign 降级、超时、线程池隔离等实际配置与坑点可再沉淀提升场景题说服力。