携程秋招 Java 一面:分布式锁与数据库查询
- 轮次
- 一面
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- 如何介绍项目及其中自己负责的部分?
- Redisson 看门狗如何续期,有哪些失效边界?
- 分布式事务有哪些实现方式,如何选择?
- 哪些情况会导致索引没有被有效利用?
- 如何排查慢 SQL?
- MySQL 的索引为什么常用 B+ 树?
《参考解析》
看门狗不等于业务安全保证
续期能降低任务尚未结束、锁已到期的风险,但进程停顿或网络隔离仍可能使续期失败。旧任务恢复后也许继续执行,此时要靠数据库版本检查、唯一约束或 fencing token 拦住过期持有者的写入。
慢查询先看实际执行情况
记录 SQL、参数、耗时和扫描量,再用 EXPLAIN 看访问路径。联合索引要对照过滤条件与排序需求,不能看到全表扫描就一概认定优化器出错:表很小或命中大部分数据时,全表扫描可能更省成本。