拿下技术面上传简历

商品详情页读多写少,峰值 5 万 QPS,缓存命中率 99%,底层是 MySQL。现在运营做一次批量调价,一次要改 2000 个商品的价格。请说明你的缓存更新方案:删缓存还是更新缓存、先动 DB 还是先动缓存、批量改价时怎么避免缓存集中失效把 DB 打穿。

工程与系统设计系统设计3-5 年知识点 1 个

面试官在考什么

考察对 Cache-Aside 一致性窗口、批量失效引发的击穿、以及一致性等级与成本的权衡判断,而不是背诵“先更新 DB 再删缓存”。

缓存策略

回答框架 · 前两步

  1. 更新策略选删除而不是更新:删除是幂等的、能天然收敛到正确值,更新缓存会在并发写时产生乱序覆盖;顺序上先写 DB 再删缓存(Cache-Aside),并接受短暂不一致
  2. 删缓存失败必须有兜底:重试队列 / 订阅 binlog 异步删 / 本地消息表,把删除动作变成可重放的事件,而不是一次性的同步调用

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

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

同一能力域的其他题