interview-problem-bank

Curated bank of interview problems organized by company, pattern, and difficulty. Provides problem recommendations, coverage tracking, weak area identification, and premium problem alternatives for FAANG interview preparation.

509 stars

Best use case

interview-problem-bank is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Curated bank of interview problems organized by company, pattern, and difficulty. Provides problem recommendations, coverage tracking, weak area identification, and premium problem alternatives for FAANG interview preparation.

Teams using interview-problem-bank should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/interview-problem-bank/SKILL.md --create-dirs "https://raw.githubusercontent.com/a5c-ai/babysitter/main/library/specializations/algorithms-optimization/skills/interview-problem-bank/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/interview-problem-bank/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How interview-problem-bank Compares

Feature / Agentinterview-problem-bankStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Curated bank of interview problems organized by company, pattern, and difficulty. Provides problem recommendations, coverage tracking, weak area identification, and premium problem alternatives for FAANG interview preparation.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# interview-problem-bank

A specialized skill for curating, organizing, and recommending coding interview problems, with support for company-specific preparation, pattern-based practice, and progress tracking.

## Purpose

Provide a comprehensive interview problem bank with:
- Problems organized by FAANG company and difficulty
- Pattern-based categorization (Blind 75, NeetCode 150, etc.)
- Difficulty progression recommendations
- Coverage tracking and weak area identification
- Premium problem alternatives

## Capabilities

### Core Features

1. **Problem Organization**
   - By company (Google, Meta, Amazon, Apple, Microsoft, etc.)
   - By pattern (Two Pointers, Sliding Window, DP, etc.)
   - By difficulty (Easy, Medium, Hard)
   - By topic (Arrays, Trees, Graphs, etc.)
   - By frequency (most asked in interviews)

2. **Curated Problem Lists**
   - Blind 75 (essential problems)
   - NeetCode 150 (expanded essential list)
   - LeetCode Top Interview Questions
   - Company-specific top questions
   - Pattern-specific problem sets

3. **Progress Tracking**
   - Problems solved by category
   - Weak area identification
   - Time spent per problem type
   - Success rate tracking
   - Spaced repetition for review

4. **Recommendations**
   - Next problem based on progress
   - Problems to strengthen weak areas
   - Company-specific practice plans
   - Time-based study schedules

## Problem Lists

### Blind 75

The essential 75 problems covering all major patterns:

| Category | Count | Topics |
|----------|-------|--------|
| Arrays & Hashing | 9 | Two Sum, Group Anagrams, Top K Frequent |
| Two Pointers | 5 | Valid Palindrome, 3Sum, Container with Water |
| Sliding Window | 6 | Best Time to Buy Stock, Longest Substring |
| Stack | 7 | Valid Parentheses, Min Stack, Daily Temperatures |
| Binary Search | 7 | Search Rotated Array, Find Minimum |
| Linked List | 11 | Reverse LL, Merge Lists, Detect Cycle |
| Trees | 15 | Invert Tree, Max Depth, Level Order |
| Tries | 3 | Implement Trie, Word Search II |
| Heap/Priority Queue | 7 | Merge K Lists, Top K Frequent |
| Backtracking | 9 | Subsets, Permutations, Combination Sum |
| Graphs | 13 | Number of Islands, Clone Graph |
| Dynamic Programming | 12 | Climbing Stairs, House Robber, Coin Change |
| Greedy | 8 | Maximum Subarray, Jump Game |
| Intervals | 6 | Merge Intervals, Meeting Rooms |
| Math & Geometry | 8 | Rotate Image, Set Matrix Zeros |
| Bit Manipulation | 7 | Single Number, Number of 1 Bits |

### NeetCode 150

Extended list with 150 problems for comprehensive preparation:
- All 75 Blind 75 problems
- 75 additional problems for deeper coverage
- More advanced problems per category

### Company-Specific Lists

| Company | Focus Areas | Top Patterns |
|---------|-------------|--------------|
| **Google** | Problem solving, optimization | Arrays, DP, Graphs |
| **Meta** | Arrays, Trees, System Design | Binary Trees, Arrays |
| **Amazon** | OOP, System Design, Leadership | Trees, BFS/DFS |
| **Apple** | iOS/macOS, algorithms | Arrays, Trees |
| **Microsoft** | Coding, System Design | DP, Arrays, Graphs |
| **Netflix** | Distributed Systems | Graphs, DP |

## Usage

### Get Recommended Problems

