面灵AI

得物5年Java后端面经

时间
2026-09
来源
牛客网

《面试题目》

  1. 数据权限如何通过动态 SQL 实现并防止 SQL 注入?
  2. MySQL 隔离级别、幻读和间隙锁如何配合?
  3. 哪些场景会导致索引失效?如何用 EXPLAIN 定位慢 SQL?
  4. Redis 穿透、击穿、雪崩分别是什么?
  5. 线程池七个参数如何结合业务配置?
  6. Redisson WatchDog 如何续期分布式锁?
  7. Redis 大 Key 有什么问题,如何拆分?
  8. 如何设计高可用数据权限系统?
  9. TCC、SAGA 和消息最终一致性分别适合什么场景?

《参考解析》

动态权限条件必须使用参数化查询,权限规则可按租户和用户隔离并缓存。RR 下快照读依赖 MVCC,当前读通过记录锁和间隙锁抑制并发插入;RC 通常不使用间隙锁。大 Key 会阻塞 Redis 单线程并造成同步和倾斜问题,应拆分、分片并用 SCAN 异步处理。TCC 适合核心短事务,SAGA 适合长流程,消息最终一致性适合可异步场景。