面灵AI

浩鲸科技实习一面:类加载、索引与缓存故障

轮次
一面
时间
2026-09
来源
牛客网

《面试题目》

  1. 如何介绍项目和自己的工作?
  2. Java 双亲委派机制怎样工作?
  3. MySQL 的 LIKE 查询在什么情况下难以利用索引?
  4. 索引如何设计和优化,什么是回表?
  5. MySQL 与 PostgreSQL 有哪些差异?
  6. 缓存雪崩、击穿和穿透分别是什么,如何处理?

《参考解析》

LIKE 的访问路径

普通 B+ 树索引按键值顺序组织。以固定前缀开始的模式有机会转成范围扫描,而前面带任意通配符时,通常无法据此前缀定位区间。是否采用索引还取决于排序规则、选择性和返回列,最终用执行计划确认,不能把所有模糊查询都说成全表扫描。

回表与覆盖

InnoDB 二级索引叶子中包含主键值,查询还要读取其他列时,再用主键访问聚簇索引,这一步通常称为回表。若查询需要的信息已在二级索引中,就有机会直接返回,减少额外读取。

三类缓存故障

穿透是不断查询不存在的数据,可用短期空值缓存或过滤器减轻回源;击穿是热点键失效时大量并发回源,可合并同键请求;雪崩涉及大量键同时过期或缓存服务不可用,需要错开过期时间,并限制回源流量。