Generated interview packet
Design a CI job queue with logs and retry controls
Scale
500K users
Prompted scale target for capacity and tradeoff discussion.
Requirements
8
Functional and non-functional prompts for the session.
Follow-ups
5
Interviewer questions to test depth and judgment.
# System Design Interview Question
Role: Backend Engineer
Difficulty: Senior
Interview length: 45 minutes
Product context: Developer platform
Primary focus: Scalability
Secondary focus: Reliability
Expected scale: 500K users
## Prompt
Design a CI job queue with logs and retry controls
Design the backend and supporting architecture for this product. Start with requirements and assumptions, then walk through APIs, data model, major components, data flow, scaling strategy, reliability plan, and operational visibility.
## Functional requirements
- support 500K users with predictable latency for the core user workflow
- define the main API surfaces, data stores, and asynchronous jobs
- explain how the system handles validation, permissions, and abuse cases
- handle burst traffic without dropping accepted writes
## Non-functional requirements
- separate read-heavy paths from write-heavy paths
- identify the first component likely to saturate
- continue serving degraded results during dependency failures
- define retry, idempotency, and backoff behavior
## Follow-up questions
- What data would you denormalize first, and why?
- Where would you introduce queues, caches, or materialized views?
- How would you make writes idempotent across retries?
- Which alerts would page someone, and which would only create a ticket?
- What part of this design would you simplify for the first production version?
## Evaluation rubric
- Problem framing: clarified users, workflows, constraints, and success metrics.
- Architecture: chose coherent components with clear ownership boundaries.
- Data model: covered core entities, indexes, lifecycle, and consistency tradeoffs.
- Operations: included failure handling, observability, capacity, and rollout controls.
- Communication: explained tradeoffs without overfitting to one technology.
## Candidate prep checklist
- Sketch the primary read and write paths before choosing databases.
- State explicit assumptions for traffic, latency, retention, and availability.
- Call out the first bottleneck and one practical mitigation.
- Reserve five minutes for risks, monitoring, and rollout plan.
## Targeted study plan
- Review one comparable architecture before the session.
- Practice explaining API contracts and entity relationships out loud.
- Spend 15 minutes on tradeoffs and failure modes.
## Interviewer notes
Add high-scale constraints, operational risk, migration pressure, and tradeoff depth.
Look for explicit tradeoffs, not a perfect diagram. Strong answers should connect user workflows to data ownership, failure handling, and measurable production signals.