得物5年Java后端面经
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- 数据权限如何通过动态 SQL 实现并防止 SQL 注入?
- MySQL 隔离级别、幻读和间隙锁如何配合?
- 哪些场景会导致索引失效?如何用 EXPLAIN 定位慢 SQL?
- Redis 穿透、击穿、雪崩分别是什么?
- 线程池七个参数如何结合业务配置?
- Redisson WatchDog 如何续期分布式锁?
- Redis 大 Key 有什么问题,如何拆分?
- 如何设计高可用数据权限系统?
- TCC、SAGA 和消息最终一致性分别适合什么场景?
《参考解析》
动态权限条件必须使用参数化查询,权限规则可按租户和用户隔离并缓存。RR 下快照读依赖 MVCC,当前读通过记录锁和间隙锁抑制并发插入;RC 通常不使用间隙锁。大 Key 会阻塞 Redis 单线程并造成同步和倾斜问题,应拆分、分片并用 SCAN 异步处理。TCC 适合核心短事务,SAGA 适合长流程,消息最终一致性适合可异步场景。