阿里巴巴高频面试题及详细答案.docx

阿里巴巴高频面试题及详细答案

一、技术岗(Java/后端方向,阿里核心高频)

面试题1:分布式系统中,缓存穿透、缓存击穿、缓存雪崩的区别是什么?分别怎么解决?

详细答案:这三个问题本质都是缓存和数据库的一致性、可用性问题,我结合实际项目里的落地方案来说,不搞纯理论:

1.缓存穿透:就是查一个根本不存在的数据,比如查用户ID=10086(系统里没有),请求绕开缓存直接打数据库,要是有恶意攻击,频繁查不存在的key,数据库很容易崩。

我们项目里用了两层防护,简单又实用:一是布隆过滤器,把系统里所有存在的用户ID、商品ID提前存进去,请求过来先过过滤器,不存在的key直接拦截,不用查缓存和数据库

文档评论(0)

1亿VIP精品文档

相关文档