全部学科
Python全栈
python
NodeJS全栈
nodejs

RABBITMQ 初级技能认证测试

21 题 45 分钟 难度:★

考察知识点

  • RabbitMQ 架构概述与安装配置
  • 消息队列基础概念(生产者、消费者、队列、交换机等)
  • 核心概念入门(AMQP 协议、虚拟主机、消息模型等)
  • 工作队列模式(轮询分发、公平分发等)
  • 消息发送与接收基础流程
  • 消息确认机制基础(ACK 机制)
💡 参考答案在文末
判断题
1

在电商订单系统中,用户下单后需要依次调用库存、支付、物流、积分等多个服务,使用消息队列可以将这些操作解耦,避免服务间的强依赖。

A

B

2

Kafka的设计目标是高吞吐量的日志收集与流处理场景,而RabbitMQ更侧重于消息的可靠投递和复杂的路由功能。

A

B

3

在手动确认模式下,消费者必须在处理完消息后显式调用 basicAck 方法向 Broker 发送确认,否则消息会一直保留在队列中等待重新投递。

A

B

4

在 Windows 系统上本地安装 RabbitMQ 时,只需安装 RabbitMQ Server,无需单独安装 Erlang/OTP,因为安装包里已经包含了 Erlang 运行时。

A

B

5

RabbitMQ 中的队列(Queue)遵循 FIFO(先进先出)原则,即先发送到队列的消息会先被消费者接收。

A

B

6

RabbitMQ 中,交换机与队列之间的绑定关系可以在代码中通过编程方式动态创建,也可以在管理界面中手动配置。

A

B

7

RabbitMQ 中,交换机接收生产者发送的消息后,会根据路由规则和绑定关系将消息转发到对应的队列;如果消息无法路由到任何队列,默认情况下该消息会被丢弃。

A

B

8

在RabbitMQ中,消费者调用channel.basicConsume()方法后,会立即阻塞当前线程并等待消息到达。

A

B

9

在 RabbitMQ 的工作队列模式中,多个消费者可以同时连接到同一个队列,共同消费队列中的消息,且每条消息只会被其中一个消费者处理。

A

B

10

消息队列(Message Queue)是一种在分布式系统中用于实现异步通信的中间件,它允许生产者发送消息后无需等待消费者处理即可继续执行。

A

B

11

RabbitMQ 是基于 AMQP(Advanced Message Queuing Protocol)协议实现的消息中间件。

A

B

单选题
12

在消息队列的交互流程中,生产者发送消息到队列后,消息的流转顺序正确的是?

A

生产者 -> 消费者 -> 消息队列 -> 生产者

B

生产者 -> 消息队列 -> 消费者 -> 消费确认

C

消息队列 -> 生产者 -> 消费者 -> 消息队列

D

消费者 -> 消息队列 -> 生产者 -> 消费确认

13

在 RabbitMQ 架构中,负责将消息从生产者路由到队列的核心组件是以下哪一个?

A

Exchange(交换机)

B

Connection(连接)

C

Channel(信道)

D

Virtual Host(虚拟主机)

14

在 RabbitMQ 中,以下关于默认虚拟主机(/)的说法,正确的是:

A

/ 是系统自动创建的唯一 VHost,所有未指定 VHost 的连接都会路由到它

B

/ 只是一个普通 VHost,可以像其他 VHost 一样被删除或重命名

C

RabbitMQ 启动时会自动创建 / VHost,但如果用户创建了其他 VHost 并配置了默认连接,可以不再使用 /

D

/ VHost 拥有特殊的权限,所有其他 VHost 的用户都必须通过它进行认证

15

在 RabbitMQ 工作队列模式中,如果消费者处理消息需要较长时间(如模拟耗时任务),以下关于消息确认(acknowledgment)的描述正确的是:

A

消息一经投递就自动确认,与处理时间无关

B

消费者必须在处理完成后手动发送确认,否则消息会重新入队

C

处理耗时任务时,消息会一直保留在队列中直到消费者确认

D

耗时任务的确认超时时间由 RabbitMQ 服务器自动设定,消费者无法控制

16

在工作队列模式中,预取值(prefetch count)用于实现公平分发机制。如果将预取值设置为 5,以下描述正确的是:

A

每个消费者最多只能接收 5 条消息,之后不再接收任何消息

B

每个消费者最多只能有 5 条未确认的消息,确认一条后才能再接收新消息

C

队列中最多只能有 5 条消息等待分发,其余消息会被暂存

D

每个消费者一次只能批量接收 5 条消息,必须一次性确认

17

在RabbitMQ中,生产者发送消息到指定交换机时,首先需要建立的底层连接对象是什么?

A

Channel

B

Connection

C

Queue

D

Exchange

18

使用RabbitMQ Java客户端创建连接时,以下关于虚拟主机(Virtual Host)的描述错误的是?

A

虚拟主机用于实现多租户隔离

B

不同虚拟主机中可以存在同名的交换机和队列

C

创建ConnectionFactory时默认使用的虚拟主机是"/admin"

D

通过connectionFactory.setVirtualHost()方法可以设置虚拟主机

19

在 RabbitMQ 中,生产者发送消息时指定的路由键(Routing Key)最大长度限制是多少?如果路由键超过该限制会发生什么?

A

128 字节,超过限制的消息被丢弃

B

255 字节,超过限制的发送操作会抛出异常

C

512 字节,超过限制的路由键会被自动截断

D

没有长度限制,可以任意指定

20

在 RabbitMQ 中,关于自动确认模式(Auto Acknowledge),下列说法错误的是:

A

消费者在订阅队列时设置 autoAck=true 即可启用自动确认模式

B

消息一旦被投递给消费者,Broker 会立即将该消息从队列中删除

C

自动确认模式下,如果消费者在处理消息过程中崩溃,消息不会丢失

D

自动确认模式适用于消息处理速度快且对消息丢失不敏感的场景

21

以下关于 RabbitMQ 与 Erlang 版本兼容性的说法,正确的是哪一项?

A

RabbitMQ 与 Erlang 版本完全独立,可以随意组合

B

只需关注 Erlang 的大版本号,小版本号无需关心

C

应参照 RabbitMQ 官方发布的 Erlang 兼容性矩阵选择匹配的 Erlang 版本

D

Erlang 版本越高,RabbitMQ 的性能一定越好

参考答案
1.正确 2.正确 3.正确 4.错误 5.正确 6.正确 7.正确 8.错误 9.正确 10.正确 11.正确 12.B 13.A 14.C 15.B 16.B 17.B 18.C 19.B 20.C 21.C
想在手机上练习这套试卷?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一套试卷 RABBITMQ 中级技能认证测试
下一套试卷 → RABBITMQ 高级技能认证测试
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码