面试题库

全部 Django Elasticsearch FastAPI Flask Function Call JVM Java IO Java 后端 Java 基础 Java 并发 Java 新特性 Java 集合 JavaWeb Kafka LLM LangChain LangGraph MongoDB MyBatis MySQL Netty Nginx Python RAG RabbitMQ Redis RocketMQ Spring Spring AI SpringBoot SpringCloud SpringMVC ZooKeeper 分布式 后端技术 大厂面经 大数据 微服务 提示词工程 操作系统 数据库 数据结构 智能体 海康威视2026秋季社招专项 消息队列 监控运维 算法 系统设计 缓存 计算机基础 计算机网络 设计模式 面试题 高可用 高并发
RabbitMQ 中等

服务端对每条 unacked 消息如何跟踪?unacked 消息过多会导致什么问题?

RabbitMQ 困难

消息被 nack 且 requeue=true 后,重投递顺序是否有保证?requeue 消息会被放到队头还是队尾?

RabbitMQ 简单

自动 ack 模式下 prefetch 还有意义吗?为什么自动 ack 不保证可靠消费?

RabbitMQ 困难

一个 Channel 上多个消费者(不同 consumer tag)的 ack 是如何区分和管理的?

RabbitMQ 中等

prefetch(basic.qos)与 ack 有什么关系?prefetch_count 设为 1 有什么优缺点?

RabbitMQ 困难

消费者 ack 超时(consumer_timeout)机制是什么?默认值是多少,如何配置?

RabbitMQ 中等

消息重复投递(redelivered 标志)在什么情况下会出现?如何判断幂等?

RabbitMQ 中等

为什么推荐先处理业务成功再 ack,而不是先 ack 再处理?两者各有什么后果?

RabbitMQ 中等

消费端异常时,何时应该 requeue、何时应该 reject 进死信?给出决策原则。

RabbitMQ 困难

手动 ack 模式下,消费者处理中崩溃,消息会丢失吗?unacked 消息会被重新投递给谁?

RabbitMQ 中等

basic.nack 与 basic.reject 有什么区别?requeue 参数如何影响重投递?

RabbitMQ 中等

basic.ack 的 multiple 参数含义是什么?批量 ack 有什么风险?