What this prompt does
This prompt turns an AI assistant into a structured, adversarial system design interviewer. It does not let you monologue unchallenged — the template explicitly instructs the model to hold clarifying questions first, wait for your answers, then probe your design across four specific axes: scalability bottlenecks, consistency vs. availability trade-offs, single points of failure, and cost. That sequence closely mirrors the structure senior interviewers at Stripe, Meta, and similar companies use to run these rounds.
What makes it work is the scoring rubric baked into the template. By instructing the model to grade completeness, scalability, trade-off awareness, and communication clarity each out of 10, you get quantified feedback rather than vague encouragement. The target_level variable anchors that feedback to the actual bar you're preparing for — staff engineer feedback looks different from L4 feedback.
The "Don't accept hand-waving" directive is the most important line in the template. It forces the AI to challenge answers like "we'll just shard the database" with follow-ups about resharding costs, hotspot keys, and cross-shard queries — the exact pressure real interviewers apply.
When to use it
- You have a system design round in 1–3 weeks and need reps with realistic push-back, not passive Q&A.
- You're preparing for a specific company tier: set
company_levelto "FAANG" or "Series B startup" to get calibrated expectations. - You want to stress-test a design you've already sketched — paste your architecture into the chat as your opening answer.
- You're a mid-level engineer aiming for staff or principal and need to practice articulating trade-offs out loud, not just knowing the answer.
- You're running a mock interview for a mentee and want a consistent rubric to debrief against.
Example output
For system_to_design = "URL shortener", scale = "10B shortened URLs, 100K reads/sec", company_level = "FAANG":
Interviewer: Before you start, a few clarifying questions:
1. Do shortened URLs need to be globally unique or per-user unique?
2. Are analytics (click tracking) a hard requirement or nice-to-have?
3. What's the acceptable redirect latency — sub-10ms P99?
[After your answer]
You mentioned a single Redis cache layer. At 100K reads/sec across regions,
what's your failover strategy if the primary Redis node goes down mid-request?
And if you're using base62 encoding for short codes, how do you prevent
ID collisions under concurrent writes without a global counter becoming a bottleneck?
Scores:
- Completeness: 6/10 — CDN layer and analytics pipeline were missing
- Scalability: 7/10 — read path solid, write path underspecified
- Trade-off awareness: 5/10 — consistency model for counter not addressed
- Communication: 8/10 — clear structure, good use of diagrams described verbally
Pro tips
- Set
company_levelhonestly. "FAANG" versus "mid-size SaaS" produces very different interviewer personas. Practicing at the wrong level gives you false confidence or unnecessary stress. - Use
target_levelto shift the scoring bar. L5 (senior) feedback focuses on correctness; L6 (staff) feedback pushes you on org-wide tradeoffs like build-vs-buy and operational burden. - Start with an intentionally incomplete design. The template's probing questions are where the real value lives. If you give a perfect answer upfront, you short-circuit the adversarial follow-up loop.
- Run the prompt twice on the same problem. Vary
company_level— once as a startup, once as FAANG. The cost optimization and operational complexity expectations diverge sharply and reveal gaps in your thinking. - After scoring, paste the feedback back in and ask the model to simulate the next round. The template supports multi-turn sessions; use that to iterate your design based on the score breakdown before moving to a new problem.