Month 1: Foundations (Days 1-30)

📖 Concept

Month 1 goal: Build a solid foundation in DSA patterns, review Android fundamentals, and establish daily practice habits.

Daily schedule (3-4 hours/day):

Morning (1.5 hours):
  - 1 LeetCode medium problem (45 min)
  - Review solution + alternative approaches (15 min)
  - Study 1 DSA pattern chapter (30 min)

Evening (1.5-2 hours):
  - Review 1 Android fundamental topic (60 min)
  - Build mini-project applying today's Android topic (30-60 min)

Week 1-2: Data Structures Review

  • Day 1-3: Arrays, Strings — Two pointers, sliding window, prefix sums
  • Day 4-5: HashMaps — Frequency counting, grouping, two-sum patterns
  • Day 6-7: Stacks, Queues — Monotonic stack, BFS fundamentals
  • Day 8-10: Trees — BFS, DFS, BST operations, serialization
  • Day 11-12: Graphs — Adjacency list, BFS shortest path, DFS
  • Day 13-14: Heaps — Top-K, merge K sorted, median

Week 3-4: Algorithm Patterns

  • Day 15-17: Dynamic Programming — 1D DP, 2D DP, knapsack variants
  • Day 18-19: Binary Search — Sorted arrays, search space problems
  • Day 20-21: Backtracking — Subsets, permutations, combinations
  • Day 22-23: Greedy — Intervals, scheduling, minimum operations
  • Day 24-25: Union-Find — Connected components, redundant connection
  • Day 26-28: Mixed practice — Random medium/hard problems
  • Day 29-30: Assessment — Mock coding interview (2 problems, 45 min)

Android topics for Month 1:

  • Activity/Fragment lifecycle, process death, config changes
  • Jetpack Compose vs Views (deep comparison)
  • Coroutines, Flow, StateFlow — build a reactive data pipeline
  • Room database — design a schema, write complex queries
  • MVVM pattern — implement a complete feature

Milestone checkpoint (Day 30): □ Solved 30+ LeetCode problems (20 medium, 10 easy) □ Can identify 6 core DSA patterns □ Built 2 mini Android projects □ Comfortable with Kotlin coroutines and Flow

💻 Code Example

codeTap to expand ⛶
1// Week 1 sample practice schedule tracker
2/*
3DAY 1: Arrays & Two Pointers
4━━━━━━━━━━━━━━━━━━━━━━━━━━━
5Morning:
6 ✅ Problem: Container With Most Water (Medium)
7 ✅ Pattern identified: Two pointers from both ends
8 ✅ Time: O(n) Space: O(1)
9 📖 Study: Two pointers chapter in "Patterns for Coding"
10
11Evening:
12 📱 Android: Activity lifecycle internals
13 🔨 Mini-project: Activity that logs all lifecycle callbacks
14
15DAY 2: Arrays & Sliding Window
16━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
17Morning:
18 ✅ Problem: Minimum Window Substring (Hard)
19 ✅ Pattern: Variable-size sliding window + frequency map
20 ✅ Time: O(n) Space: O(k)
21 📖 Study: Sliding window chapter
22
23Evening:
24 📱 Android: Fragment lifecycle + communication
25 🔨 Mini-project: Fragment-based navigation with shared ViewModel
26
27DAY 3: Arrays & Prefix Sum
28━━━━━━━━━━━━━━━━━━━━━━━━━
29Morning:
30 ✅ Problem: Product of Array Except Self (Medium)
31 ✅ Pattern: Prefix/suffix arrays
32 ✅ Time: O(n) Space: O(1) with output array
33 📖 Study: Prefix sum patterns
34
35Evening:
36 📱 Android: Process death handling
37 🔨 Mini-project: Form that survives process death with SavedStateHandle
38*/
39
40// Track your progress in a spreadsheet or app
41// Columns: Date | Problem | Difficulty | Pattern | Solved? | Time | Notes

🏋️ Practice Exercise

Month 1 Problem Set (30 problems):

Week 1 — Arrays & Strings:

  1. Two Sum (Easy)
  2. Container With Most Water (Medium)
  3. 3Sum (Medium)
  4. Minimum Window Substring (Hard)
  5. Product of Array Except Self (Medium)
  6. Merge Intervals (Medium)
  7. Longest Substring Without Repeating (Medium)

Week 2 — Trees & Graphs: 8. Binary Tree Level Order Traversal (Medium) 9. Validate BST (Medium) 10. Lowest Common Ancestor (Medium) 11. Number of Islands (Medium) 12. Course Schedule (Medium) 13. Kth Smallest Element in BST (Medium) 14. Serialize and Deserialize Binary Tree (Hard)

Week 3 — DP & Binary Search: 15. Climbing Stairs (Easy) 16. Coin Change (Medium) 17. Longest Increasing Subsequence (Medium) 18. Word Break (Medium) 19. House Robber (Medium) 20. Unique Paths (Medium) 21. Search in Rotated Sorted Array (Medium)

Week 4 — Mixed: 22. Top K Frequent Elements (Medium) 23. Merge K Sorted Lists (Hard) 24. LRU Cache (Medium) 25. Task Scheduler (Medium) 26. Find Median from Data Stream (Hard) 27. Meeting Rooms II (Medium) 28. Trapping Rain Water (Hard) 29. Daily Temperatures (Medium) 30. Accounts Merge (Medium)

⚠️ Common Mistakes

  • Trying to solve hard problems without mastering medium ones first — build up gradually

  • Only solving problems without reviewing patterns — you need to recognize patterns, not memorize solutions

  • Skipping Android fundamentals — Google asks Android deep-dive questions that require solid fundamentals

  • Not tracking progress — without data, you can't identify weak areas to focus on

💼 Interview Questions

🎤 Mock Interview

Mock interview is powered by AI for Month 1: Foundations (Days 1-30). Login to unlock this feature.