还剩7页未读,继续阅读
文本内容:
缓存面试题及答案
一、文档说明本文档整理了缓存领域常见的面试题及参考答案,涵盖单项选择、多项选择、判断、简答四种题型,内容围绕缓存基础概念、核心策略、常见问题及解决方案展开,旨在帮助技术人员系统梳理知识体系,提升面试准备效率
二、单项选择题(共30题,每题1分)(以下题目基于计算机缓存基础、主流缓存技术及工程实践场景)缓存的核心作用是?A.降低服务器成本B.提升数据访问速度C.增加系统稳定性D.优化网络带宽以下不属于缓存常见更新策略的是?A.Cache AsideB.Write ThroughC.Read ThroughD.WriteBackRedis相比Memcached的主要优势是?A.单线程模型B.仅支持键值对C.支持多种数据结构D.分布式部署缓存命中率的计算公式是?A.命中次数/总访问次数B.总访问次数/命中次数C.未命中次数/总访问次数D.总访问次数-命中次数以下哪种情况可能导致缓存“穿透”?A.缓存中无数据,且数据库也无对应数据B.大量请求访问同一缓存未命中项C.缓存过期但数据库数据已更新D.缓存项被异常删除LRU缓存淘汰策略的含义是?第1页共9页A.淘汰最早添加的缓存项B.淘汰最近最少使用的缓存项C.淘汰最大容量的缓存项D.淘汰访问频率最低的缓存项Redis的哪种持久化方式会生成RDB文件?A.AOF B.RDB C.NoSQL D.分布式以下哪种缓存问题会导致系统短暂不可用?A.缓存穿透B.缓存击穿C.缓存雪崩D.缓存过期“缓存与数据库数据不一致”问题的主要原因是?A.缓存更新延迟B.数据库读写分离C.网络延迟D.缓存空间不足布隆过滤器的主要作用是解决哪种缓存问题?A.缓存穿透B.缓存击穿C.缓存雪崩D.缓存溢出以下不属于本地缓存的是?A.Redis B.Caffeine C.Guava CacheD.Ehcache缓存“雪崩”发生时,可采用的解决方案是?A.布隆过滤器B.过期时间随机化C.双缓存架构D.读写锁什么是“缓存预热”?A.定期清理过期缓存B.系统启动时加载热点数据到缓存C.缓存数据加密D.缓存与数据库同步更新Redis的“数据一致性”指的是?A.缓存与数据库数据相同步B.缓存数据永久有效C.缓存支持多线程操作D.缓存仅存储热点数据以下哪种缓存类型适合高并发读场景?A.本地缓存B.分布式缓存C.混合缓存D.只读缓存“缓存穿透”的典型表现是?A.缓存频繁被淘汰B.大量请求访问不存在的key第2页共9页C.缓存过期时间统一D.缓存命中率100%Redis的“过期键删除策略”中,惰性删除的含义是?A.定时删除过期键B.访问时检查并删除过期键C.内存满时强制删除过期键D.重启时删除过期键以下哪项不属于缓存“降级”策略?A.缓存服务不可用时,返回默认值B.降低缓存更新频率C.用本地缓存替代分布式缓存D.增加缓存容量缓存“击穿”与“穿透”的区别是?A.穿透是无数据,击穿是热点key过期B.穿透是热点key过期,击穿是无数据C.穿透影响读性能,击穿影响写性能D.两者无区别以下哪种缓存策略可能导致缓存“污染”?A.LRU B.LFU C.FIFO D.随机淘汰Redis的“Pipeline”功能主要作用是?A.批量操作提升性能B.数据加密C.持久化D.主从复制“缓存命中率”过低可能的原因是?A.缓存过期时间过长B.缓存容量过大C.缓存未预热D.缓存数据更新频繁本地缓存的主要缺点是?A.不支持分布式B.读写性能低C.不支持过期策略D.数据一致性差以下哪种情况会导致缓存“雪崩”?A.大量key过期B.单条key频繁更新C.网络抖动D.缓存服务器宕机“Cache Aside”更新策略的正确步骤是?第3页共9页A.先更新数据库,再更新缓存B.先删除缓存,再更新数据库C.先更新数据库,再删除缓存D.先查询缓存,再查询数据库Redis的“主从复制”中,主节点故障时,可通过什么角色接管服务?A.从节点B.哨兵节点C.集群节点D.备份节点缓存“预热”的主要目的是?A.减少缓存穿透B.避免缓存雪崩C.快速响应用户请求D.优化缓存结构以下哪种缓存技术支持“持久化”功能?A.Memcached B.Redis C.LocalCache D.分布式缓存“缓存穿透”的最佳解决方案是?A.空值缓存B.布隆过滤器C.缓存降级D.增加缓存容量Redis的“Key过期策略”中,“定期删除+惰性删除”的组合是为了?A.平衡性能与内存占用B.提高数据安全性C.减少CPU消耗D.简化实现逻辑
三、多项选择题(共20题,每题2分)(以下题目涉及缓存技术细节、架构设计及问题处理)常见的缓存类型有?A.本地缓存B.分布式缓存C.多级缓存D.只读缓存缓存更新策略包括?A.Cache AsideB.Write ThroughC.Write BackD.ReadThrough导致缓存“穿透”的原因有?A.恶意请求查询不存在的key B.布隆过滤器误判C.缓存中无数据且数据库也无D.缓存过期时间设置过长第4页共9页Redis支持的数据结构有?A.String B.Hash C.List D.Set缓存“雪崩”的解决方案包括?A.过期时间随机化B.多级缓存架构C.熔断降级D.主从+哨兵本地缓存的实现方式有?A.Caffeine B.Guava CacheC.Redis D.Ehcache缓存“击穿”的解决方案有?A.互斥锁B.热点key永不过期C.布隆过滤器D.预加载热点key以下属于缓存“降级”场景的有?A.缓存服务不可用时,返回默认值B.降低缓存更新频率C.用本地缓存替代分布式缓存D.缓存数据压缩存储Redis的持久化方式有?A.RDB B.AOF C.Snapshot D.日志缓存“命中率”受哪些因素影响?A.缓存预热程度B.缓存容量C.数据分布D.访问模式布隆过滤器的特点有?A.空间效率高B.时间效率高C.有误判率D.支持删除操作缓存“一致性”保证的方法有?A.Cache Aside+延迟双删B.消息队列异步更新C.分布式锁D.读写分离Redis的“集群模式”相比“主从模式”的优势有?A.支持分片B.高可用C.读写分离D.无限扩展容量以下属于缓存“预热”的场景有?A.系统启动时加载热门商品数据B.定时任务更新缓存第5页共9页C.用户首次访问时加载数据D.活动前预加载数据缓存“降级”与“熔断”的区别是?A.降级是临时措施,熔断是保护机制B.降级不中断服务,熔断中断服务C.降级影响功能,熔断不影响功能D.两者无区别Redis的“哨兵模式”主要作用是?A.监控主节点状态B.自动故障转移C.主从切换D.数据分片缓存“穿透”与“击穿”的共同解决方法有?A.布隆过滤器B.空值缓存C.互斥锁D.热点key永不过期以下属于缓存“污染”的后果有?A.命中率下降B.缓存容量浪费C.系统性能下降D.数据一致性问题Redis的“Pipeline”与“事务”的区别是?A.Pipeline批量操作,事务保证原子性B.Pipeline有网络往返开销,事务无C.Pipeline支持回滚,事务不支持D.两者可互相替代多级缓存架构的优势有?A.降低分布式缓存压力B.提升读写性能C.提高系统可用性D.简化缓存逻辑
四、判断题(共20题,每题1分)(以下题目考查对缓存基础概念的理解,正确打“√”,错误打“×”)缓存命中率越高,系统性能一定越好()Redis仅支持String类型数据()本地缓存不支持分布式共享()第6页共9页缓存“雪崩”是指缓存服务宕机()LRU策略会优先淘汰最近最少使用的缓存项()“Cache Aside”策略中,先更新缓存再更新数据库会导致数据不一致()Redis的AOF持久化比RDB更安全()缓存穿透的解决方案只能用布隆过滤器()布隆过滤器可以完全避免缓存穿透()本地缓存的性能通常优于分布式缓存()Redis的“过期键”会被立即删除()缓存“降级”是指关闭缓存服务()缓存“预热”的目的是减少首次访问延迟()Redis的主从复制中,从节点只能读不能写()缓存与数据库一致性问题可完全避免()LFU策略比LRU更适合热点数据场景()Redis的“Key”只能是String类型()缓存“击穿”是指大量请求访问同一缓存未命中项()多级缓存架构中,本地缓存可完全替代分布式缓存()Redis的“哨兵模式”可实现自动故障转移()
五、简答题(共2题,每题5分)简述缓存与数据库一致性的保证方案(至少3种)说明缓存雪崩的原因及解决措施(至少4种)
六、参考答案
一、单项选择题(30题)B
2.D
3.C
4.A
5.A
6.B
7.B
8.C
9.A
10.A第7页共9页A
12.B
13.B
14.A
15.B
16.B
17.B
18.D
19.A
20.BA
22.C
23.A
24.A
25.C
26.B
27.C
28.B
29.B
30.A
二、多项选择题(20题)ABC
2.ABCD
3.AC
4.ABCD
5.ABCD
6.ABD
7.ABD
8.ABC
9.AB
10.ABCDABC
12.ABC
13.AB
14.AD
15.AB
16.ABC
17.AB
18.ABC
19.A
20.ABC
三、判断题(20题)×(高命中率需结合数据分布,过度缓存可能浪费空间)×(Redis支持String、Hash、List等多种结构)√(本地缓存仅存在单节点,不支持分布式共享)×(缓存“雪崩”指大量key过期导致数据库压力骤增)√(LRU淘汰最近最久未使用项)√(先更新缓存再更新数据库会因缓存更新失败导致数据不一致)√(AOF记录写操作,RDB是快照,AOF安全性更高)×(还可通过空值缓存、参数校验等解决)×(布隆过滤器有误判率,可能将存在的key误判为不存在)√(本地缓存无网络开销,性能通常优于分布式缓存)×(Redis通过“定期删除+惰性删除”策略,不会立即删除过期键)×(降级是降低功能,保留核心服务,非完全关闭缓存)√(预热可避免首次访问缓存未命中导致的延迟)√(主从复制中,从节点仅同步数据,不处理写请求)×(完全避免一致性问题成本高,需权衡性能与一致性)第8页共9页√(LFU优先淘汰访问频率低的项,更适合热点数据)×(Redis的Key可支持String、Hash等类型的key)√(缓存“击穿”指热点key过期时大量请求直击数据库)×(多级缓存各有优势,本地缓存无法替代分布式缓存)√(哨兵模式通过监控和自动转移,实现高可用)
四、简答题(2题)缓存与数据库一致性保证方案Cache Aside+延迟双删更新数据库后先删缓存,再更新数据库,再删一次缓存,避免缓存脏数据消息队列异步更新通过消息队列异步同步缓存与数据库,确保最终一致性分布式锁更新数据时加锁,保证缓存与数据库操作原子性,避免并发不一致缓存雪崩原因及解决措施原因大量key过期或缓存服务宕机,导致数据库被大量请求直击措施
①过期时间随机化(避免key过期);
②多级缓存(本地缓存+分布式缓存);
③熔断降级(缓存不可用时返回默认值);
④主从+哨兵(缓存高可用,避免单点故障)文档说明本文题目覆盖缓存核心知识点,答案基于工程实践,可帮助面试者快速掌握高频考点,提升准备效率第9页共9页。
个人认证
优秀文档
获得点赞 0