- Striver's A2Z Sheet: Learn DSA from A to Z
- Strivers SDE Sheet: Top Coding Interview Problems
- π© Arrays
- π¨ Strings
- π© Linked Lists
- π¨ Stack
- π© Queue
- π¨ HashMap / Hashing
| Provider | Course Playlist Link | Status | Notes |
|---|---|---|---|
| Striver (takeUforward) | DSA Playlist | β³ In Progress | Master sheets companion |
| Apna College | DSA Course | β³ In Progress | Core concepts & foundations |
| Kunal Kushwaha | DSA + Interview BootCamp | β³ In Progress | Java focus & deep-dives |
| Domain | Content Provider | Resource Link | Status |
|---|---|---|---|
| System Design | Piyush Garg | Playlist | β¬ Not Started |
| System Design | Engineering Digest | Playlist | β¬ Not Started |
| Database Management Systems (DBMS) | Comprehensive Guide | Watch Video | β¬ Not Started |
| Computer Networks (CN) | Complete Networking Crash Course | Watch Video | β¬ Not Started |
| Operating Systems (OS) | Love Babbar / CodeHelp | Playlist | β¬ Not Started |
| DSA Bootcamp Integration | Kunal Kushwaha | Playlist | β¬ Not Started |
If you want to create a GitHub Repository for the Ultimate DSA Placement Sheet, use the structure below.
ultimate-dsa-placement-sheet
A comprehensive DSA preparation repository combining the best questions from:
- Striver A2Z DSA Sheet
- Love Babbar 450 DSA Sheet
- NeetCode 150
- Fraz DSA Sheet
- Apna College 375 DSA Sheet
- Arsh DSA Sheet
- AlgoPrep 151 Problems
This repository is designed for:
- Product-Based Companies
- SDE Internships
- On-Campus Placements
- Off-Campus Placements
- FAANG Preparation
- Competitive Programming
https://takeuforward.org/strivers-a2z-dsa-course/strivers-a2z-dsa-course-sheet-2/
https://drive.google.com/file/d/1FMdN_OCfOI0iAeDlqswCiC2DZzD4nPsb/view
https://docs.google.com/spreadsheets/u/0/d/1-wKcV99KtO91dXdPkwmXGTdtyxAfk1mbPXQg81R9sFE/htmlview
https://docs.google.com/spreadsheets/u/0/d/1hXserPuxVoWMG9Hs7y8wVdRCJTcj3xMBAEYUOXQ5Xag/htmlview
https://docs.google.com/spreadsheets/d/1MGVBJ8HkRbCnU6EQASjJKCqQE8BWng4qgL0n3vCVOxE/edit
https://docs.google.com/spreadsheets/d/1kyHfGGaLTzWspcqMUUS5Httmip7t8LJB0P-uPrRLGos/edit
- Binary Search
- Two Pointers
- Backtracking
- DFS
- BFS
- DFS
- BFS
- Union Find
- Topological Sort
- Slow Fast Pointer
- Two Pointers
- Dynamic Programming
- Kadane Algorithm
- Heap
- Quick Select
- Hash Map
- Trie
- KMP
- Minimum operations
- Maximum profit
- Choose best option
- Number of ways
- Minimum cost
- Maximum sum
- Subsequence
- Longest substring
- Subarray with
- Kth smallest
- Search in sorted
- Minimize maximum
- Network
- Connections
- Path
ultimate-dsa-placement-sheet/
β
βββ Arrays/
βββ Strings/
βββ LinkedList/
βββ Stack/
βββ Queue/
βββ Recursion/
βββ Backtracking/
βββ BinarySearch/
βββ Trees/
βββ BST/
βββ Heap/
βββ Graph/
βββ DynamicProgramming/
βββ Greedy/
βββ Trie/
βββ SegmentTree/
βββ BitManipulation/
βββ SlidingWindow/
βββ TwoPointers/
βββ Math/
βββ CP-Templates/
β
βββ Common-Questions/
βββ NeetCode150/
βββ StriverA2Z/
βββ LoveBabbar450/
βββ ApnaCollege375/
βββ ArshSheet/
βββ AlgoPrep151/
β
βββ README.mdArrays + Strings
Linked List + Stack + Queue
Binary Search + Recursion
Trees + BST + Heap
Graphs
Dynamic Programming
Greedy + Trie
Mixed Interview Questions
- C++
- Java
- Python
Complete:
- 300+ Questions β Internship Ready
- 500+ Questions β Product Companies
- 700+ Questions β SDE-1 Ready
- 1000+ Questions β FAANG Ready
Happy Coding π
mkdir ultimate-dsa-placement-sheet
cd ultimate-dsa-placement-sheet
git init
touch README.md
git add .
git commit -m "Initial Commit - Ultimate DSA Placement Sheet"
git branch -M main
git remote add origin https://github.com/nirmaltodwal7/Roadmaps-Resource-Overview.git
git push -u origin mainSince your GitHub username is nirmaltodwal7, I recommend:
ultimate-dsa-placement-sheetdsa-placement-prepfaang-dsa-roadmapcomplete-dsa-sheetnirmal-dsa-preparation
as repository names.
DSA-Complete-Roadmap/
β
βββ README.md
βββ 0-Getting-Started/
β βββ How-to-Start.md
β βββ Mindset.md
β
βββ 1-Basics/
β βββ Arrays.md
β βββ Strings.md
β
βββ 2-Intermediate/
β βββ LinkedList.md
β βββ Stack-Queue.md
β βββ Recursion.md
β
βββ 3-Advanced/
β βββ Trees.md
β βββ Graphs.md
β βββ Heap.md
β βββ Greedy.md
β βββ DP.md
β
βββ 4-Patterns/
β βββ SlidingWindow.md
β βββ TwoPointers.md
β βββ BinarySearch.md
β
βββ 5-Interview-Prep/
β βββ Revision.md
β βββ Mock-Interviews.md
β
βββ Daily-Tracker/
βββ 180-Days-Plan.md
If you're preparing for placements / product-based companies, this roadmap will take you from zero β strong DSA problem solver.
- Crack coding interviews πΌ
- Build strong problem-solving skills π§
- Become consistent β‘
- Arrays
- Strings
- Basic Math
- Time & Space Complexity
- β±οΈ 2β3 hours
- π 5 problems/day
- Brute force β Better β Optimal
- Learn complexity analysis
- Linked List
- Stack
- Queue
- Recursion
- Dry run every problem
- Understand recursion tree
- Sliding Window
- Two Pointers
- Binary Search
- Recognize patterns instantly
- Solve without hints
- Binary Trees
- BST
- Heap / Priority Queue
- Traversals (DFS, BFS)
- Tree-based recursion
- Graphs (DFS, BFS)
- Shortest Path
- Greedy Algorithms
- DP Basics
- Memoization
- Tabulation
- Advanced DP Patterns
1. Revise previous concepts (30 min)
2. Solve 3β5 problems
3. Analyze solutions
4. Write notes
5. Re-solve tough questions
- Understand problem
- Think brute force
- Optimize step by step
- Write pseudo-code
- Code
- Dry run
- Optimize further
- β Donβt jump topics randomly
- β Stick to roadmap
- π Revision is MUST
- π Solve same question again after 2β3 days
- Easy β Build logic
- Medium β Interview level
- Hard β Thinking level
- 5 days β Practice
- 1 day β Revision
- 1 day β Mock test
- LeetCode
- GeeksforGeeks
- Striver Sheet
- Love Babbar Sheet
Day 1:
- Arrays Basics (5 Questions)
Day 2:
- Arrays Medium (5 Questions)
Day 3:
- Strings Basics
(Continue till Day 180)
Consistency > Motivation
Even 2 hours daily for 180 days = Massive Result
By end of 6 months:
- β Solve 400β600 problems
- β Strong in patterns
- β Ready for interviews
- Donβt just solve β Understand WHY
- Maintain error notebook
- Focus on patterns, not just questions
- Mock interviews are MUST
"DSA is not about coding⦠it's about thinking."
Stay consistent and trust the process π
| Week | Focus Area | Daily Breakdown | Checkpoints |
|---|---|---|---|
| Week 1 | Foundation: Basics of Programming | Day 1-2: Learn variables, data types, loops (for, while). Day 3-4: Conditionals, functions. Day 5-6: Arrays & Strings basics. Day 7: Solve 10 simple pattern-building questions (stars, triangles). |
β
Understand basic syntax and concepts. β Solve 10 pattern-building problems. |
| Week 2 | Introduction to Problem Solving | Day 1-2: Learn dry-run and pseudocode. Day 3-5: Solve 10 simple DSA problems (easy level, e.g., reverse array, Fibonacci). Day 6-7: Build Mini Project 1: Calculator App. |
β
Solve 10 DSA problems. β Complete Mini Project 1: Calculator App. |
| Week 3 | Level Up: Arrays & Logic Thinking | Day 1-2: Advanced array techniques (sliding window, prefix sum). Day 3-6: Solve 15 array-based problems (medium level). Day 7: Build Mini Project 2: Tic-Tac-Toe Game. |
β
Solve 25 total DSA problems (15 new). β Complete Mini Project 2: Tic-Tac-Toe Game. |
| Week 4 | Strings & Problem-Solving Practice | Day 1-2: String manipulation (reversal, palindromes, substrings). Day 3-5: Solve 15 string-based problems (easy-medium). Day 6-7: Build Mini Project 3: Text Manipulation Tool (e.g., Uppercase, Reverse). |
β
Solve 40 total DSA problems (15 new). β Complete Mini Project 3: Text Tool. |
| Week 5 | Recursion & Logic Expansion | Day 1-2: Learn recursion basics (factorial, Fibonacci). Day 3-5: Solve 10 recursion-based problems (medium level). Day 6-7: Build Mini Project 4: Recursive Maze Solver. |
β
Solve 50 total DSA problems (10 new). β Complete Mini Project 4: Recursive Maze Solver. |
| Week 6 | Data Structures: Stacks & Queues | Day 1-2: Learn stacks and queues basics. Day 3-6: Solve 15 problems (balanced parentheses, queue reversal). Day 7: Work on Mini Project 5: Browser History Tracker (using stack). |
β
Solve 65 total DSA problems (15 new). β Complete Mini Project 5: Browser History Tracker. |
| Week 7 | Dynamic Programming Introduction | Day 1-3: Learn DP basics (knapsack, Fibonacci with memoization). Day 4-6: Solve 10 DP problems (easy-medium). Day 7: Revise all past concepts/projects. |
β
Solve 75 total DSA problems (10 new). β Master basic DP problems. |
| Week 8 | Advanced Problem Solving (Graph) | Day 1-2: Learn graph representation (adjacency list/matrix). Day 3-5: Solve 10 graph-based problems (BFS/DFS). Day 6-7: Build a Mini Project: Path Finder Visualizer. |
β
Solve 85 total DSA problems (10 new). β Complete Graph-Based Mini Project. |
| Week 9 | Advanced DSA (Sorting/Greedy) | Day 1-2: Learn sorting algorithms (merge sort, quicksort). Day 3-5: Solve 15 problems on sorting/greedy (e.g., activity selection, job scheduling). |
β Solve 100 DSA problems (15 new). |
| Week 10-11 | Integration: Complex Projects | Day 1-7: Brainstorm and build Project 1: Expense Tracker with Charts. Next 7 days: Build Project 2: Multiplayer Rock-Paper-Scissors Game (WebSockets, if possible). |
β
Integrate past knowledge into real-world projects. β Master real-world application-building. |
| Week 12 | Final Touches and Mock Practice | Day 1-3: Revise all concepts learned. Day 4-6: Solve 10 problems from past mistakes or blindspots. Day 7: Build a final project of your choice integrating at least one complex DSA concept. |
β
Complete final project. β Feel confident in solving beginner-intermediate DSA problems. |
- Break Down the Problem: Read the question twice. Identify inputs, outputs, and constraints.
- Start with Examples: Create test cases manually and simulate the solution step-by-step.
- Write Pseudocode: Draft a high-level plan before coding.
- Ask βWhy?β at Every Step: Understand each operation; donβt memorize solutions.
- Visualize: Use diagrams or dry-run tables to debug.
- Optimize Gradually: Start with brute force; iterate to optimize for efficiency.
| Category | Question Name | Platform | Link |
|---|---|---|---|
| Basics & Warm-Up | Print a pattern of stars (triangle, pyramid) | GeeksforGeeks | Link |
| Reverse a number | GeeksforGeeks | Link | |
| Check if a number is palindrome | GeeksforGeeks | Link | |
| Count digits in a number | GeeksforGeeks | Link | |
| Find factorial of a number | HackerRank | Link | |
| Arrays | Reverse an array | LeetCode | Link |
| Find the maximum and minimum of an array | GeeksforGeeks | Link | |
| Rotate an array by K steps | LeetCode | Link | |
| Move all zeroes to the end | LeetCode | Link | |
| Kadane's Algorithm (Maximum Subarray Sum) | LeetCode | Link | |
| Strings | Reverse a string | LeetCode | Link |
| Check if two strings are anagrams | LeetCode | Link | |
| Longest Common Prefix | LeetCode | Link | |
| Check if a string is a palindrome | LeetCode | Link | |
| Count and say | LeetCode | Link | |
| Recursion | Fibonacci series using recursion | GeeksforGeeks | Link |
| Tower of Hanoi | GeeksforGeeks | Link | |
| Factorial using recursion | LeetCode | Link | |
| Reverse a linked list using recursion | LeetCode | Link | |
| Permutations of a string | GeeksforGeeks | Link | |
| Sorting | Bubble sort | GeeksforGeeks | Link |
| Selection sort | GeeksforGeeks | Link | |
| Merge sort | GeeksforGeeks | Link | |
| Quick sort | GeeksforGeeks | Link | |
| Insertion sort | GeeksforGeeks | Link | |
| Searching | Binary search | LeetCode | Link |
| Linear search | GeeksforGeeks | Link | |
| Search in a rotated sorted array | LeetCode | Link | |
| First and last position in a sorted array | LeetCode | Link | |
| Square root of a number (using binary search) | LeetCode | Link | |
| Linked List | Reverse a linked list | LeetCode | Link |
| Detect a cycle in a linked list | LeetCode | Link | |
| Merge two sorted linked lists | LeetCode | Link | |
| Remove Nth node from the end | LeetCode | Link | |
| Find the middle of a linked list | LeetCode | Link | |
| Stacks & Queues | Implement a stack using arrays | LeetCode | Link |
| Evaluate postfix expression | GeeksforGeeks | Link | |
| Balanced parentheses | LeetCode | Link | |
| Next greater element | LeetCode | Link | |
| Implement a queue using stacks | LeetCode | Link | |
| Dynamic Programming | 0/1 Knapsack problem | GeeksforGeeks | Link |
| Fibonacci using dynamic programming | LeetCode | Link | |
| Longest common subsequence | LeetCode | Link | |
| Longest increasing subsequence | LeetCode | Link | |
| Minimum steps to reach the end | LeetCode | Link | |
| Graphs | BFS traversal | GeeksforGeeks | Link |
| DFS traversal | GeeksforGeeks | Link | |
| Detect cycle in an undirected graph | GeeksforGeeks | Link | |
| Shortest path in a graph (Dijkstraβs) | GeeksforGeeks | Link | |
| Topological sort | GeeksforGeeks | Link |
50 tricks to identify DSA Patterns Link: https://drive.google.com/drive/folders/1Da_v5uHIvBscWcRRgMsYGq-hJ00dQL9Y
| Company Name | DSA Problem Link | Tricks for Solving Patterns |
|---|---|---|
| Google DSA Problems | Focus on backtracking and dynamic programming. | |
| Microsoft | Microsoft DSA Problems | Practice binary search, greedy algorithms. |
| Amazon | Amazon DSA Problems | Work on sliding window, heap, and DFS/BFS. |
| Facebook DSA Problems | Master recursion, graphs, and bit manipulation. | |
| Apple | Apple DSA Problems | Prioritize dynamic programming and divide and conquer. |
| Adobe | Adobe DSA Problems | Practice sorting and searching techniques. |
| Goldman Sachs | Goldman Sachs DSA Problems | Focus on arrays, hashing, and string manipulation. |
| Uber | Uber DSA Problems | Work on graphs, BFS/DFS, and Dijkstra's algorithm. |
| LinkedIn DSA Problems | Focus on two-pointer and sliding window techniques. | |
| Netflix | Netflix DSA Problems | Prioritize dynamic programming and DP on trees. |
| Twitter DSA Problems | Work on greedy algorithms and interval problems. | |
| Dropbox | Dropbox DSA Problems | Master recursion and binary search on sorted arrays. |
| Airbnb | Airbnb DSA Problems | Practice graph traversal and backtracking. |
| Salesforce | Salesforce DSA Problems | Work on greedy algorithms and dynamic programming. |
| Oracle | Oracle DSA Problems | Focus on matrix traversal and dynamic programming. |
| PayPal | PayPal DSA Problems | Prioritize binary search and sorting problems. |
| Walmart | Walmart DSA Problems | Focus on hashing, prefix sums, and arrays. |
| Expedia | Expedia DSA Problems | Practice stack-based problems and recursion. |
| Snap | Snap DSA Problems | Focus on graphs and dynamic programming. |
| Yahoo | Yahoo DSA Problems | Work on linked lists and recursion. |
| DoorDash | DoorDash DSA Problems | Master binary trees and backtracking. |
| Stripe | Stripe DSA Problems | Practice greedy algorithms and string manipulation. |
| Lyft | Lyft DSA Problems | Focus on two-pointer and sliding window techniques. |
| Intuit | Intuit DSA Problems | Work on backtracking and dynamic programming. |
| IBM | IBM DSA Problems | Master dynamic programming and recursion problems. |
| Atlassian | Atlassian DSA Problems | Focus on graph traversal and dynamic programming. |
| Reddit DSA Problems | Work on hashing and bit manipulation. | |
| Pinterest DSA Problems | Master recursion and divide and conquer techniques. | |
| Spotify | Spotify DSA Problems | Focus on sorting, searching, and heaps. |
| Bloomberg | Bloomberg DSA Problems | Work on arrays, dynamic programming, and graphs. |
| Cisco | Cisco DSA Problems | Focus on linked lists and dynamic programming. |
| ByteDance | ByteDance DSA Problems | Master sorting algorithms and binary search. |
| Tesla | Tesla DSA Problems | Work on graph traversal and dynamic programming. |
| TikTok | TikTok DSA Problems | Prioritize dynamic programming and recursion. |
| Nvidia | Nvidia DSA Problems | Practice bit manipulation and backtracking. |