Delivery guarantees
At-least-once is the industry default — consumers must be idempotent. Exactly-once requires transactional writes or idempotency keys; it's rarely free. Say which one you're picking and why.
TL;DR
A queue decouples producers from consumers. Interview points: delivery guarantees (at-least-once vs exactly-once), ordering (FIFO vs partitioned), dead-letter handling, and how backpressure flows when consumers are slow.
At-least-once is the industry default — consumers must be idempotent. Exactly-once requires transactional writes or idempotency keys; it's rarely free. Say which one you're picking and why.
Global FIFO is expensive and limits throughput. Partitioned FIFO (Kafka-style) orders within a partition key — pick the key that matches your consistency requirement.
Slow consumers fill the queue. Options: drop (lossy), buffer (memory cost), reject producers (load shed), or autoscale consumers. Name the SLO the queue is protecting.
Messages that fail N times go to DLQ. DLQ needs its own alerting and replay path — otherwise it becomes a silent correctness bug.
Book a 45-minute system design mock with a transcript. Included in the $19/mo subscription.