浩鲸科技实习一面:类加载、索引与缓存故障
- 轮次
- 一面
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- 如何介绍项目和自己的工作?
- Java 双亲委派机制怎样工作?
- MySQL 的 LIKE 查询在什么情况下难以利用索引?
- 索引如何设计和优化,什么是回表?
- MySQL 与 PostgreSQL 有哪些差异?
- 缓存雪崩、击穿和穿透分别是什么,如何处理?
《参考解析》
LIKE 的访问路径
普通 B+ 树索引按键值顺序组织。以固定前缀开始的模式有机会转成范围扫描,而前面带任意通配符时,通常无法据此前缀定位区间。是否采用索引还取决于排序规则、选择性和返回列,最终用执行计划确认,不能把所有模糊查询都说成全表扫描。
回表与覆盖
InnoDB 二级索引叶子中包含主键值,查询还要读取其他列时,再用主键访问聚簇索引,这一步通常称为回表。若查询需要的信息已在二级索引中,就有机会直接返回,减少额外读取。
三类缓存故障
穿透是不断查询不存在的数据,可用短期空值缓存或过滤器减轻回源;击穿是热点键失效时大量并发回源,可合并同键请求;雪崩涉及大量键同时过期或缓存服务不可用,需要错开过期时间,并限制回源流量。