90-DAY DSA PLAN FOR SERVICE-BASED COMPANIES (JAVA FOCUSED)
> For intermediate programmers (basic Java clear, DSA weak). Goal is to become job-ready for
service-based companies in 90 days.
---
PHASE 1: FUNDAMENTALS + EASY DSA (Day 1 - 30)
Week 1: Java + Arrays + Strings
- Day 1: Java Input/Output, Loops, Pattern Problems
- Day 2: 1D Arrays - Traverse, Insert, Delete
- Day 3: Array Operations - Max, Min, Reverse, Rotate
- Day 4: Sorting Basics - Bubble, Selection, Insertion
- Day 5: Binary Search - Basic Problems
- Day 6: Strings - Basics, Palindrome, Reverse, Anagram
- Day 7: Revision (Day 1-6)
Week 2: More Arrays + Hashing
- Day 8: Two Pointers - Pair Sum, Remove Duplicates
- Day 9: Sliding Window - Max Subarray Sum
- Day 10: Prefix Sum - Range Sum, Subarray Sum
- Day 11: HashMap - Frequency Count, Majority Element
- Day 12: HashSet - Distinct Elements
- Day 13: Maths - Prime, GCD, Sieve
- Day 14: Revision (Day 8-13)
Week 3: Recursion + Matrix
- Day 15: Recursion - Factorial, Fibonacci, Power
- Day 16: Recursion - Subsets, String Combinations
- Day 17: Recursion - Backtracking Intro
- Day 18: Matrix - Basic Traversal
- Day 19: Matrix - Spiral, Transpose, Rotate
- Day 20: Practice Day (Easy Questions Mix)
- Day 21: Revision (Week 1-3 Summary)
---
PHASE 2: CORE DSA (Day 31 - 65)
Week 5: Linked List
- Day 31: Singly Linked List - Insert, Delete
- Day 32: Reverse LL, Middle Node
- Day 33: Detect Cycle - Floyd's Algo
- Day 34: Merge Two Sorted LL, Palindrome LL
- Day 35: Doubly Linked List
- Day 36: Practice LL Questions
- Day 37: Revision
Week 6: Stack + Queue
- Day 38: Stack using Array & Linked List
- Day 39: Infix to Postfix, Balanced Brackets
- Day 40: Next Greater Element
- Day 41: Queue - Array/LL Based
- Day 42: Circular Queue, Deque
- Day 43: Queue Problems - Reverse K elements
- Day 44: Revision
Week 7: Binary Search Advanced + Backtracking
- Day 45: Binary Search on Answer - Book Allocation
- Day 46: Aggressive Cows, Painter Partition
- Day 47: Backtracking - N-Queens
- Day 48: Backtracking - Rat in Maze
- Day 49: Sudoku Solver
- Day 50: Practice Day
- Day 51: Revision
Week 8: Bit Manipulation + Sorting Advanced
- Day 52: Bits - Count Set Bits, XOR Tricks
- Day 53: Bit Masking - Subsets
- Day 54: Merge Sort
- Day 55: Quick Sort
- Day 56: Count Inversions
- Day 57: Practice Sorting + Bits
- Day 58: Revision
---
PHASE 3: TREES, GRAPHS & DP INTRO (Day 66 - 90)
Week 9: Trees
- Day 66: Binary Tree - Inorder, Preorder, Postorder
- Day 67: Height, Diameter, Count Nodes
- Day 68: Balanced Tree, Mirror Tree
- Day 69: Practice Day (Trees)
Week 10: BST + Heap
- Day 70: BST - Insert, Delete, Search
- Day 71: Validate BST, Inorder Successor
- Day 72: Min/Max Heap, Heap Sort
- Day 73: K Largest Elements, Heapify
- Day 74: Practice Day (BST + Heap)
Week 11: Graphs + DP
- Day 75: Graph BFS, DFS
- Day 76: Detect Cycle (Directed + Undirected)
- Day 77: No. of Islands, Connected Components
- Day 78: Dijkstra's Algorithm
- Day 79: DP Intro - Fibonacci, Climbing Stairs
- Day 80: 0/1 Knapsack, Subset Sum
- Day 81: Practice Graphs + DP
Week 12: Final Placement Practice
- Day 82: GFG Placement 50 Qs - Set 1
- Day 83: GFG Placement 50 Qs - Set 2
- Day 84: GFG Placement 50 Qs - Set 3
- Day 85: InterviewBit Easy-Medium
- Day 86: CodeStudio Sheet Questions
- Day 87: Leetcode Top Interview Qs (Easy)
- Day 88: Leetcode Top Interview Qs (Medium)
- Day 89: Mock Test Day (1.5 hrs - Timed)
- Day 90: Final Revision + Weak Area Notes
---
Recommended Platforms
- Practice: Leetcode, GFG, InterviewBit, CodeStudio
- Learning: Apna College, Aditya Verma, CodeWithHarry
Daily Schedule Suggestion:
- 1 hr - Concept learning (video/notes)
- 2 hrs - Question solving (min 3-5 questions)
- 1 hr - Doubt review + note making
> Stick to this plan daily with 4 hrs/day dedication. In 90 days, you'll be confident and ready for any
service-based company coding round + interview.