```bash
# Get next problem based on progress
interview-problem-bank recommend --user progress.json

# Get problems for specific pattern
interview-problem-bank list --pattern "dynamic-programming" --difficulty medium

# Get company-specific problems
interview-problem-bank company --name google --count 50
```

### Track Progress

```bash
# Mark problem as solved
interview-problem-bank solve --problem "two-sum" --time 15 --attempts 1

# Get progress report
interview-problem-bank progress --user progress.json

# Identify weak areas
interview-problem-bank analyze --user progress.json
```

### Generate Study Plan

```bash
# Generate 4-week study plan
interview-problem-bank plan --weeks 4 --target google --level intermediate

# Generate daily practice set
interview-problem-bank daily --count 3 --user progress.json
```

## Output Schema

### Problem Entry

```json
{
  "id": "two-sum",
  "title": "Two Sum",
  "difficulty": "Easy",
  "patterns": ["Arrays", "Hash Table"],
  "companies": ["Google", "Amazon", "Meta", "Apple", "Microsoft"],
  "frequency": 95,
  "url": "https://leetcode.com/problems/two-sum/",
  "premiumAlternative": null,
  "hints": [
    "Use a hash table for O(1) lookup",
    "Store complement as key, index as value"
  ],
  "timeToSolve": {
    "target": 10,
    "beginner": 20,
    "expert": 5
  },
  "relatedProblems": ["3sum", "4sum", "two-sum-ii"]
}
```

### Progress Report

```json
{
  "user": "user123",
  "totalSolved": 150,
  "byDifficulty": {
    "Easy": 50,
    "Medium": 80,
    "Hard": 20
  },
  "byPattern": {
    "Arrays": { "solved": 25, "total": 30 },
    "DP": { "solved": 15, "total": 25 },
    "Graphs": { "solved": 10, "total": 20 }
  },
  "weakAreas": ["Graphs", "Advanced DP", "Tries"],
  "recommendations": [
    { "problem": "course-schedule", "reason": "Strengthen Graphs" },
    { "problem": "word-break", "reason": "Practice DP" }
  ],
  "streak": 15,
  "lastPracticed": "2025-01-24"
}
```

### Study Plan

```json
{
  "duration": "4 weeks",
  "target": "Google",
  "level": "intermediate",
  "schedule": [
    {
      "week": 1,
      "focus": ["Arrays", "Strings", "Two Pointers"],
      "problems": [
        { "day": 1, "problems": ["two-sum", "valid-anagram", "contains-duplicate"] },
        { "day": 2, "problems": ["best-time-to-buy", "max-subarray", "product-except-self"] }
      ]
    },
    {
      "week": 2,
      "focus": ["Sliding Window", "Stack", "Binary Search"],
      "problems": [...]
    }
  ]
}
```

## Pattern-Based Organization

### Array Patterns

| Pattern | Key Problems | Technique |
|---------|--------------|-----------|
| Two Pointers | 3Sum, Container with Water | Converging pointers |
| Sliding Window | Longest Substring, Min Window | Expand/contract window |
| Prefix Sum | Subarray Sum Equals K | Cumulative sum |
| Kadane's | Maximum Subarray | Track max ending at i |

### Tree Patterns

| Pattern | Key Problems | Technique |
|---------|--------------|-----------|
| DFS Recursive | Max Depth, Path Sum | Recursion |
| BFS Level Order | Level Order Traversal | Queue |
| Construct Tree | Build from Preorder/Inorder | Divide and conquer |

### Graph Patterns

| Pattern | Key Problems | Technique |
|---------|--------------|-----------|
| BFS Shortest Path | Word Ladder | Level-by-level |
| DFS Connected Components | Number of Islands | Visit all nodes |
| Topological Sort | Course Schedule | Kahn's algorithm |
| Union Find | Number of Connected | DSU |

### DP Patterns

| Pattern | Key Problems | Technique |
|---------|--------------|-----------|
| 1D Linear | House Robber, Climbing Stairs | dp[i] depends on dp[i-1], dp[i-2] |
| 2D Grid | Unique Paths, Min Path Sum | dp[i][j] from neighbors |
| String DP | Edit Distance, LCS | dp[i][j] for substrings |
| Knapsack | Coin Change, Partition | Include/exclude item |

## Integration Options

### MCP Server

**InterviewReady MCP Server**:
```bash
# Access curated interview content
npm install -g interviewready-mcp-server
```

### External Resources

