Skip to content

kins-source/DSA_Roadmap

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

1. 6-Month DSA Strategy to Crack FAANG Companies

🔍 Assumptions:

  • You have basic knowledge of DSA (like arrays, strings, loops, recursion).
  • You can code in at least one language: Java / Python / C++.
  • You're aiming for coding interviews and online assessments.
  • You're ready to commit 2–3 hours/day, 5–6 days/week.

📆 6-Month Roadmap Overview

Month Focus Area Key Goals
Month 1 DSA Fundamentals + Problem Solving Patterns Master Arrays, Strings, Hashing, Two Pointers, Sliding Window, Binary Search
Month 2 Recursion & Backtracking Understand recursion deeply, solve backtracking patterns
Month 3 Trees, Graphs, BFS/DFS Build a strong foundation on Tree traversal, Graph algorithms
Month 4 Heaps, Tries, Segment Trees, Union-Find Learn advanced data structures used in system design and optimization
Month 5 DP (Dynamic Programming) Master classic DP problems and patterns
Month 6 Mock Interviews + Optimization + LC Hards Practice under time pressure, review mistakes, refine communication

💡 Weekly Plan Template (Flexible)

Weekday Time Activity
Mon/Wed/Fri 2 hrs Learn new topic + Solve 3–5 LC problems
Tue/Thu/Sat 2 hrs Revise previous topics + Blind 75 / Grind 75
Sun 3–4 hrs Mock Interview + Weak area revision

2. Trackable DSA Progress Sheet (Notion/Excel Style)

Here’s a template structure you can use in Notion or Excel:

Topic Subtopic Difficulty Problems Completed? (✅) Notes
Arrays Two Sum Easy [LeetCode 1] Hash Map usage
Arrays Sliding Window Max Hard [LeetCode 239] Use Deque
Strings Longest Without Repeating Medium [LeetCode 3] Two Pointers
Recursion Fibonacci Easy [LeetCode 509] Memoization
... ... ... ... ... ...

🔗 Google Sheet Template: Make a Copy Here


3. Topic-wise Breakdown (Order of Importance)

This is the order FAANG companies expect you to master:

⭐ Top Priority

  1. Arrays & Strings
  2. Two Pointers
  3. Sliding Window
  4. Binary Search
  5. Hashing / Maps
  6. Sorting Algorithms
  7. Greedy Algorithms
  8. BFS / DFS (Graphs & Trees)
  9. Dynamic Programming (DP)
  10. Backtracking

🧠 Advanced but Must-Know

  1. Trie
  2. Union-Find / Disjoint Set
  3. Segment Trees
  4. Heaps / Priority Queues
  5. Bit Manipulation
  6. Monotonic Stack / Queue
  7. Binary Indexed Trees (Fenwick Trees)

📈 System Design Related (Optional for SDE Roles)

  1. LRU Cache
  2. Design Twitter / Autocomplete / Search Suggestions
  3. Concurrent Data Structures

4. 100 Most Frequently Asked FAANG DSA Questions

Sorted by frequency across Google, Amazon, Meta, Microsoft, Apple:

