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.

ExchangesDeliveryDead LettersClusteringPatternsAria-powered explanations
0 / 100 answered
0%
4 Easy59 Medium37 Hard

Showing 120 of 100

#1Why use a message broker at all?

Easy
Fundamentals

#2What is AMQP and how does RabbitMQ relate to it?

Medium
Fundamentals

#3What is the difference between a queue and a topic, conceptually?

Easy
Fundamentals

#4When would you choose RabbitMQ over Kafka?

Medium
Fundamentals

#5What is the difference between a command and an event, and why does it matter for design?

Medium
Fundamentals

#6What delivery guarantees exist and which does RabbitMQ provide?

Medium
Fundamentals

#7What is back-pressure and how does a queue provide it?

Medium
Fundamentals

#8What is the dual-write problem and how does it affect messaging?

Hard
Fundamentals

#9What does it mean for a consumer to be idempotent, and how do you achieve it?

Medium
Fundamentals

#10Does RabbitMQ guarantee message ordering?

Hard
Fundamentals

#11What is a connection versus a channel in RabbitMQ?

Medium
Fundamentals

#12What is a virtual host and why use one?

Medium
Fundamentals

#13What are the exchange types and when do you use each?

Easy
Exchanges & Queues

#14How does topic exchange routing actually work?

Medium
Exchanges & Queues

#15What is the difference between a durable queue and a persistent message?

Medium
Exchanges & Queues

#16What are quorum queues and why did they replace mirrored queues?

Hard
Exchanges & Queues

#17What are RabbitMQ streams and how do they differ from queues?

Hard
Exchanges & Queues

#18What is a lazy queue and when would you use one?

Medium
Exchanges & Queues

#19How do you set a TTL on messages or queues?

Medium
Exchanges & Queues

#20How do you implement delayed or scheduled messages?

Hard
Exchanges & Queues

Showing 120 of 100

Ask Aria about RabbitMQ

Sign in to chat with Aria

