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
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)
Curated Problem Lists
- Blind 75 (essential problems)
- NeetCode 150 (expanded essential list)
- LeetCode Top Interview Questions
- Company-specific top questions
- Pattern-specific problem sets
Progress Tracking
- Problems solved by category
- Weak area identification
- Time spent per problem type
- Success rate tracking
- Spaced repetition for review
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
# 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
| 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:
# 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
| 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
- Quality over quantity - Understand solutions deeply
- Pattern recognition - Group problems by pattern
- Time yourself - Practice under interview conditions
- Review regularly - Spaced repetition helps retention
- Mock interviews - Practice explaining solutions
- Company research - Focus on company-specific patterns
1---2name: interview-problem-bank3description: 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.4---5
6# interview-problem-bank
7
8A specialized skill for curating, organizing, and recommending coding interview problems, with support for company-specific preparation, pattern-based practice, and progress tracking.
9
10## Purpose
11
12Provide a comprehensive interview problem bank with:
13- Problems organized by FAANG company and difficulty
14- Pattern-based categorization (Blind 75, NeetCode 150, etc.)
15- Difficulty progression recommendations
16- Coverage tracking and weak area identification
17- Premium problem alternatives
18
19## Capabilities
20
21### Core Features
22
231. **Problem Organization**
24 - By company (Google, Meta, Amazon, Apple, Microsoft, etc.)
25 - By pattern (Two Pointers, Sliding Window, DP, etc.)
26 - By difficulty (Easy, Medium, Hard)
27 - By topic (Arrays, Trees, Graphs, etc.)
28 - By frequency (most asked in interviews)
29
302. **Curated Problem Lists**
31 - Blind 75 (essential problems)
32 - NeetCode 150 (expanded essential list)
33 - LeetCode Top Interview Questions
34 - Company-specific top questions
35 - Pattern-specific problem sets
36
373. **Progress Tracking**
38 - Problems solved by category
39 - Weak area identification
40 - Time spent per problem type
41 - Success rate tracking
42 - Spaced repetition for review
43
444. **Recommendations**
45 - Next problem based on progress
46 - Problems to strengthen weak areas
47 - Company-specific practice plans
48 - Time-based study schedules
49
50## Problem Lists
51
52### Blind 75
53
54The essential 75 problems covering all major patterns:
55
56| Category | Count | Topics |
57|----------|-------|--------|
58| Arrays & Hashing | 9 | Two Sum, Group Anagrams, Top K Frequent |
59| Two Pointers | 5 | Valid Palindrome, 3Sum, Container with Water |
60| Sliding Window | 6 | Best Time to Buy Stock, Longest Substring |
61| Stack | 7 | Valid Parentheses, Min Stack, Daily Temperatures |
62| Binary Search | 7 | Search Rotated Array, Find Minimum |
63| Linked List | 11 | Reverse LL, Merge Lists, Detect Cycle |
64| Trees | 15 | Invert Tree, Max Depth, Level Order |
65| Tries | 3 | Implement Trie, Word Search II |
66| Heap/Priority Queue | 7 | Merge K Lists, Top K Frequent |
67| Backtracking | 9 | Subsets, Permutations, Combination Sum |
68| Graphs | 13 | Number of Islands, Clone Graph |
69| Dynamic Programming | 12 | Climbing Stairs, House Robber, Coin Change |
70| Greedy | 8 | Maximum Subarray, Jump Game |
71| Intervals | 6 | Merge Intervals, Meeting Rooms |
72| Math & Geometry | 8 | Rotate Image, Set Matrix Zeros |
73| Bit Manipulation | 7 | Single Number, Number of 1 Bits |
74
75### NeetCode 150
76
77Extended list with 150 problems for comprehensive preparation:
78- All 75 Blind 75 problems
79- 75 additional problems for deeper coverage
80- More advanced problems per category
81
82### Company-Specific Lists
83
84| Company | Focus Areas | Top Patterns |
85|---------|-------------|--------------|
86| **Google** | Problem solving, optimization | Arrays, DP, Graphs |
87| **Meta** | Arrays, Trees, System Design | Binary Trees, Arrays |
88| **Amazon** | OOP, System Design, Leadership | Trees, BFS/DFS |
89| **Apple** | iOS/macOS, algorithms | Arrays, Trees |
90| **Microsoft** | Coding, System Design | DP, Arrays, Graphs |
91| **Netflix** | Distributed Systems | Graphs, DP |
92
93## Usage
94
95### Get Recommended Problems
96
97```bash
98# Get next problem based on progress
99interview-problem-bank recommend --user progress.json
100
101# Get problems for specific pattern
102interview-problem-bank list --pattern "dynamic-programming" --difficulty medium
103
104# Get company-specific problems
105interview-problem-bank company --name google --count 50
106```
107
108### Track Progress
109
110```bash
111# Mark problem as solved
112interview-problem-bank solve --problem "two-sum" --time 15 --attempts 1
113
114# Get progress report
115interview-problem-bank progress --user progress.json
116
117# Identify weak areas
118interview-problem-bank analyze --user progress.json
119```
120
121### Generate Study Plan
122
123```bash
124# Generate 4-week study plan
125interview-problem-bank plan --weeks 4 --target google --level intermediate
126
127# Generate daily practice set
128interview-problem-bank daily --count 3 --user progress.json
129```
130
131## Output Schema
132
133### Problem Entry
134
135```json
136{
137 "id": "two-sum",
138 "title": "Two Sum",
139 "difficulty": "Easy",
140 "patterns": ["Arrays", "Hash Table"],
141 "companies": ["Google", "Amazon", "Meta", "Apple", "Microsoft"],
142 "frequency": 95,
143 "url": "https://leetcode.com/problems/two-sum/",
144 "premiumAlternative": null,
145 "hints": [
146 "Use a hash table for O(1) lookup",
147 "Store complement as key, index as value"
148 ],
149 "timeToSolve": {
150 "target": 10,
151 "beginner": 20,
152 "expert": 5
153 },
154 "relatedProblems": ["3sum", "4sum", "two-sum-ii"]
155}
156```
157
158### Progress Report
159
160```json
161{
162 "user": "user123",
163 "totalSolved": 150,
164 "byDifficulty": {
165 "Easy": 50,
166 "Medium": 80,
167 "Hard": 20
168 },
169 "byPattern": {
170 "Arrays": { "solved": 25, "total": 30 },
171 "DP": { "solved": 15, "total": 25 },
172 "Graphs": { "solved": 10, "total": 20 }
173 },
174 "weakAreas": ["Graphs", "Advanced DP", "Tries"],
175 "recommendations": [
176 { "problem": "course-schedule", "reason": "Strengthen Graphs" },
177 { "problem": "word-break", "reason": "Practice DP" }
178 ],
179 "streak": 15,
180 "lastPracticed": "2025-01-24"
181}
182```
183
184### Study Plan
185
186```json
187{
188 "duration": "4 weeks",
189 "target": "Google",
190 "level": "intermediate",
191 "schedule": [
192 {
193 "week": 1,
194 "focus": ["Arrays", "Strings", "Two Pointers"],
195 "problems": [
196 { "day": 1, "problems": ["two-sum", "valid-anagram", "contains-duplicate"] },
197 { "day": 2, "problems": ["best-time-to-buy", "max-subarray", "product-except-self"] }
198 ]
199 },
200 {
201 "week": 2,
202 "focus": ["Sliding Window", "Stack", "Binary Search"],
203 "problems": [...]
204 }
205 ]
206}
207```
208
209## Pattern-Based Organization
210
211### Array Patterns
212
213| Pattern | Key Problems | Technique |
214|---------|--------------|-----------|
215| Two Pointers | 3Sum, Container with Water | Converging pointers |
216| Sliding Window | Longest Substring, Min Window | Expand/contract window |
217| Prefix Sum | Subarray Sum Equals K | Cumulative sum |
218| Kadane's | Maximum Subarray | Track max ending at i |
219
220### Tree Patterns
221
222| Pattern | Key Problems | Technique |
223|---------|--------------|-----------|
224| DFS Recursive | Max Depth, Path Sum | Recursion |
225| BFS Level Order | Level Order Traversal | Queue |
226| Construct Tree | Build from Preorder/Inorder | Divide and conquer |
227
228### Graph Patterns
229
230| Pattern | Key Problems | Technique |
231|---------|--------------|-----------|
232| BFS Shortest Path | Word Ladder | Level-by-level |
233| DFS Connected Components | Number of Islands | Visit all nodes |
234| Topological Sort | Course Schedule | Kahn's algorithm |
235| Union Find | Number of Connected | DSU |
236
237### DP Patterns
238
239| Pattern | Key Problems | Technique |
240|---------|--------------|-----------|
241| 1D Linear | House Robber, Climbing Stairs | dp[i] depends on dp[i-1], dp[i-2] |
242| 2D Grid | Unique Paths, Min Path Sum | dp[i][j] from neighbors |
243| String DP | Edit Distance, LCS | dp[i][j] for substrings |
244| Knapsack | Coin Change, Partition | Include/exclude item |
245
246## Integration Options
247
248### MCP Server
249
250**InterviewReady MCP Server**:
251```bash
252# Access curated interview content
253npm install -g interviewready-mcp-server
254```
255
256### External Resources
257
258- [Tech Interview Handbook](https://github.com/yangshun/tech-interview-handbook)
259- [Coding Interview University](https://github.com/jwasham/coding-interview-university)
260- [FAANG Coding Interview Questions](https://github.com/ombharatiya/FAANG-Coding-Interview-Questions)
261- [neerazz/FAANG](https://github.com/neerazz/FAANG)
262- [Interviews (kdn251)](https://github.com/kdn251/interviews)
263
264## Integration with Processes
265
266This skill enhances:
267- `faang-interview-prep` - Structured FAANG preparation
268- `mock-coding-interview` - Problem selection for mocks
269- `interview-problem-explanation` - Explaining solutions
270- `skill-gap-analysis` - Identifying weak areas
271
272## Interview Preparation Timeline
273
274### 1 Week Preparation
275
276Focus on high-frequency problems:
277- Day 1-2: Arrays and Strings (15 problems)
278- Day 3-4: Trees and Graphs (10 problems)
279- Day 5-6: DP and Backtracking (10 problems)
280- Day 7: Review and mock interview
281
282### 1 Month Preparation
283
284Comprehensive coverage:
285- Week 1: Fundamentals (Arrays, Strings, Hash Tables)
286- Week 2: Data Structures (Trees, Graphs, Heaps)
287- Week 3: Algorithms (DP, Backtracking, Greedy)
288- Week 4: Review, mock interviews, weak areas
289
290### 3 Month Preparation
291
292Deep mastery:
293- Month 1: All Easy + Medium fundamentals
294- Month 2: Advanced Medium + Hard problems
295- Month 3: Company-specific + mock interviews
296
297## References
298
299- [Blind 75 List](https://www.teamblind.com/post/New-Year-Gift---Curated-List-of-Top-75-LeetCode-Questions-to-Save-Your-Time-OaM1orEU)
300- [NeetCode](https://neetcode.io/)
301- [Sean Prashad's LeetCode Patterns](https://seanprashad.com/leetcode-patterns/)
302- [Tech Interview Handbook](https://github.com/yangshun/tech-interview-handbook)
303- [InterviewReady MCP](https://github.com/InterviewReady/mcp-server)
304
305## Error Handling
306
307| Error | Cause | Resolution |
308|-------|-------|------------|
309| `PROBLEM_NOT_FOUND` | Problem not in database | Search by alternate name |
310| `PREMIUM_LOCKED` | LeetCode premium required | Use alternative problem |
311| `INVALID_COMPANY` | Company not recognized | Check supported companies |
312| `PROGRESS_LOAD_FAILED` | Cannot load progress file | Initialize new progress |
313
314## Best Practices
315
3161. **Quality over quantity** - Understand solutions deeply
3172. **Pattern recognition** - Group problems by pattern
3183. **Time yourself** - Practice under interview conditions
3194. **Review regularly** - Spaced repetition helps retention
3205. **Mock interviews** - Practice explaining solutions
3216. **Company research** - Focus on company-specific patterns