mock-interview
Run an interactive system design mock interview - simulates a real interview with problem statement, follow-ups, and structured feedback
From systems-designnpx claudepluginhub melodic-software/claude-code-plugins --plugin systems-designThis skill is limited to using the following tools:
Mock Interview Command
This command runs a full interactive system design mock interview, simulating a real interview experience with problem presentation, follow-up questions, and structured feedback.
Purpose
Provide realistic interview practice including:
- Problem selection based on type and level
- Timed interview simulation
- Realistic follow-up questions and pushback
- Structured feedback on performance
- Specific improvement recommendations
Interview Types
| Type | Focus | Interviewer Agent |
|---|---|---|
general | Classic system design (URL shortener, Twitter, etc.) | architecture-critic |
ml | ML systems (recommendation, search, fraud detection) | ml-interviewer |
data | Data systems (pipelines, warehouses, streaming) | data-architect |
staff | Staff+ level with hard pushback | senior-staff-interviewer |
Workflow
Phase 1: Interview Setup
Parse arguments:
- Determine interview type (default: general)
- Extract any problem hints or preferences
- Set difficulty level based on type
Ask about preferences if needed:
Interview Setup:
1. Interview Type:
- General system design (classic problems)
- ML system design (recommendation, search, etc.)
- Data engineering (pipelines, warehouses)
- Staff+ level (rigorous, pushback-heavy)
2. Time Constraint:
- 30 minutes (focused)
- 45 minutes (standard)
- 60 minutes (comprehensive)
3. Problem Preference:
- Surprise me (recommended)
- Specific domain: [e-commerce, social, fintech, etc.]
Phase 2: Problem Presentation
Select and present problem based on type:
For general:
Problem Examples:
- Design a URL shortening service like bit.ly
- Design a rate limiter for an API
- Design a distributed cache system
- Design a notification service
- Design a file sharing service like Dropbox
For ml:
Problem Examples:
- Design a content recommendation system
- Design a search ranking system
- Design a fraud detection system
- Design a RAG-based chatbot
- Design an LLM serving infrastructure
For data:
Problem Examples:
- Design a real-time analytics pipeline
- Design a data warehouse for an e-commerce company
- Design an event sourcing system
- Design a change data capture system
- Design a feature store
For staff:
Problem Examples:
- Design a payment processing system ($100B scale)
- Design a global social media feed
- Design a multi-region database system
- Design a real-time bidding system
- Design a distributed transaction coordinator
Present the problem:
═══════════════════════════════════════════════════════════════
SYSTEM DESIGN INTERVIEW
═══════════════════════════════════════════════════════════════
Problem: [Problem Statement]
[1-2 paragraphs with requirements and context]
Constraints:
- [Key constraint 1]
- [Key constraint 2]
- [Scale indicator if applicable]
You have [X] minutes. You may ask clarifying questions.
When ready, begin by gathering requirements.
═══════════════════════════════════════════════════════════════
Phase 3: Spawn Interviewer Agent
Based on interview type, spawn the appropriate agent:
general→ spawnarchitecture-criticagent in interviewer modeml→ spawnml-intervieweragentdata→ spawndata-architectagent in interviewer modestaff→ spawnsenior-staff-intervieweragent
Agent instructions:
Conduct a system design interview for the following problem:
[Problem statement]
Interview parameters:
- Duration: [X] minutes
- Level: [Type/Level]
- Mode: Interactive interview
Interview phases:
1. Requirements (5 min) - Let candidate ask clarifying questions
2. High-level design (10 min) - Evaluate system components
3. Deep dive (15 min) - Probe 2-3 components in depth
4. Trade-offs (5 min) - Discuss alternatives and evolution
During the interview:
- Push back on surface-level answers
- Ask follow-up questions
- Simulate realistic time pressure
- Note strengths and areas for improvement
At the end, provide structured feedback.
Phase 4: Interview Execution
The interviewer agent conducts the interview:
Throughout the interview:
- Present clarifying questions when candidate drives
- Provide incomplete information initially
- Probe deeper on interesting areas
- Challenge assumptions
- Track time and give updates
- Note key decisions and reasoning
Example interactions:
Interviewer: "What questions do you have about the requirements?"
[After clarifying questions]
Interviewer: "Good questions. Let's start with your high-level design.
How would you approach this system?"
[After high-level design]
Interviewer: "Interesting choice with [component]. Let's dive deeper.
How would you handle [specific scenario]?"
[Probing]
Interviewer: "What happens when [failure scenario]?"
Interviewer: "How does this scale to 10x the load?"
Interviewer: "Why did you choose X over Y?"
Phase 5: Feedback Delivery
After the interview, provide structured feedback:
═══════════════════════════════════════════════════════════════
INTERVIEW FEEDBACK
═══════════════════════════════════════════════════════════════
## Overall Assessment
Rating: [Strong Hire / Hire / Lean Hire / No Hire]
Level: [Appropriate for: Junior / Mid / Senior / Staff]
## Strengths
1. [Strength 1 with specific example]
2. [Strength 2 with specific example]
3. [Strength 3 with specific example]
## Areas for Improvement
1. [Area 1 with specific recommendation]
2. [Area 2 with specific recommendation]
3. [Area 3 with specific recommendation]
## Component Coverage
| Component | Coverage | Depth |
|-----------|----------|-------|
| [Component 1] | [Good/Partial/Missing] | [Shallow/Adequate/Deep] |
| [Component 2] | [Good/Partial/Missing] | [Shallow/Adequate/Deep] |
## Key Moments
✓ Good: [Positive moment]
✓ Good: [Positive moment]
✗ Miss: [Missed opportunity]
✗ Miss: [Missed opportunity]
## Recommendations for Practice
1. [Specific topic to study]
2. [Skill to develop]
3. [Pattern to practice]
## Resources
- [Relevant skill to load]
- [Related practice problem]
═══════════════════════════════════════════════════════════════
Usage Examples
# General system design interview
/sd:mock-interview general
# ML-focused interview
/sd:mock-interview ml
# Data engineering interview
/sd:mock-interview data
# Staff+ level rigorous interview
/sd:mock-interview staff
# Specific domain preference
/sd:mock-interview general e-commerce
# ML interview with specific focus
/sd:mock-interview ml "recommendation system"
Interview Best Practices (For Candidates)
The command will share these at the start:
Interview Tips:
1. START with clarifying questions
- Don't jump to solutions
- Understand requirements and constraints
2. STRUCTURE your approach
- Start high-level, then dive deep
- Use diagrams (describe them clearly)
3. THINK aloud
- Share your reasoning
- Discuss trade-offs as you go
4. MANAGE time
- Don't spend too long on one area
- Cover breadth before depth
5. ACKNOWLEDGE uncertainty
- It's okay to say "I'd need to research X"
- Better than guessing incorrectly
Output
The command produces:
- Interactive Interview - Realistic interview simulation
- Structured Feedback - Detailed performance assessment
- Practice Recommendations - Specific next steps
Related Skills
This command leverages:
design-interview-methodology- Interview frameworkestimation-techniques- Capacity calculationsquality-attributes-taxonomy- NFR coverage
Related Agents
Spawned based on interview type:
architecture-critic- General system designml-interviewer- ML systemsdata-architect- Data engineeringsenior-staff-interviewer- Staff+ level