0
点赞
收藏
分享

微信扫一扫

中间件面试题

一、Redis相关面试题

1.redis数据类型

答:string、Hash、list、无序集合、有序集合

2.redis过期策略?内存淘汰策略?

答:

过期策略:

1.定时删除:创建一个定时器,到时间立即执行删除操作(对​​内存​​友好,因为能保证过期了立马删除,但是对cpu不友好)

2.惰性删除:键过期不管,每次获取键时检查是否过期,过期就删除(对cpu友好,但是只有在使用的时候才可能删除,对内存不友好)

3.定期删除:隔一段时间检查一次(具体算法决定检查多少删多少,需要合理设置)

内存淘汰策略:

1.volatile-lru(当内存不足时,从设置了过期时间的key中使用LRU算法,选出最近使用最少的数据,进行淘汰)

2.allkeys-lru(当内存不足时,从所有的key中使用LRU算法,选出最近使用最少的数据,进行淘汰)

3.volatile-lfu(当内存不足时,从设置了过期时间的key中使用LFU算法,选出使频率最低的数据,进行淘汰)

4.allkeys-lfu(当内存不足时,从所有的key中使用LFU算法,选出使频率最低的数据,进行淘汰)

5.volatile-random(当内存不足时,从设置了过期时间的key中,随机选出数据,进行淘汰。)

6.allkeys-random(当内存不足时,从所有的key中,随机选出数据,进行淘汰。)

7.volatile-ttl(当内存不足时,从设置了过期时间的key中,选出即将过期的数据(按照过期时间的先后,选出先过期的数据),进行淘汰。)

8.noeviction(当内存不足时,禁止淘汰数据,写入操作报错默认策略,是Redis默认的内存淘汰策略)


3.什么是缓存雪崩、击穿、穿透?

答:

击穿:缓存某个热点失效,此时大量的访问该热点数据,导致数据库压力剧增,高并发冲垮数据库(解决办法:1、互斥锁,2.缓存永不过期)

穿透:当用户访问数据时既不在缓存中,也不在数据库中(解决办法:1、非法请求限制,2、缓存空值或者默认值、3、使用过滤器来判断)

雪崩:当大量的缓存失效或者redis宕机时,全部请求访问数据库导致数据库请求量过大,严重导致宕机。(解决办法:1、互斥锁 2、均匀设置过期时间

二、Kafka相关面试题

1.如何提升Kafka的吞吐量

答:1.batch.size:批次大小,默认16k 2. linger.ms:等待时间,修改为5-100ms 3.compression.type:压缩snappy 4.RecordAccumulator:缓冲区大小,修改为64m

2.ACK应答级别

答:

acks=0,生产者发送过来数据就不管了,可靠性差,效率高;

acks=1,生产者发送过来数据Leader应答,可靠性中等,效率中等;

acks=-1,生产者发送过来数据Leader和ISR队列里面所有Follwer应答,可靠性高,效率低;

在生产环境中,acks=0很少使用;acks=1,一般用于传输普通日志,允许丢个别数据;acks=-1,一般用于传输和钱相关的数据, 对可靠性要求比较高的场景。

3.生产端如何保证数据可靠性?

答:

  1. ACK级别设置为-1
  2. 分区副本大于等于2
  3. 3. ISR里应答的最小副本数量大于等于2

4.Kafka如何解决数据重复?

答:Kafka运用了幂等性PID+Partition+SeqNumber 其中PID是Kafka每次重启都会分配一个新的;Partition 表示​分区号;Sequence Number是单调自增的。(开启参数 enable.idempotence 默认为 true,false 关闭)

5.生产端如何保证数据有序?

答:

1)kafka在1.x版本之前保证数据单分区有序,条件如下:

max.in.flight.requests.per.connection=1(不需要考虑是否开启幂等性)。

2)kafka在1.x及以后版本保证数据单分区有序,条件如下:

​(1)未开启幂等性

max.in.flight.requests.per.connection需要设置为1。

(2)开启幂等性

max.in.flight.requests.per.connection需要设置小于等于5。

原因说明:因为在kafka1.x以后,启用幂等后,kafka服务端会缓存producer发来的最近5个request的元数据, 故无论如何,都可以保证最近5个request的数据都是有序的。

6.borker端如选举Leader?

答:在isr中存活为前提,按 照AR中排在前面的优先。例如 ar[1,0,2], isr [1,0,2],那么leader就会按照1,0,2的顺序轮询





举报

相关推荐

0 条评论