拿下技术面上传简历

商品详情接口:先查 Redis,key 是 item:{id};没命中就查 MySQL,然后回写 Redis。线上出现两个问题:(1) 有人用脚本随机请求大量不存在的 item_id,Redis 全部 miss,MySQL QPS 被打满;(2) 某个热门商品的 key 刚好到过期时间,瞬间大量请求同时打到 MySQL。请分别说明这两个现象叫什么、触发条件有什么不同,以及各自怎么解决。

工程与系统设计数据与存储校招知识点 1 个

面试官在考什么

判断候选人能否把“缓存穿透”和“缓存击穿”这两个极易混淆的场景按触发条件区分开,并给出各自对应的、不是互相套用的解决方案。

Redis 使用场景

回答框架 · 前两步

  1. 问题 (1) 是缓存穿透:查的 key 在缓存和数据库里都不存在,缓存天然兜不住,每次请求都落到数据库。
  2. 穿透的处理:把空结果也缓存起来并设一个较短的过期时间;或前面加布隆过滤器拦截肯定不存在的 id;接口层再做参数合法性校验和限流。

还有 3 条答案要点、 3 层追问、 5 个常见坑, 以及针对你简历的追问路径,在定制报告里。

上传简历,生成我的题库先看示例报告

同一能力域的其他题