RabbitMQ Interview Questions
Exchanges, queues and bindings, delivery guarantees, acknowledgement and prefetch, dead-lettering and retry, quorum queues and clustering, and when a broker is the wrong answer.
Showing 1–20 of 100
#1Why use a message broker at all?
#2What is AMQP and how does RabbitMQ relate to it?
#3What is the difference between a queue and a topic, conceptually?
#4When would you choose RabbitMQ over Kafka?
#5What is the difference between a command and an event, and why does it matter for design?
#6What delivery guarantees exist and which does RabbitMQ provide?
#7What is back-pressure and how does a queue provide it?
#8What is the dual-write problem and how does it affect messaging?
#9What does it mean for a consumer to be idempotent, and how do you achieve it?
#10Does RabbitMQ guarantee message ordering?
#11What is a connection versus a channel in RabbitMQ?
#12What is a virtual host and why use one?
#13What are the exchange types and when do you use each?
#14How does topic exchange routing actually work?
#15What is the difference between a durable queue and a persistent message?
#16What are quorum queues and why did they replace mirrored queues?
#17What are RabbitMQ streams and how do they differ from queues?
#18What is a lazy queue and when would you use one?
#19How do you set a TTL on messages or queues?
#20How do you implement delayed or scheduled messages?
Showing 1–20 of 100
Ask Aria about RabbitMQ
Sign in to chat with Aria
All 100 RabbitMQ questions at a glance
- Why use a message broker at all?(Easy)
- What is AMQP and how does RabbitMQ relate to it?(Medium)
- What is the difference between a queue and a topic, conceptually?(Easy)
- When would you choose RabbitMQ over Kafka?(Medium)
- What is the difference between a command and an event, and why does it matter for design?(Medium)
- What delivery guarantees exist and which does RabbitMQ provide?(Medium)
- What is back-pressure and how does a queue provide it?(Medium)
- What is the dual-write problem and how does it affect messaging?(Hard)
- What does it mean for a consumer to be idempotent, and how do you achieve it?(Medium)
- Does RabbitMQ guarantee message ordering?(Hard)
- What is a connection versus a channel in RabbitMQ?(Medium)
- What is a virtual host and why use one?(Medium)
- What are the exchange types and when do you use each?(Easy)
- How does topic exchange routing actually work?(Medium)
- What is the difference between a durable queue and a persistent message?(Medium)
- What are quorum queues and why did they replace mirrored queues?(Hard)
- What are RabbitMQ streams and how do they differ from queues?(Hard)
- What is a lazy queue and when would you use one?(Medium)
- How do you set a TTL on messages or queues?(Medium)
- How do you implement delayed or scheduled messages?(Hard)
- What is a priority queue and what are its limitations?(Medium)
- What is an alternate exchange?(Medium)
- Who should declare exchanges and queues — the publisher or the consumer?(Medium)
- What are exclusive and auto-delete queues for?(Medium)
- How do bindings work and can you bind an exchange to an exchange?(Medium)
- What happens to a message that cannot be routed?(Medium)
- What are publisher confirms and why do you need them?(Medium)
- What is the difference between automatic and manual acknowledgement?(Medium)
- What is prefetch and how do you choose a value?(Medium)
- What is the difference between nack and reject, and what does requeue do?(Medium)
- How do competing consumers work and how is work distributed?(Medium)
- How do you implement request-reply over RabbitMQ?(Medium)
- What message properties are worth setting?(Medium)
- How should you serialise messages?(Medium)
- What is consumer prefetch versus channel prefetch?(Hard)
- How do you handle a consumer that needs to do slow work?(Medium)
- What happens when a consumer disconnects mid-processing?(Medium)
- How do you scale consumers, and what limits the scaling?(Medium)
- What is the single active consumer feature for?(Hard)
- How do you handle consumer deployment without losing messages?(Medium)
- What is the full set of settings needed for a message not to be lost?(Hard)
- Why are publisher confirms preferable to AMQP transactions?(Hard)
- What does a publisher do when it receives a nack?(Hard)
- What is the acknowledgement timeout and why does it matter?(Hard)
- What are heartbeats and why do they matter?(Medium)
- How should a client handle connection failures?(Medium)
- What is the poison message problem?(Medium)
- How do you implement retry with backoff in RabbitMQ?(Hard)
- What is the x-death header and what does it tell you?(Hard)
- What happens to messages when the broker runs out of memory or disk?(Hard)
- What is a queue length limit and what are the overflow options?(Medium)
- How do you make sure a message is processed exactly once, in practice?(Hard)
- What is the difference between at-least-once and effectively-once?(Hard)
- How do you test messaging code?(Medium)
- What is a dead-letter exchange and when do messages go there?(Medium)
- How do you decide whether a failure is retryable?(Medium)
- What should you do with messages in a dead-letter queue?(Medium)
- How do you avoid an infinite dead-letter loop?(Hard)
- Should a consumer acknowledge a message it could not process?(Medium)
- How do you handle a message whose schema has changed?(Hard)
- What is a shovel and when would you use one?(Medium)
- How do you monitor a RabbitMQ deployment?(Medium)
- A queue is growing and consumers appear healthy. How do you diagnose it?(Hard)
- What should you log around message processing?(Medium)
- How do you trace a message across services?(Hard)
- What are the most common RabbitMQ mistakes you see?(Medium)
- How do you replay messages after fixing a consumer bug?(Hard)
- What is the difference between rejecting a message and letting the consumer crash?(Medium)
- How does RabbitMQ clustering work?(Hard)
- What is a network partition and how does RabbitMQ handle one?(Hard)
- How do clients discover and fail over between cluster nodes?(Hard)
- What is federation and how does it differ from clustering?(Hard)
- How do you upgrade a RabbitMQ cluster without downtime?(Hard)
- How do you size a RabbitMQ cluster?(Hard)
- What happens if the node hosting a classic queue fails?(Medium)
- How do you back up and restore RabbitMQ?(Medium)
- How do you secure a RabbitMQ deployment?(Medium)
- What is the management plugin and what should you not do with it?(Medium)
- What limits RabbitMQ throughput?(Hard)
- How do you increase throughput for a single high-volume queue?(Hard)
- Should you batch messages, and how?(Medium)
- What is the cost of persistent messages and when can you avoid them?(Medium)
- How does connection and channel management affect performance?(Medium)
- How do message size and payload design affect performance?(Medium)
- What is the impact of queue length on performance?(Medium)
- How do you load test a messaging system?(Medium)
- What broker settings would you tune first?(Hard)
- How do you decide between more consumers and more queues?(Hard)
- What is the claim-check pattern?(Medium)
- When is a message broker the wrong choice?(Medium)
- What is the competing consumers pattern and when does it not apply?(Easy)
- How do you implement the saga pattern with a message broker?(Hard)
- What is the difference between choreography and orchestration?(Hard)
- What is CQRS and how does messaging support it?(Hard)
- What is the difference between event notification and event-carried state transfer?(Hard)
- How do you handle a consumer that needs to call an unreliable external service?(Hard)
- How does RabbitMQ compare to SQS and other managed queues?(Medium)
- When would you use a database table as a queue instead?(Medium)
- How would you migrate from RabbitMQ to Kafka, or vice versa?(Hard)
- What would you check first if messages are being lost?(Medium)