Back to Skills

design-interview-methodology

verified

4-step framework for system design interviews. Use when preparing for technical interviews, practicing whiteboard design, or structuring architectural discussions. Covers requirements gathering, high-level design, deep dives, and wrap-up.

View on GitHub

Marketplace

melodic-software

melodic-software/claude-code-plugins

Plugin

systems-design

Repository
Verified Org

melodic-software/claude-code-plugins
13stars

plugins/systems-design/skills/design-interview-methodology/SKILL.md

Last Verified

January 21, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/melodic-software/claude-code-plugins/blob/main/plugins/systems-design/skills/design-interview-methodology/SKILL.md -a claude-code --skill design-interview-methodology

Installation paths:

Claude
.claude/skills/design-interview-methodology/
Powered by add-skill CLI

Instructions

# Design Interview Methodology

This skill provides a structured framework for approaching system design interviews and architectural discussions.

## When to Use This Skill

**Keywords:** system design interview, whiteboard design, architecture discussion, technical interview, design framework

**Use this skill when:**

- Preparing for a system design interview
- Structuring a whiteboard architectural session
- Teaching others how to approach design problems
- Practicing with design exercises
- Leading architectural discussions with stakeholders

## The 4-Step Framework

System design interviews typically last 45-60 minutes. This framework ensures you cover all bases while demonstrating structured thinking.

| Step | Time | Purpose |
| ---- | ---- | ------- |
| **1. Requirements** | 5-10 min | Clarify scope, constraints, scale |
| **2. High-Level Design** | 10-15 min | Draw major components and data flow |
| **3. Deep Dive** | 15-20 min | Detail 1-2 critical components |
| **4. Wrap-Up** | 5-10 min | Trade-offs, bottlenecks, improvements |

## Step 1: Requirements Gathering (5-10 minutes)

**Goal:** Understand what to build and constraints before designing.

### Functional Requirements

Ask about core functionality:

- "What are the primary use cases?"
- "What should users be able to do?"
- "What are the must-have vs. nice-to-have features?"

### Non-Functional Requirements (NFRs)

Clarify quality attributes:

| Category | Questions to Ask |
| -------- | ---------------- |
| **Scale** | How many users? DAU/MAU? Read/write ratio? |
| **Performance** | Latency requirements? Throughput targets? |
| **Availability** | Uptime requirements? (99.9% = 8.76 hours downtime/year) |
| **Consistency** | Strong or eventual consistency? |
| **Durability** | Data loss tolerance? Backup requirements? |

### Back-of-Envelope Estimation

Quick calculations to inform design:

```text
Example: Design a URL shortener

Users: 100M monthly active
Writes: 100M URLs/month = ~40 writes/secon

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
9909 chars