2018面试——1.Redis专题

问题是多变的,但是知识点是不变的,而且是相互连通的。所以掌握了知识点融会贯通才能以不变应万变。融合往往在脑子里进行,楼主尽量通过遇到的面试题来把他们串起来。

1、Redis有那些数据结构?你用过哪些?(这算是很普通的一个问题切入方式了

Redis的数据结构(包含了跳表的实现)

用过的数据结构:字符串String,SortedSet。

String的应用场景:作为字典key-value的形式存储,业务场景中被用作分布式锁。

SortedSet:用作阻塞队列。

2.说一下SortedSet的底层实现,了解跳表吗?

底层实现:个数小于64的时候是用的压缩列表,大于62用的跳表和哈希表。

3、说一下分布式锁是怎么实现的?

Redis实现分布式锁(错误的方法)

Redis实现分布式锁(正确的方式)

4、Redis锁中其实主要就是用到了Key失效机制还避免死锁,用Lua脚本来保证原子性,避免多客户端时间不一致的问题。那么Redis的Key失效机制是怎么样的呢?

Redis分布式锁(redis的key过期的实现)

5、key失效机制又会涉及到集群的情况下主从的一致性问题?以及Redis持久化文件AOF的问题?

Redis的集群分片

Redis的持久化问题

6、Redis的IO多路复用问题?(以及由此引出的linux多路复用)

Redis IO多路复用

Linux底层IO多路复用

7、codis的架构图,zookeeper在其中起了什么作用


目前只想到这些问题,如果你有更好的问题可以告诉楼主哦!


你可能感兴趣的:(redis,2018面试)