- [Tech Interview Handbook](https://github.com/yangshun/tech-interview-handbook)
- [Coding Interview University](https://github.com/jwasham/coding-interview-university)
- [FAANG Coding Interview Questions](https://github.com/ombharatiya/FAANG-Coding-Interview-Questions)
- [neerazz/FAANG](https://github.com/neerazz/FAANG)
- [Interviews (kdn251)](https://github.com/kdn251/interviews)

## Integration with Processes

This skill enhances:
- `faang-interview-prep` - Structured FAANG preparation
- `mock-coding-interview` - Problem selection for mocks
- `interview-problem-explanation` - Explaining solutions
- `skill-gap-analysis` - Identifying weak areas

## Interview Preparation Timeline

### 1 Week Preparation

Focus on high-frequency problems:
- Day 1-2: Arrays and Strings (15 problems)
- Day 3-4: Trees and Graphs (10 problems)
- Day 5-6: DP and Backtracking (10 problems)
- Day 7: Review and mock interview

### 1 Month Preparation

Comprehensive coverage:
- Week 1: Fundamentals (Arrays, Strings, Hash Tables)
- Week 2: Data Structures (Trees, Graphs, Heaps)
- Week 3: Algorithms (DP, Backtracking, Greedy)
- Week 4: Review, mock interviews, weak areas

### 3 Month Preparation

Deep mastery:
- Month 1: All Easy + Medium fundamentals
- Month 2: Advanced Medium + Hard problems
- Month 3: Company-specific + mock interviews

## References

- [Blind 75 List](https://www.teamblind.com/post/New-Year-Gift---Curated-List-of-Top-75-LeetCode-Questions-to-Save-Your-Time-OaM1orEU)
- [NeetCode](https://neetcode.io/)
- [Sean Prashad's LeetCode Patterns](https://seanprashad.com/leetcode-patterns/)
- [Tech Interview Handbook](https://github.com/yangshun/tech-interview-handbook)
- [InterviewReady MCP](https://github.com/InterviewReady/mcp-server)

## Error Handling

| Error | Cause | Resolution |
|-------|-------|------------|
| `PROBLEM_NOT_FOUND` | Problem not in database | Search by alternate name |
| `PREMIUM_LOCKED` | LeetCode premium required | Use alternative problem |
| `INVALID_COMPANY` | Company not recognized | Check supported companies |
| `PROGRESS_LOAD_FAILED` | Cannot load progress file | Initialize new progress |

## Best Practices

1. **Quality over quantity** - Understand solutions deeply
2. **Pattern recognition** - Group problems by pattern
3. **Time yourself** - Practice under interview conditions
4. **Review regularly** - Spaced repetition helps retention
5. **Mock interviews** - Practice explaining solutions
6. **Company research** - Focus on company-specific patterns

Related Skills

interview-facilitation

509
from a5c-ai/babysitter

Conduct semi-structured interviews and moderate focus groups with rapport building, probing techniques, and group dynamics management

oral-history-interview-technique

509
from a5c-ai/babysitter

Conduct life history and testimonial interviews with appropriate prompting, active listening, and trauma-informed approaches

a3-problem-solver

509
from a5c-ai/babysitter

A3 problem-solving and status reporting skill with structured thinking and coaching support

interview-questions

509
from a5c-ai/babysitter

Generate competency-based and behavioral interview questions with legal compliance validation

leetcode-problem-fetcher

509
from a5c-ai/babysitter

Fetch and parse LeetCode problems with metadata, constraints, examples, hints, difficulty ratings, and related problems. Integrates with LeetCode API for comprehensive problem data retrieval.

interview-simulator

509
from a5c-ai/babysitter

Simulate realistic coding interview experience

requirements-interview

509
from a5c-ai/babysitter

Interactive PM interview with expertise-adaptive questioning for requirements elicitation

process-builder

509
from a5c-ai/babysitter

Scaffold new babysitter process definitions following SDK patterns, proper structure, and best practices. Guides the 3-phase workflow from research to implementation.

Workflow & Productivity

babysitter

509
from a5c-ai/babysitter

Orchestrate via @babysitter. Use this skill when asked to babysit a run, orchestrate a process or whenever it is called explicitly. (babysit, babysitter, orchestrate, orchestrate a run, workflow, etc.)

yolo

509
from a5c-ai/babysitter

Run Babysitter autonomously with minimal manual interruption.

user-install

509
from a5c-ai/babysitter

Install the user-level Babysitter Codex setup.

team-install

509
from a5c-ai/babysitter

Install the team-pinned Babysitter Codex workspace setup.