中间件常见面试题

Posted 神即道,道法自然,如来。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中间件常见面试题相关的知识,希望对你有一定的参考价值。

redis如何主从同步?

  • 全量复制 通过rdb文件当slave机器连接的时候 master服务器 fork一个子线程 子线程生成一个快照,同步给slave去同步数据
  • 增量复制 通过心跳命令去增量同步数据,服务器会维护一个log的内存文件和已经同步的偏移量信息
  • 无磁盘复制 通过内存生成文件去复制,不通过磁盘

redis分布式锁注意事项?

redis的哨兵和集群模式?

redis的基本数据结构和底层实现

redis的持久化方案

分布式事务的解决方案?

分布式下redis如何保证线程安全?

单点登录怎么实现?

秒杀系统怎么来实现?

多路复用 IO NIO BIO

布隆过滤器 Bitmap

kafka的架构,如何用kafka保证消息的有序性

kafka和redis的区别

MQ

  1. 交换机类型

    1. 消息怎么删除

    2. 消息队列的使用场景

      1. 削峰
        1. 解耦
        2. 异步
        3. 广播
    3. 消息队列什么时候变成死信

      1. 消息消费的时候被拒绝,没有设置重新进入队列
        1. 消息过期
        2. 超过队列长度的时候 第一条消息会变成死信
    4. 多个消费者监听同一个队列,消息怎么分发

      1. 轮询
        1. 公平分发
      2. 比如有的消费时间比较久,占用时长高,这时候可以设置参数 大于多少个的时候不在分发消息
    5. 无法路由的消息去了哪里?一般被丢弃

    6. 延迟队列如何实现

      • 3.7+ 有一个延迟队列插件

      • TTL + 死信队列 可以通过消息的存活时间和死信队列来实现,指定死信交换机

  2. 消息的顺序执行

    1. 一个队列一个消费者

    2. 一个队列,然后使用内存队列排队,根据订单id哈希去把同一个订单的发送到同一个队列,然后使用多个线程去消费不同的队列

以上是关于中间件常见面试题的主要内容,如果未能解决你的问题,请参考以下文章

中间件常见面试题

中间件常见面试题

RabbitMQ简单介绍及常见面试题

java 面试--常见面试题(上)

Node.js常见面试题

MQ消息队列常见面试题