Skip to content

🎯 Interview Preparation DSA & System Design

From zero to offer. Data structures, algorithms, system design, and behavioral all free resources.


πŸ“Œ Table of Contents


πŸ—ΊοΈ DSA Roadmap (Zero to One)

Phase 1: Foundations (Week 1-4)

Topic Resource Link
Big-O Notation Abdul Bari (YouTube) Big O Analysis
Arrays & Strings GeeksforGeeks Arrays
Linked Lists GeeksforGeeks Linked Lists
Stacks & Queues GeeksforGeeks Stack
Recursion & Backtracking Aditya Verma (YouTube) Recursion Playlist
Sorting Algorithms Abdul Bari Sorting

Phase 2: Core Data Structures (Week 5-8)

Topic Resource Link
Hash Maps & Sets NeetCode Hashing
Trees (Binary, BST) Striver (YouTube) Trees Playlist
Heaps & Priority Queues Abdul Bari Heaps
Graphs (BFS, DFS) William Fiset (YouTube) Graph Theory
Tries NeetCode Trie Implementation
Union-Find (DSU) William Fiset Union Find

Phase 3: Algorithms (Week 9-12)

Topic Resource Link
Binary Search Aditya Verma Binary Search Playlist
Two Pointers & Sliding Window Aditya Verma Sliding Window
Dynamic Programming Aditya Verma DP Playlist
Greedy Algorithms Striver Greedy
Bit Manipulation NeetCode Bit Manipulation
Divide & Conquer MIT OCW D&C Lecture

Phase 4: Advanced & Patterns (Week 13-16)

Topic Resource Link
Segment Trees Errichto (YouTube) Segment Trees
Monotonic Stack/Queue NeetCode Monotonic Stack
Topological Sort William Fiset Topo Sort
Shortest Path (Dijkstra, Bellman-Ford) William Fiset Shortest Path
String Algorithms (KMP, Rabin-Karp) Abdul Bari KMP
Interval Problems NeetCode Intervals

Blind 75 (The OG List)

The original 75 problems that cover all major patterns. Start here if you have limited time.

# Topic Problem LeetCode
1 Array Two Sum #1
2 Array Best Time to Buy and Sell Stock #121
3 Array Contains Duplicate #217
4 Array Product of Array Except Self #238
5 Array Maximum Subarray #53
6 Array Maximum Product Subarray #152
7 Array Find Minimum in Rotated Sorted Array #153
8 Array Search in Rotated Sorted Array #33
9 Array 3Sum #15
10 Array Container With Most Water #11
11 Binary Sum of Two Integers #371
12 Binary Number of 1 Bits #191
13 Binary Counting Bits #338
14 Binary Missing Number #268
15 Binary Reverse Bits #190
16 DP Climbing Stairs #70
17 DP Coin Change #322
18 DP Longest Increasing Subsequence #300
19 DP Longest Common Subsequence #1143
20 DP Word Break #139
21 DP Combination Sum IV #377
22 DP House Robber #198
23 DP House Robber II #213
24 DP Decode Ways #91
25 DP Unique Paths #62
26 DP Jump Game #55
27 Graph Clone Graph #133
28 Graph Course Schedule #207
29 Graph Pacific Atlantic Water Flow #417
30 Graph Number of Islands #200
31 Graph Longest Consecutive Sequence #128
32 Interval Insert Interval #57
33 Interval Merge Intervals #56
34 Interval Non-overlapping Intervals #435
35 Linked List Reverse Linked List #206
36 Linked List Detect Cycle #141
37 Linked List Merge Two Sorted Lists #21
38 Linked List Merge K Sorted Lists #23
39 Linked List Remove Nth Node From End #19
40 Linked List Reorder List #143
41 Matrix Set Matrix Zeroes #73
42 Matrix Spiral Matrix #54
43 Matrix Rotate Image #48
44 Matrix Word Search #79
45 String Longest Substring Without Repeating #3
46 String Longest Repeating Character Replacement #424
47 String Minimum Window Substring #76
48 String Valid Anagram #242
49 String Group Anagrams #49
50 String Valid Parentheses #20
51 String Longest Palindromic Substring #5
52 String Palindromic Substrings #647
53 String Encode and Decode Strings #271
54 Tree Maximum Depth of Binary Tree #104
55 Tree Same Tree #100
56 Tree Invert Binary Tree #226
57 Tree Binary Tree Maximum Path Sum #124
58 Tree Binary Tree Level Order Traversal #102
59 Tree Serialize and Deserialize Binary Tree #297
60 Tree Subtree of Another Tree #572
61 Tree Construct Binary Tree from Preorder and Inorder #105
62 Tree Validate BST #98
63 Tree Kth Smallest Element in BST #230
64 Tree LCA of BST #235
65 Tree Implement Trie #208
66 Tree Word Search II #212
67 Heap Top K Frequent Elements #347
68 Heap Find Median from Data Stream #295