All 100 RabbitMQ questions at a glance
  1. Why use a message broker at all?(Easy)
  2. What is AMQP and how does RabbitMQ relate to it?(Medium)
  3. What is the difference between a queue and a topic, conceptually?(Easy)
  4. When would you choose RabbitMQ over Kafka?(Medium)
  5. What is the difference between a command and an event, and why does it matter for design?(Medium)
  6. What delivery guarantees exist and which does RabbitMQ provide?(Medium)
  7. What is back-pressure and how does a queue provide it?(Medium)
  8. What is the dual-write problem and how does it affect messaging?(Hard)
  9. What does it mean for a consumer to be idempotent, and how do you achieve it?(Medium)
  10. Does RabbitMQ guarantee message ordering?(Hard)
  11. What is a connection versus a channel in RabbitMQ?(Medium)
  12. What is a virtual host and why use one?(Medium)
  13. What are the exchange types and when do you use each?(Easy)
  14. How does topic exchange routing actually work?(Medium)
  15. What is the difference between a durable queue and a persistent message?(Medium)
  16. What are quorum queues and why did they replace mirrored queues?(Hard)
  17. What are RabbitMQ streams and how do they differ from queues?(Hard)
  18. What is a lazy queue and when would you use one?(Medium)
  19. How do you set a TTL on messages or queues?(Medium)
  20. How do you implement delayed or scheduled messages?(Hard)
  21. What is a priority queue and what are its limitations?(Medium)
  22. What is an alternate exchange?(Medium)
  23. Who should declare exchanges and queues — the publisher or the consumer?(Medium)
  24. What are exclusive and auto-delete queues for?(Medium)
  25. How do bindings work and can you bind an exchange to an exchange?(Medium)
  26. What happens to a message that cannot be routed?(Medium)
  27. What are publisher confirms and why do you need them?(Medium)
  28. What is the difference between automatic and manual acknowledgement?(Medium)
  29. What is prefetch and how do you choose a value?(Medium)
  30. What is the difference between nack and reject, and what does requeue do?(Medium)
  31. How do competing consumers work and how is work distributed?(Medium)
  32. How do you implement request-reply over RabbitMQ?(Medium)
  33. What message properties are worth setting?(Medium)
  34. How should you serialise messages?(Medium)
  35. What is consumer prefetch versus channel prefetch?(Hard)
  36. How do you handle a consumer that needs to do slow work?(Medium)
  37. What happens when a consumer disconnects mid-processing?(Medium)
  38. How do you scale consumers, and what limits the scaling?(Medium)
  39. What is the single active consumer feature for?(Hard)
  40. How do you handle consumer deployment without losing messages?(Medium)
  41. What is the full set of settings needed for a message not to be lost?(Hard)
  42. Why are publisher confirms preferable to AMQP transactions?(Hard)
  43. What does a publisher do when it receives a nack?(Hard)
  44. What is the acknowledgement timeout and why does it matter?(Hard)
  45. What are heartbeats and why do they matter?(Medium)
  46. How should a client handle connection failures?(Medium)
  47. What is the poison message problem?(Medium)
  48. How do you implement retry with backoff in RabbitMQ?(Hard)
  49. What is the x-death header and what does it tell you?(Hard)
  50. What happens to messages when the broker runs out of memory or disk?(Hard)
  51. What is a queue length limit and what are the overflow options?(Medium)
  52. How do you make sure a message is processed exactly once, in practice?(Hard)
  53. What is the difference between at-least-once and effectively-once?(Hard)
  54. How do you test messaging code?(Medium)
  55. What is a dead-letter exchange and when do messages go there?(Medium)
  56. How do you decide whether a failure is retryable?(Medium)
  57. What should you do with messages in a dead-letter queue?(Medium)
  58. How do you avoid an infinite dead-letter loop?(Hard)
  59. Should a consumer acknowledge a message it could not process?(Medium)
  60. How do you handle a message whose schema has changed?(Hard)
  61. What is a shovel and when would you use one?(Medium)
  62. How do you monitor a RabbitMQ deployment?(Medium)
  63. A queue is growing and consumers appear healthy. How do you diagnose it?(Hard)
  64. What should you log around message processing?(Medium)
  65. How do you trace a message across services?(Hard)
  66. What are the most common RabbitMQ mistakes you see?(Medium)
  67. How do you replay messages after fixing a consumer bug?(Hard)
  68. What is the difference between rejecting a message and letting the consumer crash?(Medium)
  69. How does RabbitMQ clustering work?(Hard)
  70. What is a network partition and how does RabbitMQ handle one?(Hard)
  71. How do clients discover and fail over between cluster nodes?(Hard)
  72. What is federation and how does it differ from clustering?(Hard)
  73. How do you upgrade a RabbitMQ cluster without downtime?(Hard)
  74. How do you size a RabbitMQ cluster?(Hard)
  75. What happens if the node hosting a classic queue fails?(Medium)
  76. How do you back up and restore RabbitMQ?(Medium)
  77. How do you secure a RabbitMQ deployment?(Medium)
  78. What is the management plugin and what should you not do with it?(Medium)
  79. What limits RabbitMQ throughput?(Hard)
  80. How do you increase throughput for a single high-volume queue?(Hard)
  81. Should you batch messages, and how?(Medium)
  82. What is the cost of persistent messages and when can you avoid them?(Medium)
  83. How does connection and channel management affect performance?(Medium)
  84. How do message size and payload design affect performance?(Medium)
  85. What is the impact of queue length on performance?(Medium)
  86. How do you load test a messaging system?(Medium)
  87. What broker settings would you tune first?(Hard)
  88. How do you decide between more consumers and more queues?(Hard)
  89. What is the claim-check pattern?(Medium)
  90. When is a message broker the wrong choice?(Medium)
  91. What is the competing consumers pattern and when does it not apply?(Easy)
  92. How do you implement the saga pattern with a message broker?(Hard)
  93. What is the difference between choreography and orchestration?(Hard)
  94. What is CQRS and how does messaging support it?(Hard)
  95. What is the difference between event notification and event-carried state transfer?(Hard)
  96. How do you handle a consumer that needs to call an unreliable external service?(Hard)
  97. How does RabbitMQ compare to SQS and other managed queues?(Medium)
  98. When would you use a database table as a queue instead?(Medium)
  99. How would you migrate from RabbitMQ to Kafka, or vice versa?(Hard)
  100. What would you check first if messages are being lost?(Medium)