mediumOpen-ended · your tools60 min Premium
Transcribe
A job pipeline that processes text-transformation jobs with retries and concurrency, queues and failure handling from scratch.
Dynamic ProgrammingGreedy / Packing
Problem
A greenfield build: a text-transformation job pipeline. Clone the starter repo, use your own editor and AI tools, and build under a 60-minute timer.
The spec
A Job has a type (e.g., uppercase, dedupe, trim) and a payload. Build:
- A queue where jobs enter as
queued - A worker pool that processes up to
Njobs concurrently - A status lifecycle:
queued → running → done, andfailed → retried (with backoff) → dead-letteredafter max attempts - A way to inspect job status by id
Design decisions — the queue structure, the pool, the retry timing — are yours to make and defend.
What interviewers watch
- Do you model the job state machine before writing the worker?
- Is the concurrency limit real, or is the "pool" actually sequential?
- Are retries idempotent — no duplicate side effects when a job is retried?
- Do failing jobs get isolated, or does one failure stall the whole pool?
Submission
Export your code and AI chat transcript, note tools and time, and submit for a verdict.
Deliverables
- A job model with status lifecycle (queued → running → done | failed)
- A worker that processes jobs with bounded concurrency
- Retry with backoff and a dead-letter state after max attempts
- Tests for ordering, retries, and failure isolation