Full Blind 75 list: leetcode.com/discuss/general-discussion/460599


NeetCode 150

An expanded version of Blind 75 with better coverage. Organized by pattern.

Full list with video explanations: neetcode.io/practice

Category Count Key Problems
Arrays & Hashing 9 Two Sum, Group Anagrams, Top K Frequent
Two Pointers 5 Valid Palindrome, 3Sum, Container With Most Water
Sliding Window 6 Best Time to Buy Stock, Longest Substring, Min Window
Stack 7 Valid Parentheses, Min Stack, Daily Temperatures
Binary Search 7 Search Rotated Array, Koko Eating Bananas, Median of Two
Linked List 11 Reverse, Merge Two, Reorder, LRU Cache
Trees 15 Max Depth, Invert, Level Order, Serialize, Validate BST
Tries 3 Implement Trie, Word Search II, Design Add/Search
Heap / Priority Queue 7 Kth Largest, Top K Frequent, Find Median
Backtracking 9 Subsets, Permutations, Combination Sum, N-Queens
Graphs 13 Number of Islands, Clone Graph, Course Schedule, Dijkstra
Advanced Graphs 6 Alien Dictionary, Min Cost to Connect, Network Delay
1-D DP 12 Climbing Stairs, House Robber, Longest Palindromic
2-D DP 11 Unique Paths, LCS, Edit Distance, Coin Change II
Greedy 8 Jump Game, Gas Station, Hand of Straights
Intervals 6 Insert Interval, Merge Intervals, Meeting Rooms
Math & Geometry 8 Rotate Image, Spiral Matrix, Pow(x,n)
Bit Manipulation 7 Single Number, Counting Bits, Reverse Bits

Striver's SDE Sheet (191 Problems)

The most comprehensive Indian-origin DSA sheet. Covers everything from basics to advanced.

Full sheet: takeuforward.org/strivers-sde-sheet

Day Topic Key Problems
1 Arrays Set Matrix Zeroes, Pascal's Triangle, Next Permutation
2 Arrays Kadane's Algorithm, Sort 0/1/2, Stock Buy & Sell
3 Arrays/Math Pow(x,n), Majority Element, Grid Unique Paths
4 Arrays 2-Sum, 4-Sum, Longest Consecutive Sequence
5 Linked List Reverse, Middle, Merge Two Sorted, Add Two Numbers
6 Linked List Intersection, Detect Cycle, Reverse in Groups of K
7 Linked List Rotate, Clone with Random Pointer, Flatten
8 Greedy N Meetings, Job Sequencing, Fractional Knapsack
9 Recursion Subset Sum, Combination Sum, Palindrome Partitioning
10 Recursion/Backtracking Permutations, N-Queens, Sudoku Solver, M-Coloring
11 Binary Search Nth Root, Median of 2 Sorted Arrays, Search Rotated
12 Heaps Kth Largest, Max Heap, Merge K Sorted, Top K Frequent
13 Stack & Queue Implement Stack using Queue, BFS, Next Greater Element
14 Stack & Queue LRU Cache, LFU Cache, Sliding Window Maximum
15-18 Strings Reverse Words, KMP, Rabin-Karp, Z-Algorithm
19-21 Binary Trees Traversals, Diameter, LCA, Serialize, Morris Traversal
22-23 BST Search, Insert, Delete, Floor/Ceil, Kth Smallest
24-26 Graphs BFS, DFS, Topo Sort, Dijkstra, Bellman-Ford, Floyd-Warshall
27 Trie Implement, Word Search, Distinct Substrings
28-30 DP 0/1 Knapsack, LCS, LIS, Matrix Chain, Edit Distance