# Question Difficulty Tags
1 Two Sum Easy Array, Hash Map
2 Valid Parentheses Easy Stack
3 Longest Substring Without Repeating Characters Medium Two Pointers, Sliding Window
4 Median of Two Sorted Arrays Hard Binary Search
5 Longest Palindromic Substring Medium String, Two Pointers
6 Container With Most Water Medium Two Pointers
7 3Sum Medium Two Pointers, Sorting
8 Remove Nth Node From End of List Medium Linked List, Two Pointers
9 Merge Two Sorted Lists Easy Linked List
10 Generate Parentheses Medium Backtracking
11 Merge k Sorted Lists Hard Heap, Divide and Conquer
12 Swap Nodes in Pairs Medium Linked List
13 Reverse Nodes in k-Group Hard Linked List
14 Climbing Stairs Easy DP
15 Coin Change Medium DP
16 Longest Increasing Subsequence Medium DP
17 Unique Paths Medium DP
18 Word Break Medium DP, BFS
19 House Robber Easy DP
20 Decode Ways Medium DP
21 Minimum Path Sum Medium DP, Matrix
22 Edit Distance Hard DP
23 Partition Equal Subset Sum Medium DP
24 Course Schedule Medium Graph, BFS
25 Course Schedule II Medium Graph, Topological Sort
26 Number of Islands Medium DFS, BFS
27 Clone Graph Medium BFS, DFS
28 Pacific Atlantic Water Flow Medium BFS, DFS
29 Alien Dictionary Hard Graph, Topological Sort
30 Word Ladder Medium BFS
31 Word Ladder II Hard BFS, DFS
32 Evaluate Reverse Polish Notation Medium Stack
33 Basic Calculator II Medium Stack
34 Largest Rectangle in Histogram Hard Stack
35 Trapping Rain Water Hard Two Pointers, Stack
36 Product of Array Except Self Medium Prefix Sum
37 Spiral Matrix Medium Matrix
38 Rotate Image Medium Matrix
39 Set Matrix Zeroes Medium Matrix
40 Search a 2D Matrix Medium Binary Search
41 Kth Smallest Element in a Sorted Matrix Medium Binary Search, Heap
42 Meeting Rooms II Medium Heap, Greedy
43 Task Scheduler Medium Greedy, Math
44 Jump Game Medium Greedy
45 Jump Game II Medium Greedy
46 Gas Station Medium Greedy
47 Majority Element Easy Hash Map, Boyer-Moore
48 Find All Anagrams in a String Medium Sliding Window
49 Permutations Medium Backtracking
50 Permutations II Medium Backtracking
51 Combinations Medium Backtracking
52 Combination Sum Medium Backtracking
53 Letter Combinations of a Phone Number Medium Backtracking
54 Subsets Medium Backtracking
55 Subsets II Medium Backtracking
56 Word Search Medium Backtracking
57 Sudoku Solver Hard Backtracking
58 N-Queens Hard Backtracking
59 N-Queens II Hard Backtracking
60 Implement Trie (Prefix Tree) Medium Trie
61 Word Search II Hard Trie
62 Design Add and Search Words Data Structure Medium Trie
63 Find Median from Data Stream Hard Heap
64 Top K Frequent Elements Medium Heap
65 K Closest Points to Origin Medium Heap
66 Merge Intervals Medium Sorting
67 Insert Interval Medium Sorting
68 Non-overlapping Intervals Medium Greedy
69 Meeting Rooms Easy Sorting
70 Minimum Number of Arrows to Burst Balloons Medium Greedy
71 Assign Cookies Easy Greedy
72 Huffman Encoding Medium Greedy
73 Binary Tree Inorder Traversal Easy DFS
74 Validate Binary Search Tree Medium DFS
75 Lowest Common Ancestor of a Binary Tree Medium DFS
76 Construct Binary Tree from Preorder and Inorder Traversal Medium DFS
77 Binary Tree Maximum Path Sum Hard DFS
78 Populating Next Right Pointers in Each Node Medium BFS
79 Populating Next Right Pointers in Each Node II Medium BFS
80 Binary Tree Level Order Traversal Medium BFS
81 Binary Tree Zigzag Level Order Traversal Medium BFS
82 Serialize and Deserialize Binary Tree Hard DFS
83 Recover Binary Search Tree Hard DFS
84 Find Duplicate Subtrees Medium DFS
85 Flip Equivalent Binary Trees Medium DFS
86 Count Complete Tree Nodes Medium DFS
87 Flatten Binary Tree to Linked List Medium DFS
88 Binary Tree Cameras Hard DFS
89 Rotting Oranges Medium BFS
90 Keys and Rooms Medium DFS
91 Redundant Connection Medium Union-Find
92 Number of Provinces Medium DFS
93 Accounts Merge Medium DFS
94 Longest Univalue Path Medium DFS
95 Delete Node in a BST Medium BST
96 Convert Sorted List to Binary Search Tree Medium DFS
97 Binary Tree Pruning Medium DFS
98 Flip Game II Medium DFS
99 The Maze II Medium BFS
100 Cheapest Flights Within K Stops Medium BFS, Dijkstra

📌 Tip: Prioritize Top 50 most frequent LeetCode problems first.


5. Must-Know DSA Patterns

These are essential problem-solving patterns that appear repeatedly in FAANG interviews:

Pattern Description Example Problems
Two Pointers Used in arrays and linked lists Two Sum, Three Sum, Remove Duplicates
Sliding Window Efficient subarray processing Longest Substring, Max Consecutive Ones
Binary Search For sorted arrays and binary search on answer Find Peak Element, Koko Eating Bananas
Greedy Algorithms Choose optimal local solution Jump Game, Meeting Rooms
Backtracking Recursive exploration Permutations, N-Queens, Sudoku
Divide and Conquer Split and combine solutions Merge K Sorted Lists, Merge Sort
Dynamic Programming (DP) Optimal substructure + overlapping subproblems House Robber, Longest Increasing Subsequence
BFS / DFS Tree and graph traversal Number of Islands, Word Ladder
Trie Prefix-based searches Word Search II, Implement Trie
Heap / Priority Queue Efficient retrieval of max/min elements Top K Frequent Elements, Find Median
Monotonic Stack / Queue Maintain increasing/decreasing sequences Daily Temperatures, Largest Rectangle in Histogram
Union-Find (Disjoint Set) Detect cycles in graphs Redundant Connection, Number of Provinces

6. Best Resources & Mock Interview Prep

🎥 YouTube Channels

  • NeetCode – Clean, concise explanations for top LC problems
  • Tech Dose – Great for DP, Trees, Graphs
  • Errichto – Competitive programming style walkthroughs
  • Abdul Bari – Theory and Algorithms explained clearly
  • Take U Forward – Indian-friendly coding interviews prep

📚 LeetCode Resources

🧪 Mock Interview Platforms

  • Pramp – Free peer-to-peer mock interviews
  • Interviewing.io – Real engineer mocks with feedback
  • Gainlo.co – Paid FAANG-style mocks
  • LeetCode Mock Interview – Simulated environment
  • CodeSignal – Company-level practice and assessment

✅ Bonus: How to Stay Consistent

  • Use a habit tracker app (e.g., Habitica, Loop Habit Tracker)
  • Set weekly goals (e.g., "Complete 20 LC problems")
  • Track progress daily using your sheet
  • Review every weekend – what worked, what didn’t?
  • Join a Discord group or study buddy
  • Reward yourself after milestones (e.g., watch a movie, eat out)

🏁 Final Tips

  • Focus more on problem-solving logic than just code.
  • Write clean code with comments during interviews.
  • Explain your thought process during mocks.
  • Practice writing code without auto-complete.
  • Simulate real interview conditions – no hints, timed.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors