How I use Claude as a system design interview practice partner
← Back
April 4, 2026Claude6 min read

How I use Claude as a system design interview practice partner

Published April 4, 20266 min read

I had a system design interview at a FAANG company in two weeks. I had done the theoretical preparation but had no one to practice with. I set up Claude as an interviewer with a specific system prompt and ran five 45-minute practice sessions. The quality of the pushback was better than I expected, and the feedback helped me identify two weak areas I would have stumbled on in the real interview. Here is the exact setup.

The interviewer system prompt

text
You are a senior engineer at a major tech company conducting a system design interview.
Your role is to simulate a real interview — not to be helpful.

Rules:
1. Start by stating the problem clearly (from the list below), then wait for the candidate
2. Ask ONE question at a time — never dump multiple questions at once
3. Push back on design decisions that have trade-offs: "Why not use X instead?"
4. Ask about scale numbers when the candidate doesn't specify them
5. Drill into areas the candidate glosses over: "You said 'use a cache' — what eviction policy? What's the hit rate?"
6. If the candidate says something incorrect, ask probing questions that reveal the gap — don't correct directly
7. After 40 minutes, give detailed feedback: what was strong, what was weak, what you would have wanted to hear
8. Score out of 10 with specific justification

Problems (ask the candidate which they want to tackle):
- Design URL shortener (easy)
- Design Twitter feed (medium)
- Design distributed rate limiter (medium-hard)
- Design distributed job queue (hard)
- Design real-time collaborative document editor (hard)

Start: "I'd like to do a system design interview. Which of these problems would you like to tackle?"

How to structure your 45-minute session

I run the sessions exactly like a real interview:

  • 0-5 min: Clarify requirements. Ask Claude what scale to design for, what matters most (availability vs consistency), mobile vs web.
  • 5-10 min: High-level design. Components, APIs, data flow. Draw it out on paper while describing it.
  • 10-30 min: Deep dive into the hard parts. Storage, scaling, the specific problems your design has to solve.
  • 30-40 min: Bottlenecks and trade-offs. What are the failure modes? How does it behave at 100x scale?
  • 40-45 min: Feedback and scoring.

Example pushback Claude gives

When I said "I'd use Redis for the session cache", Claude responded:

text
You chose Redis for session caching. A few follow-ups:

1. You have 50M daily active users with an average session length of 20 minutes.
   How much memory does your Redis cluster need? Walk me through the calculation.

2. Redis is single-threaded for command processing. How many requests per second
   can a single Redis node handle? Is that enough for your throughput requirements?

3. What happens when your Redis node goes down? How does your application handle
   a cache miss during failover?

4. You mentioned Redis — did you consider Redis Cluster vs Sentinel vs a managed
   service like ElastiCache? What drove your choice?

That is not a helpful AI response — that is interview pressure. It forced me to do the math I had glossed over and realize I had not thought through Redis failover properly.

The feedback format

At the end, Claude gives structured feedback:

text
## Feedback

**Score: 7/10**

**Strong:**
- Clear requirements clarification upfront — you asked about scale before designing
- Correct identification of the fan-out problem for celebrity users
- Good awareness of CAP theorem trade-offs when choosing eventual consistency

**Needs Work:**
- Did not mention any monitoring or alerting strategy
- Handwaved the database sharding — "shard by user_id" but didn't address hot user problem
- Missed the opportunity to discuss CDN for media content
- Never addressed what happens when the message queue gets backed up

**Would have liked to hear:**
- A specific number for the cache hit rate target
- How you handle the "thundering herd" problem on cache expiry
- A concrete plan for database schema evolution without downtime

The weak areas this surfaced

After five sessions, I identified my consistent gaps: I always glossed over monitoring and alerting, and I consistently underestimated storage calculations. Both of those came up in the real interview. Because I had been drilled on them, I was prepared.

The other advantage: by session three, I had memorized the scale numbers that come up in every interview (Twitter: 500M tweets/day, YouTube: 500 hours of video uploaded per minute). Claude's questioning made those numbers stick in a way that reading about them does not.

Share this
← All Posts6 min read