Video solutions (Striver's A2Z): youtube.com/@takeUforward


Other Curated Lists

List Problems Best For Link
Grind 75 75 (customizable) Time-constrained prep grind75.com
LeetCode Top 100 Liked 100 Community favorites leetcode.com/problemset
Sean Prashad's Patterns 170+ Pattern-based learning seanprashad.com/leetcode-patterns
LeetCode Patterns (GitHub) 100+ Pattern recognition github.com/seanprashad/leetcode-patterns
Fraz DSA Sheet 200+ Comprehensive leadcoding.in/dsa-sheet
Love Babbar 450 450 Exhaustive practice 450dsa.com

πŸ“– Topic-Wise DSA Breakdown

Arrays & Hashing

Resource Type Link
GeeksforGeeks Arrays Tutorial + Problems geeksforgeeks.org/array-data-structure
NeetCode Arrays Video + Code neetcode.io
Kadane's Algorithm Explanation geeksforgeeks.org/largest-sum-contiguous-subarray

Trees & Graphs

Resource Type Link
William Fiset Graph Theory Video Playlist (40+) YouTube Playlist
Striver Tree Series Video (50+) YouTube Playlist
GeeksforGeeks Trees Tutorial + Problems geeksforgeeks.org/binary-tree-data-structure
GeeksforGeeks Graphs Tutorial + Problems geeksforgeeks.org/graph-data-structure-and-algorithms

Dynamic Programming

Resource Type Link
Aditya Verma DP Playlist Video (50+) YouTube Playlist
Striver DP Series Video (56) YouTube Playlist
GeeksforGeeks DP Tutorial + Problems geeksforgeeks.org/dynamic-programming
AtCoder DP Contest 26 Problems atcoder.jp/contests/dp
CSES Problem Set (DP) Practice cses.fi/problemset
Resource Type Link
Aditya Verma Binary Search Video (16) YouTube Playlist
GeeksforGeeks Binary Search Tutorial geeksforgeeks.org/binary-search
Binary Search on Answer Pattern codeforces.com/blog/entry/96699

πŸ—οΈ System Design

Fundamentals (Start Here)

Resource Type Link
System Design Primer GitHub (comprehensive) github.com/donnemartin/system-design-primer
ByteByteGo YouTube (visual) youtube.com/@ByteByteGo
Gaurav Sen YouTube (intuitive) youtube.com/@gaborauravsen
Hussein Nasser YouTube (deep dives) youtube.com/@haborussein
Arpit Bhayani YouTube (Indian context) youtube.com/@ArpitBhayani
sudoCODE YouTube (Hindi) youtube.com/@sudocode

Core Concepts to Master

Concept Resource Link
Load Balancing System Design Primer Load Balancer
Caching System Design Primer Cache
Database Sharding Gaurav Sen YouTube
CAP Theorem ByteByteGo YouTube
Consistent Hashing Gaurav Sen YouTube
Message Queues Hussein Nasser YouTube
CDN ByteByteGo YouTube
API Design (REST/gRPC) Hussein Nasser YouTube
Rate Limiting System Design Primer Rate Limiter
Database Indexing Hussein Nasser YouTube

Classic System Design Problems

Problem Difficulty Video Resource
Design URL Shortener (TinyURL) Easy ByteByteGo
Design Rate Limiter Easy ByteByteGo
Design Key-Value Store Medium ByteByteGo
Design Twitter/News Feed Medium Gaurav Sen
Design WhatsApp/Chat System Medium Gaurav Sen
Design YouTube/Netflix Medium ByteByteGo
Design Uber/Lyft Hard Gaurav Sen
Design Google Maps Hard ByteByteGo
Design Distributed Cache Hard Hussein Nasser
Design Payment System Hard ByteByteGo
Design Google Docs Hard Gaurav Sen
Design Search Autocomplete Medium ByteByteGo

System Design Reading (Free)

Resource Topic Link
Google SRE Book Reliability at scale sre.google/sre-book
12-Factor App Cloud-native principles 12factor.net
High Scalability Blog Real architectures highscalability.com
Martin Fowler Architecture patterns martinfowler.com
Papers We Love Academic systems papers paperswelove.org

πŸ—£οΈ Behavioral & Leadership

Frameworks

Framework Use For Key
STAR Behavioral questions Situation β†’ Task β†’ Action β†’ Result
CIRCLES Product design Comprehend β†’ Identify β†’ Report β†’ Cut β†’ List β†’ Evaluate β†’ Summarize
SPADE Decision-making Setting β†’ People β†’ Alternatives β†’ Decide β†’ Explain

Common Behavioral Questions

Category Example Questions
Leadership "Tell me about a time you led a project with ambiguity"
Conflict "Describe a disagreement with a teammate and how you resolved it"
Failure "Tell me about a time you failed and what you learned"
Impact "What's the most impactful project you've worked on?"
Growth "How do you stay current with technology?"
Trade-offs "Describe a time you had to make a difficult technical decision"

Resources

Resource Type Link
Tech Interview Handbook (Behavioral) Guide techinterviewhandbook.org/behavioral
Jeff H Sipe (YouTube) Mock interviews youtube.com/@JeffHSipe
Dan Croitor (YouTube) Amazon LP questions youtube.com/@DanCroitor

πŸ‹οΈ Mock Interviews & Practice

Platforms (Free Tier)

Platform Type Link
LeetCode DSA problems (2000+ free) leetcode.com
GeeksforGeeks DSA + theory + problems geeksforgeeks.org
HackerRank DSA + language-specific hackerrank.com
Codeforces Competitive programming codeforces.com
AtCoder Clean problems, great DP atcoder.jp
CSES Problem Set 300 curated problems cses.fi/problemset
Pramp Free peer mock interviews pramp.com
Interviewing.io Anonymous mock interviews interviewing.io (free tier)
CodeSignal Assessment practice codesignal.com

Competitive Programming (for speed)

Platform Best For Link
Codeforces Speed, problem-solving codeforces.com
AtCoder Clean problems, DP atcoder.jp
CSES Curated fundamentals cses.fi
Project Euler Math + programming projecteuler.net
Advent of Code Fun annual challenges adventofcode.com

πŸ’» Language-Specific Prep

C++ for Interviews

Resource Link
C++ STL Cheat Sheet geeksforgeeks.org/cpp-stl
C++ STL for Competitive Programming youtube.com (Luv)
Effective Modern C++ (talks) CppCon YouTube

Python for Interviews

Resource Link
Python Data Structures geeksforgeeks.org/python-data-structures
Python Collections Module docs.python.org/3/library/collections
NeetCode (Python solutions) youtube.com/@NeetCode

Java for Interviews

Resource Link
Java Collections Framework geeksforgeeks.org/java-collection-tutorial
Java Streams & Lambda geeksforgeeks.org/stream-in-java

πŸ“… Study Plans

1 Month Plan (Crunch Mode)

Week 1: Arrays, Strings, Hashing, Two Pointers (Blind 75: 1-15)
Week 2: Trees, Graphs, BFS/DFS (Blind 75: 27-40, 54-66)
Week 3: DP, Binary Search, Backtracking (Blind 75: 16-26)
Week 4: System Design (5 problems) + Behavioral (5 stories)

3 Month Plan (Thorough)

Month 1: NeetCode 150 (all topics, 2-3 problems/day)
Month 2: Striver SDE Sheet (fill gaps) + System Design fundamentals
Month 3: Mock interviews + System Design problems + Company-specific prep

6 Month Plan (Zero to Hero)

Month 1-2: DSA foundations (Phase 1-2 from roadmap above)
Month 3-4: Algorithms + patterns (Phase 3-4) + NeetCode 150
Month 5: System Design (all core concepts + 10 design problems)
Month 6: Mock interviews + Behavioral + Company-specific + Revision

🎯 Tips from the Trenches

  1. Pattern recognition > problem count 100 problems with patterns understood beats 500 problems brute-forced
  2. Explain while coding Practice talking through your approach out loud
  3. Time yourself 20 min for Easy, 30 min for Medium, 45 min for Hard
  4. Review, don't just solve After solving, read the top-voted discussion solutions
  5. Spaced repetition Revisit solved problems after 3 days, 7 days, 14 days
  6. System design is about trade-offs There's no "correct" answer, only justified decisions
  7. Behavioral is not optional Many candidates fail here, not on DSA

πŸ““ From Learning Log

Course Platform Link
System Design for Beginners Neetcode neetcode.io
System Design Interview Neetcode neetcode.io
Algorithms and Data Structures for Beginners Neetcode neetcode.io
Advanced Algorithms Neetcode neetcode.io
Grokking Algorithms (Book) Manning Manning

"Interviews test your ability to think under pressure, communicate clearly, and solve problems systematically. Practice all three."