全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页

RABBITMQ 中级技能认证测试

21 题 60 分钟 难度:

考察知识点

  • 交换机类型详解(Direct、Fanout、Topic、Headers)
  • 消息路由与绑定规则
  • 死信队列与延迟队列原理及应用场景
  • 消息可靠性保障(发布确认、事务机制、持久化等)
  • 连接管理与 Channel 复用
  • 消费者模式与并发处理
  • 集群与高可用架构(镜像队列、Quorum 队列等)
  • 消息序列化与格式处理
1
判断题

RabbitMQ 启动后会自动创建一个名为 ""(空字符串)的默认交换机,生产者无需显式声明交换机即可直接发布消息到队列。

A

B

2
判断题

Direct 交换机支持将同一个队列绑定到同一个路由键上,从而实现多个消费者共同处理同一类消息。

A

B

3
单选题

以下哪个场景最适合使用 Fanout 交换机?

A

根据用户级别将通知路由到不同的处理队列

B

将系统配置变更消息同时广播到缓存刷新队列、日志记录队列和审计队列

C

将订单消息路由到处理队列,routing_key 为 "order.create"

D

根据路由键通配符匹配日志级别

4
判断题

在 RabbitMQ 中,queueBind 方法用于建立队列与交换机之间的绑定关系,绑定关系中可以指定 routing_key 和可选的 arguments 参数。

A

B

5
填空题

Topic 交换机绑定键 "order.#" 可以匹配路由键 "order" ( "#" 匹配 ________ ),也可以匹配 "order.create.success" ( "#" 匹配 ________ )。

6
多选题

关于队列的多重绑定,以下哪些说法是正确的?

A

一个队列可以绑定到多个不同类型的交换机

B

队列绑定到同一交换机的多个路由键时,每条消息都会被多次投递到该队列

C

多重绑定可以用于实现消息的多来源聚合

D

队列绑定到多个交换机时,消费者需要分别处理来自不同路由键的消息

7
判断题

rabbitmq-delayed-message-exchange 是 RabbitMQ 官方内置的插件,无需额外安装即可直接使用。

A

B

8
多选题

关于死信消息的 x-death header,以下说法正确的有哪些?

A. x-death 是一个列表类型,记录消息每次进入死信队列的信息 B. x-death 中的 reason 字段取值为 rejectedexpiredmaxlen C. x-death 中的 queue 字段记录消息从哪个队列被转发为死信 D. 消息多次进入死信队列时,x-death 列表只保留最后一次记录

9
填空题

消息被转发到死信交换机时,默认使用的路由键是 __________ 。如果希望自定义死信路由键,可以通过配置队列的 ________________________ 参数来覆盖默认行为。

10
判断题

在 RabbitMQ 消费端,当消费者处理消息抛出异常时,可以通过 basicNack 方法拒绝消息并设置 requeue=true 让消息重新入队重试。

A

B

11
多选题

关于 Publisher Confirm 机制的 ConfirmCallback 回调,以下哪些说法是正确的?

A

ConfirmCallback 中的 ack 表示消息已成功到达交换机

B

ConfirmCallback 中的 nack 表示消息未到达交换机,可以重发

C

ConfirmCallback 是同步阻塞回调,会等待 Broker 响应

D

批量发布多条消息时,Broker 可能会批量返回确认

12
判断题

RabbitMQ 原生支持消息去重功能,生产者可以通过设置消息的 message-id 属性让 Broker 自动过滤重复消息。

A

B

13
判断题

在RabbitMQ应用中,为每个消息发送都创建新的Connection和Channel是最简单的做法,且在生产环境中推荐使用这种方式。

A

B

14
多选题

关于RabbitMQ Channel复用,以下哪些说法是正确的?

A

一个Connection上可以创建多个Channel

B

发布消息和消费消息可以共用同一个Channel

C

使用Publisher Confirms时,建议为确认回调使用独立的Channel

D

Channel的序号(channel number)在同一个Connection内唯一

15
多选题

在RabbitMQ中引入多VHost架构,以下哪些是其主要目的?

A

实现不同业务域之间的资源隔离

B

为不同租户(tenant)提供独立的权限管控

C

提升消息传输的吞吐量

D

允许不同团队独立管理各自VHost的资源而互不干扰

16
单选题

关于 RabbitMQ 消费者预取数量(prefetch count),以下说法正确的是:

A. basicQos(10) 表示消费者每次最多同时处理 10 条消息,未确认消息达到 10 条时不再投递新消息 B. basicQos(10) 表示消费者每秒最多消费 10 条消息 C. basicQos(10) 表示队列中最多保留 10 条未消费的消息 D. basicQos(10) 表示消费者每次 basicGet 批量拉取 10 条消息

17
单选题

关于手动确认(manual acknowledgment),以下哪种做法是最佳实践?

A. 在消息回调函数入口处立即调用 basicAck 确认消息 B. 在业务逻辑执行成功后(如数据库更新完成)调用 basicAck C. 在消费者启动时预先确认所有收到的消息 D. 在消费者关闭时批量确认所有未确认的消息

18
单选题

关于 RabbitMQ 的两种集群架构模式,以下说法正确的是:

A. 普通集群模式下,队列内容和消息数据在所有节点间完整同步 B. 镜像集群模式下,队列内容和消息数据在所有镜像节点间完整复制 C. 普通集群模式下,消费者连接到任意节点都可以消费任意队列的消息,因为消息数据在该节点本地 D. 镜像集群的性能高于普通集群,因为数据复制带来了更好的读写速度

19
多选题

从 RabbitMQ 集群中移除一个节点时,leave_clusterforget_cluster_node 的区别有哪些?

A. leave_cluster 在目标节点上执行,节点主动退出集群 B. forget_cluster_node 在集群的其他节点上执行,从集群中强制移除目标节点 C. leave_cluster 会保留节点上的队列数据 D. forget_cluster_node 会强制从集群元数据中删除该节点,即使该节点已宕机

20
判断题

在RabbitMQ中,消息的content_type属性是一个可选的元数据字段,不设置该属性不会影响消息的正常投递和消费。

A

B

21
多选题

以下关于RabbitMQ消息JSON序列化的描述,哪些是正确的?

A

JSON格式的消息体积通常比Protobuf大

B

JSON序列化后的消息体是UTF-8编码的文本

C

在JSON消息中可以安全地传输Java的Date对象

D

消费者端反序列化JSON时,字段顺序必须与生产者端完全一致

下一个试卷 → RABBITMQ 初级技能认证测试

📝 发现内容有误?点击此处直接编辑

想参加完整模拟考试?
小程序提供计时考试、自动评分和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库