Design
Distributed Task Queue (Celery/Sidekiq-like)
Design a distributed background job processing system with reliable delivery, retries, and worker scaling.
This is a Low-Level Design (LLD) problem. New to LLD vs HLD? Start here.
01 - Why interviewers ask this
It's a from-scratch mini-Celery/Sidekiq — interviewers check if you know the visibility-timeout pattern that gives at-least-once delivery without losing tasks on worker crash.
02 - Where this system exists in the real world
You interact with this design every day.
Celery / Sidekiq / AWS SQS-based job processing
Background email/notification sending systems
Async image/video processing pipelines
03 - What you'll master
Solve this once. Know it forever.
Implement the visibility-timeout delivery pattern
Design retry with exponential backoff and dead-letter
Support delayed/scheduled task execution
04 - What you'll design
6 functional · 3 non-functional requirements.
Enqueue a task with a payload for asynchronous processing
5 more requirements inside
Sign in to unlock the full brief and start designing
05 - Companies that ask this
You may face this exact question in your next interview.
Ready?
Open the canvas.
Design it yourself.
See all requirements, use staged hints, run your code, and compare with community discussions - all on the same canvas.
More in Infrastructure