Technical Interview Prep
The LeetCode Study Guide
Neetcode 150, Blind 75, key patterns, Big O cheat sheet, and everything you need to ace the technical interview.
The Study Lists
Stop random grinding. These curated lists cover the exact patterns companies test.
150
Neetcode 150
The gold standard. 150 problems organized by pattern, with video explanations for every single one.
Start Neetcode 150
75
Blind 75
The shorter list. Most commonly asked problems across FAANG. Great starting point before the full 150.
Start Blind 75
Key Topics by Difficulty
Master these in order. Build a strong foundation before moving to harder topics.
Easy
- Arrays
- Strings
- HashMaps
- Two Pointers
- Stacks
- Linked Lists
- Binary Search
Medium
- Sliding Window
- Trees (BFS/DFS)
- Graphs
- Backtracking
- Heaps / Priority Queues
- Intervals
- Greedy
Hard
- Dynamic Programming
- Tries
- Segment Trees
- Union Find
- Topological Sort
- Bit Manipulation
Big O Cheat Sheet
You WILL be asked about time and space complexity. Know these cold.
| Notation |
Name |
Example |
| O(1) |
Constant |
HashMap lookup, array index access |
| O(log n) |
Logarithmic |
Binary search, balanced BST lookup |
| O(n) |
Linear |
Single loop, linear search |
| O(n log n) |
Linearithmic |
Merge sort, heap sort, Tim sort |
| O(n²) |
Quadratic |
Nested loops, bubble sort |
| O(2ⁿ) |
Exponential |
Recursive fibonacci, power set |
| O(n!) |
Factorial |
Permutations, travelling salesman |
Key Patterns
Pattern recognition beats memorizing solutions. Learn to identify which pattern applies to a problem.
Two Pointer
When to use: Sorted arrays, finding pairs, palindromes, removing duplicates, container with most water.
Sliding Window
When to use: Subarray/substring problems, finding max/min in a range, contiguous sequence constraints.
BFS / DFS (Tree & Graph Traversal)
When to use: Tree traversal, level-order problems, shortest path (BFS), exploring all paths (DFS), connected components.
Binary Search
When to use: Sorted data, search space reduction, finding boundaries, rotated arrays, minimizing/maximizing a value.
Dynamic Programming
When to use: Optimization problems, counting paths/ways, subsequences, overlapping subproblems, "min/max cost" phrasing.
HashMap / HashSet
When to use: Frequency counting, finding duplicates, two-sum variants, grouping anagrams, caching results.
Recommended Resources
The best courses, channels, and tools for learning DSA from scratch or leveling up.
-
NeetCode.io
Video explanations for every problem. Best free resource for visual learners.
-
NeetCode YouTube
Concise video solutions with clear diagrams. The gold standard for LeetCode explanations.
-
AlgoExpert
Curated 160 problems with video walkthroughs. Great UI and structured learning path.
-
-
-
Abdul Bari (YouTube)
In-depth algorithm explanations with whiteboard animations. Great for understanding the theory.
-
Big O Cheat Sheet
Visual reference for time/space complexity of common data structures and algorithms.
-
VisuAlgo
Animated visualizations of algorithms and data structures. Helps build intuition.
How to Practice Effectively
- Read the problem carefully — identify inputs, outputs, constraints
- Ask clarifying questions — input size? negative numbers? duplicates?
- Think before coding — explain your approach in plain English first
- Start with brute force — get a working solution, then optimize
- Analyze complexity — state Big O for time AND space
- Test with examples — walk through your code with edge cases
- Time yourself — Easy: 15 min, Medium: 25 min, Hard: 40 min
- Review the pattern — after solving, categorize which pattern it used