DSA in Java Roadmap for Product-Based Companies (Beginner to Advanced)
Phase 0: Java Basics (12 Weeks)
Goal: Build a solid Java foundation before diving into DSA.
Topics:
- Java syntax & data types
- Variables, operators, input/output
- Conditional statements (if, switch)
- Loops (for, while)
- Functions (methods)
- Arrays & Strings (basic operations)
- Object-Oriented Programming
- Classes & Objects
- Inheritance, Polymorphism
- Abstraction & Encapsulation
- Exception handling
Resources:
- Java Programming (Apna College / CodeWithHarry YouTube)
- W3Schools Java
Phase 1: Core DSA Basics (34 Weeks)
Goal: Understand time complexity and start writing code.
Topics:
- Time & Space Complexity (Big-O)
- Arrays: Traversal, Insertion, Deletion, Sliding Window
- Strings: Palindromes, Anagrams
- Recursion: Factorial, Fibonacci
- Backtracking intro
Practice:
- Leetcode Easy problems
- HackerRank (Arrays & Strings)
Phase 2: Data Structures (46 Weeks)
Goal: Learn all major data structures in Java.
Topics:
- Linked Lists: Singly, Doubly, Circular, Reverse, Detect cycle (Floyds algorithm)
- Stacks & Queues: Stack using Array/LinkedList, Queue, Circular Queue, Deque
- Hashing: HashMap, HashSet, Frequency Count, Two Sum
- Trees: Binary Tree, BST, Traversals, Height, Diameter, LCA
- Heaps/Priority Queue: Min Heap / Max Heap, Kth Largest Element
- Tries: Prefix Search, Word Dictionary
Resources:
- Love Babbar 450 DSA Sheet
- Neetcode.io
- GFG Java DSA Course
Phase 3: Algorithms (46 Weeks)
Goal: Master algorithmic patterns.
Topics:
- Sorting: Bubble, Selection, Insertion, Merge, Quick, Counting Sort
- Searching: Linear Search, Binary Search, Search in Rotated Array
- Recursion & Backtracking: N-Queens, Sudoku, Subsets, Permutations
- Bit Manipulation: XOR, AND, OR Tricks, Single Number, Counting Bits
Practice:
- Strivers A2Z DSA Sheet
- Leetcode (Sorting & Searching)
Phase 4: Advanced DSA (46 Weeks)
Goal: Tackle interview-level problems.
Topics:
- Greedy Algorithms: Activity Selection, Fractional Knapsack
- Dynamic Programming: Knapsack, LCS, LIS, Matrix Chain Multiplication
- Graphs: Adjacency List/Matrix, BFS, DFS, Dijkstra, Bellman-Ford, MST (Prim's, Kruskal), Union Find
- Segment Tree / Fenwick Tree: Range Query Problems
Resources:
- TUF (Take U Forward) YouTube Channel
- Leetcode, Codeforces, AtCoder
Phase 5: Problem Solving & Mock Interviews
Goal: Build confidence for interviews.
Strategy:
- 300+ problems on Leetcode
Topics:
- Arrays (50+)
- Strings (30+)
- DP (50+)
- Trees (30+)
- Graphs (30+)
Practice:
- Leetcode Weekly Contests
- Codeforces Div 3 contests
- Mock interviews: Pramp, Interviewing.io
Phase 6: System Design & CS Concepts (After DSA Mastery)
Goal: Prepare for senior-level product company interviews.
Topics:
- Operating System: Process, Threads, Scheduling
- DBMS: Normalization, Indexing, Joins
- OOP: SOLID principles
- System Design (Low Level + High Level)
Final Notes:
- Consistency: Code daily (12 hours min)
- Track progress on: Leetcode, Striver A2Z Sheet, Love Babbar 450 Sheet
- Build 12 Java-based mini projects (DSA concepts applied)