System Design Interview Prep
Engineering & ProductCopilot Chatsystem designinterviewengineeringarchitecturedistributed systems
Prompt
Coach me through designing [SYSTEM NAME] for a system design interview at [COMPANY NAME OR TYPE]. Context: - System to design: [E.G., URL SHORTENER / RIDE-SHARING APP / NOTIFICATION SERVICE / SEARCH ENGINE] - Interview level: [MID / SENIOR / STAFF / PRINCIPAL] - Time available: [45 / 60 MINUTES] - My current approach: [WHAT YOU'VE THOUGHT OF SO FAR, OR 'STARTING FROM SCRATCH'] Walk me through a structured system design: 1. **Requirements Clarification** — What questions should I ask the interviewer before starting? What assumptions should I state? 2. **High-Level Architecture** — Components, their responsibilities, and how they connect. Draw it in text/ASCII. 3. **Data Model** — Core entities, relationships, and schema design. SQL vs. NoSQL decision with rationale. 4. **API Design** — Core endpoints or interfaces. 5. **Scaling Strategy** — How does this system handle 10x, 100x growth? Where are the bottlenecks? 6. **Component Deep Dives** — The 2-3 components the interviewer is likely to probe on — discuss in detail. 7. **Reliability and Fault Tolerance** — How does the system handle failures? Where are the single points of failure? 8. **Trade-Offs Made** — What are the explicit trade-offs in my design? What would I change with more time? 9. **Estimated Numbers** — Back-of-envelope calculations for storage, throughput, and latency.