Redis缓存的连环炮面试题

说实话,这一套东西基本构成了缓存这块你必须知道的基础性的知识,如果你不知道,那么说明你有点失职,确实平时没好好积累。因为这些问题确实不难,如果我往深了问,可以问的很细,结合项目扣的很细,比如你们公司线上系统高峰QPS 3000?那请求主要访问哪些接口?redis抗了多少请求?mysql抗了多少请求?你到底是怎么实现高并发的?咱们聊聊redis的内核吧,看看你对底层了解的多么?如果要缓存几百GB的数据会有什么坑该这么弄?如果缓存出现热点现象该这么处理?某个value特别大把网卡给打死了怎么办?等等等等,可以深挖的东西其实有很多。。。。。但是如果你掌握好了这套东西的回答,那么你在面试的时候,如果面试官没有全都问到,你可以自己主动合盘脱出。比如你可以说,我们线上的缓存,做了啥啥机制,防止雪崩、防止穿透、保证双写时的数据一致性、保证并发竞争时的数据一致性,我们线上咋部署的,啥架构,怎么玩儿的。这套东西你可以自己说出来,展示一下你对缓存这块的掌握。

1 为什么要用Redis缓存?

项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?这个问题,互联网公司必问,要是一个人连缓存都不太清楚,那确实比较尴尬。只要问到缓存,上来第一个问题,肯定是先问问你项目哪里用了缓存?为啥要用?不用行不行?如果用了以后可能会有什么不良的后果?这就是看看你对缓存这个东西背后有没有思考,如果你就是傻乎乎的瞎用,没法给面试官一个合理的解答,那面试官对你印象肯定不太好,觉得你平时思考太少,就知道干活儿。公司可以用redis做数据清洗,历史数据补全,持久化历史数据并进行汇总。

三种常见的缓存

回答:

Redis高并发和高可用

Redis的线程模型为啥单线程还能有很高的效率?

Redis的线程模型为啥单线程还能有很高的效率?

2.Redis数据类型和适用场景

回答:

Redis数据类型和适用场景

3.你是怎么解决rendis数据量较大的问题,也许会沾满内存导致宕机?

回答:

Redis过期策略和内存淘汰机制(手写LRU算法)

4.那么当redis宕机你有什么解决办法?

回答:

Redis持久化机制具体底层如何实现的?

5.你们是如何搭建集群的?

回答:

Redis集群模式工作原理和一致性Hash算法

6.redis和数据库如何保证数据的一致性问题?

回答:

如何保证Redis缓存与数据库的双写一致性?

7.redis如何处理并发带来的事物问题?

回答:

Redis并发竞争问题和事务CAS方案

8.你们的生产部署redis是什么样子的?

回答:

Redis在生产环境中是怎么部署的?

猜你喜欢

转载自blog.csdn.net/ZGL_cyy/article/details/113804339