Backend Developer
Message queues and async jobs questions
107 questions on Message queues and async jobs for backend developers, easiest first.
Easy 31
- Slow email during signupeasy
- Missed Redis pub/sub messageseasy
- Queue versus topiceasy
- Why put a queue between serviceseasy
- What a RabbitMQ exchange doeseasy
- Direct exchange routingeasy
- Topic exchange wildcardseasy
- Fanout exchange behavioureasy
- SQS standard versus FIFOeasy
- Purpose of a dead-letter queueeasy
- Surviving a broker restarteasy
- SQS long pollingeasy
- How long SQS keeps messageseasy
- SNS to SQS fan-outeasy
- At-most-once deliveryeasy
- Kafka message keyseasy
- Queue as a shock absorbereasy
- Redis Pub/Sub for jobseasy
- Delaying an SQS messageeasy
- Message TTL on a queueeasy
- When to use a priority queueeasy
- Events versus commandseasy
- Handling incoming webhookseasy
- Telling users about a long jobeasy
- What Kafka does after a readeasy
- A queue just for one clienteasy
- What RabbitMQ vhosts are foreasy
- Matching replies to requestseasy
- setTimeout as a job queueeasy
- Only some events for one subscribereasy
- What MessageGroupId doeseasy
Medium 43
- At-least-once deliverymedium
- More consumers than partitionsmedium
- One bad message blocks the queuemedium
- Worker crash with auto-ackmedium
- Durable events with Redismedium
- Prefetch and uneven workmedium
- Visibility timeout for a Lambda triggermedium
- Setting maxReceiveCountmedium
- FIFO deduplication windowmedium
- Jobs that run longer than expectedmedium
- Knowing the broker got itmedium
- Message published to nowheremedium
- Replicated queues in RabbitMQ 4medium
- How many workers are neededmedium
- Time to drain a backlogmedium
- Delayed retries in RabbitMQmedium
- One failure in a Lambda batchmedium
- Committing offsets too earlymedium
- A new consumer group starts readingmedium
- Reading SQS queue metricsmedium
- Job runs before the row existsmedium
- Order lost with more workersmedium
- Messages that are too largemedium
- Deploying a worker safelymedium
- Workers and a partner rate limitmedium
- Content-based deduplicationmedium
- Per-message delay on FIFOmedium
- Celery tasks lost on a crashmedium
- Nightly job runs three timesmedium
- Avoiding duplicate jobsmedium
- Total exponential backoff timemedium
- Choosing a partition countmedium
- Compacted topicsmedium
- Needing to reprocess historymedium
- Unacked messages pile upmedium
- Counting dead-letter retriesmedium
- Replaying the dead-letter queuemedium
- Changing an event schema safelymedium
- Events from the database logmedium
- Sharing a channel between threadsmedium
- All jobs fire at midnightmedium
- FIFO queue throughputmedium
- New field breaks a consumermedium
Hard 33
- Saving to DB and publishing an eventhard
- Workers block each other on a jobs tablehard
- Order saved but event never senthard
- A queue message applied twicehard
- The exactly-once claimhard
- Rebalances during slow batcheshard
- Retrying at the back of the queuehard
- Undoing steps in a sagahard
- Choreography or orchestrationhard
- Calculating consumer laghard
- Consumer offline past retentionhard
- Duplicates from producer retrieshard
- Adding partitions to a keyed topichard
- Connection drops during long taskshard
- Messages vanish from the DLQhard
- Cost of unbatched SQS callshard
- One tenant floods the queuehard
- Publishers suddenly hanghard
- How much data to put in an eventhard
- Channel closed after 30 minuteshard
- acks=all with min.insync.replicashard
- Seeing aborted transactional writeshard
- Retries reorder a partitionhard
- One hot RabbitMQ queuehard
- Rolling out a breaking event changehard
- Low-priority jobs never runhard
- Replaying events resends emailshard
- Kafka offsets and database writeshard
- Consumer cannot find new datahard
- Consumer runs out of memoryhard
- Non-deterministic workflow codehard
- One big customer on one partitionhard
- Backoff without a delay queuehard