Day-Wise Routine for 1.
5 Years (18 Months) to Become a Google
Software Engineer
Phase 1: Programming Foundations (Week 1–12)
Week 1: C++ Basics (or Python Basics) - Day 1: Introduction to
Programming, Installation (IDE, Compiler) - Day 2: Variables, Data Types,
Input/Output - Day 3: Conditional Statements (if, else, switch) - Day 4:
Loops (for, while, do-while) - Day 5: Practice Problems on Loops &
Conditionals - Day 6: Functions – Declaration, Definition, Parameters - Day
7: 5 Beginner-Level Problems (e.g., factorial, prime check)
Week 2: Arrays & Strings - Day 8: 1D Arrays – Declaration, Traversal -
Day 9: Common Array Operations (Sum, Reverse, Max, Min) - Day 10: 2D
Arrays – Matrix Input, Output - Day 11: String Basics – Declaration,
Traversal, Manipulation - Day 12: Common String Problems (Palindrome,
Count vowels) - Day 13: Time & Space Complexity Introduction - Day 14:
Weekly Revision Quiz + 5 LeetCode Easy Problems
Week 3: Pointers & Functions in Depth - Day 15: Pointers – Basics &
Arrays with Pointers - Day 16: Function Overloading, Call by
Value/Reference - Day 17: Dynamic Memory Allocation (malloc/new,
free/delete) - Day 18: Practice Problems with Arrays and Functions - Day
19: Recursive Functions – Basic Examples - Day 20: Solve 5 Problems Using
Recursion - Day 21: Weekly Revision
Week 4: Object-Oriented Programming (OOP) - Day 22: Classes &
Objects - Day 23: Constructors, Destructors - Day 24: Inheritance - Day 25:
Polymorphism (Function Overriding, Virtual Functions) - Day 26:
Encapsulation, Abstraction - Day 27: Mini Project: Student Management
System - Day 28: Weekly Quiz + Code Review
Phase 2: Core Data Structures & Algorithms (Week 13–24)
Week 5–16: [Omitted for brevity; already completed]
Week 17: Graphs – Introduction & Representation - Day 113:
Introduction to Graphs – Terminology, Applications - Day 114: Graph
Representation: Adjacency List & Matrix - Day 115: Graph Traversal: BFS –
Theory - Day 116: BFS Implementation + Practice (2 Easy Problems) - Day
117: DFS – Recursive & Iterative (with Stack) - Day 118: DFS Practice (2
Medium LeetCode Problems) - Day 119: Graph Traversal Summary + Notes
Week 18: Cycle Detection in Graphs - Day 120: Cycle Detection in
Undirected Graph (DFS/BFS) - Day 121: Cycle Detection in Directed Graph
(DFS with Recursion Stack) - Day 122: Practice: Detect Cycle (2 Medium
Problems) - Day 123: Bipartite Graph – BFS + DFS - Day 124: Problems on
Bipartite & Cycle (LeetCode Set) - Day 125: Mixed Practice (4 Problems) -
Day 126: Weekly Quiz + Review
Week 19: Topological Sort + Shortest Path - Day 127: Topological
Sorting (Kahn’s Algorithm + DFS) - Day 128: Topo Sort Practice (2 Problems)
- Day 129: Dijkstra’s Algorithm – Theory + Code - Day 130: Shortest Path in
Directed Weighted Graph - Day 131: Bellman Ford, Detect Negative Cycles -
Day 132: LeetCode Practice: Shortest Path (3 Medium) - Day 133: Weekly
Recap + Visualization
Week 20: Disjoint Set, MST (Minimum Spanning Tree) - Day 134:
Disjoint Set (Union by Rank, Path Compression) - Day 135: Kruskal’s
Algorithm + Practice - Day 136: Prim’s Algorithm + Priority Queue - Day
137: MST Problems (2 LeetCode Medium) - Day 138: Graph-Based Problem
Solving Marathon (5 Problems) - Day 139: Graph Revision (Summary Sheet)
- Day 140: Graph Mock Test (DSA Sheet/LeetCode)
Phase 3: Advanced DSA + System Design (Week 25–40) - Topics:
Dynamic Programming, Tries, Segment Trees, Sliding Window, 2D DSA -
Daily pattern: - 2 hrs theory & examples - 2 hrs problem solving - 1 hr
review/notes/mock
System Design Basics (Week 37–40) - Low-level & High-level design,
Object-Oriented Principles
Phase 4: Project Building + Interview Prep (Week 41–56) - Resume
Building - GitHub Projects (CRUD App, API-based app) - Weekly Mock
Interview - Daily LeetCode (3 problems)
Phase 5: Google-Level Interview Practice + Apply (Week 57–72) -
Advanced DSA + System Design Revision - Mock Interviews with Peers -
Leetcode Top Interview 150 - Apply on Google Careers, Connect for Referrals
Next: Would you like full day-wise tasks for Week 21–24 (Dynamic
Programming)?