.NET 消息队列面试题(含详细答案).docxVIP

  • 1
  • 0
  • 约5.35千字
  • 约 9页
  • 2026-11-16 发布于河北
  • 举报

.NET 消息队列面试题(含详细答案).docx

.NET消息队列面试题(含详细答案)

适用:RabbitMQ、Kafka、RedisQueue、MassTransit、CAP等.NET后端岗位面试

一、基础概念题

1.什么是消息队列?消息队列解决了什么问题?

答案:

消息队列是一种异步通信中间件,生产者把消息投递到队列,消费者从队列拉取消息进行处理,生产者和消费者不需要同步等待对方执行完成。

主要解决的问题:

解耦:业务模块之间不再直接调用,新增或者修改下游服务不改动上游代码;

削峰填谷:流量突增时消息先堆积在队列,消费者按自身处理能力匀速消费,避免瞬时流量压垮服务;

异步处理:非核心流程异步化,缩短主请求响应时间,提升接口吞吐量;

可靠通知:保证消息可以被投递、重试,适合跨服务事件通知、数据同步场景。

2.同步调用和消息队列异步通信的区别?

答案:

同步调用:A服务直接HTTP/RPC调用B服务,A需要等待B执行完毕拿到结果,链路阻塞,B宕机或者超时会直接影响A。

消息队列异步:A只负责发消息,发完立刻返回,不等待B;B在后台消费消息。

缺点对比:异步带来了消息丢失、重复消费、消息顺序、事务一致性等问题,业务复杂度更高。

3.消息队列有哪些常见模型?

答案:

点对点(P2P):一个消息只会被一个消费者消费一次;

发布订阅(Pub/Sub):一条消息发送到交换机/主题,所有订阅该主题的消

文档评论(0)

1亿VIP精品文档

相关文档