Назад към всички

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.

$ git log --oneline --stat
stars:384
forks:73
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
nameinterview-problem-bank
descriptionCurated 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.
allowed-toolsBash, Read, Write, Grep, Glob, WebSearch, WebFetch
metadata[object Object]

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:

CategoryCountTopics
Arrays & Hashing9Two Sum, Group Anagrams, Top K Frequent
Two Pointers5Valid Palindrome, 3Sum, Container with Water
Sliding Window6Best Time to Buy Stock, Longest Substring
Stack7Valid Parentheses, Min Stack, Daily Temperatures
Binary Search7Search Rotated Array, Find Minimum
Linked List11Reverse LL, Merge Lists, Detect Cycle
Trees15Invert Tree, Max Depth, Level Order
Tries3Implement Trie, Word Search II
Heap/Priority Queue7Merge K Lists, Top K Frequent
Backtracking9Subsets, Permutations, Combination Sum
Graphs13Number of Islands, Clone Graph
Dynamic Programming12Climbing Stairs, House Robber, Coin Change
Greedy8Maximum Subarray, Jump Game
Intervals6Merge Intervals, Meeting Rooms
Math & Geometry8Rotate Image, Set Matrix Zeros
Bit Manipulation7Single 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

CompanyFocus AreasTop Patterns
GoogleProblem solving, optimizationArrays, DP, Graphs
MetaArrays, Trees, System DesignBinary Trees, Arrays
AmazonOOP, System Design, LeadershipTrees, BFS/DFS
AppleiOS/macOS, algorithmsArrays, Trees
MicrosoftCoding, System DesignDP, Arrays, Graphs
NetflixDistributed SystemsGraphs, DP

Usage

Get Recommended Problems

# 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

# 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

# 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

{
  "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

{
  "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

{
  "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

PatternKey ProblemsTechnique
Two Pointers3Sum, Container with WaterConverging pointers
Sliding WindowLongest Substring, Min WindowExpand/contract window
Prefix SumSubarray Sum Equals KCumulative sum
Kadane'sMaximum SubarrayTrack max ending at i

Tree Patterns

PatternKey ProblemsTechnique
DFS RecursiveMax Depth, Path SumRecursion
BFS Level OrderLevel Order TraversalQueue
Construct TreeBuild from Preorder/InorderDivide and conquer

Graph Patterns

PatternKey ProblemsTechnique
BFS Shortest PathWord LadderLevel-by-level
DFS Connected ComponentsNumber of IslandsVisit all nodes
Topological SortCourse ScheduleKahn's algorithm
Union FindNumber of ConnectedDSU

DP Patterns

PatternKey ProblemsTechnique
1D LinearHouse Robber, Climbing Stairsdp[i] depends on dp[i-1], dp[i-2]
2D GridUnique Paths, Min Path Sumdp[i][j] from neighbors
String DPEdit Distance, LCSdp[i][j] for substrings
KnapsackCoin Change, PartitionInclude/exclude item

Integration Options

MCP Server

InterviewReady MCP Server:

# Access curated interview content
npm install -g interviewready-mcp-server

External Resources

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

Error Handling

ErrorCauseResolution
PROBLEM_NOT_FOUNDProblem not in databaseSearch by alternate name
PREMIUM_LOCKEDLeetCode premium requiredUse alternative problem
INVALID_COMPANYCompany not recognizedCheck supported companies
PROGRESS_LOAD_FAILEDCannot load progress fileInitialize 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