# 90 Days Preparation Schedule

**Month 1: Foundations and Basics**

Week 1-2: Data Structures and Algorithms (Basics)

Week 3-4: Algorithms (Intermediate)

**Month 2: Intermediate Topics and System Design**

Week 5-6: Data Structures and Algorithms (Intermediate)

Week 7-8: Advanced System Design and Final Preparation

**Month 3: Advanced Topics and Mock Interviews**

Week 9-10: Comprehensive Review and Mock Interviews

<table><thead><tr><th width="105">Day</th><th width="204">Focus Area</th><th>Problems</th></tr></thead><tbody><tr><td>Day 1</td><td>Arrays</td><td>Two Sum, Reverse String, Maximum Subarray, Merge Intervals</td></tr><tr><td>Day 2</td><td>Arrays</td><td>Contains Duplicate, Best Time to Buy and Sell Stock, Product of Array Except Self, Search in Rotated Sorted Array</td></tr><tr><td>Day 3</td><td>Strings</td><td>Valid Anagram, Longest Substring Without Repeating Characters, Longest Palindromic Substring, Group Anagrams</td></tr><tr><td>Day 4</td><td>Linked Lists</td><td>Reverse Linked List, Merge Two Sorted Lists, Linked List Cycle, Remove Nth Node From End of List</td></tr><tr><td>Day 5</td><td>Linked Lists</td><td>Add Two Numbers, Swap Nodes in Pairs, Copy List with Random Pointer, LRU Cache</td></tr><tr><td>Day 6</td><td>Stacks &#x26; Queues</td><td>Valid Parentheses, Min Stack, Evaluate Reverse Polish Notation, Implement Queue using Stacks</td></tr><tr><td>Day 7</td><td>Stacks &#x26; Queues</td><td>Daily Temperatures, Sliding Window Maximum, Basic Calculator, Decode String</td></tr><tr><td>Day 8</td><td>Hash Tables</td><td>Two Sum with HashMap, Group Anagrams, Top K Frequent Elements, Longest Consecutive Sequence</td></tr><tr><td>Day 9</td><td>Hash Tables</td><td>Valid Sudoku, Word Pattern, Isomorphic Strings, Minimum Window Substring</td></tr><tr><td>Day 10</td><td>Hash Tables</td><td>Happy Number, Contiguous Array, Subarray Sum Equals K, Maximum Size Subarray Sum Equals K</td></tr><tr><td>Day 11</td><td>Sorting &#x26; Searching</td><td>Merge Sort, Quick Sort, Binary Search, Search a 2D Matrix</td></tr><tr><td>Day 12</td><td>Sorting &#x26; Searching</td><td>Find Peak Element, First Bad Version, Median of Two Sorted Arrays, Find Minimum in Rotated Sorted Array</td></tr><tr><td>Day 13</td><td>Recursion &#x26; Backtracking</td><td>Subsets, Permutations, Combination Sum, Palindrome Partitioning</td></tr><tr><td>Day 14</td><td>Recursion &#x26; Backtracking</td><td>Word Search, N-Queens, Generate Parentheses, Letter Combinations of a Phone Number</td></tr><tr><td>Day 15</td><td>Dynamic Programming (Intro)</td><td>Climbing Stairs, House Robber, Maximum Subarray, Longest Common Subsequence</td></tr><tr><td>Day 16</td><td>Dynamic Programming (Intro)</td><td>Coin Change, Longest Increasing Subsequence, Word Break, Partition Equal Subset Sum</td></tr><tr><td>Day 17</td><td>Graphs &#x26; Trees (Basics)</td><td>Binary Tree Inorder Traversal, Symmetric Tree, Maximum Depth of Binary Tree, Path Sum</td></tr><tr><td>Day 18</td><td>Graphs &#x26; Trees (Basics)</td><td>Validate Binary Search Tree, Lowest Common Ancestor of a Binary Search Tree, Serialize and Deserialize Binary Tree, Invert Binary Tree</td></tr><tr><td>Day 19</td><td>Graphs &#x26; Trees (Basics)</td><td>Number of Islands, Clone Graph, Course Schedule, Pacific Atlantic Water Flow</td></tr><tr><td>Day 20</td><td>Review</td><td>Review all topics from Weeks 1-2, reattempt difficult problems, summary notes</td></tr><tr><td>Day 21</td><td>Review</td><td>Review all topics from Weeks 1-2, reattempt difficult problems, summary notes</td></tr><tr><td>Day 22</td><td>Advanced Linked Lists &#x26; Trees</td><td>Flatten a Multilevel Doubly Linked List, Binary Tree Zigzag Level Order Traversal, Construct Binary Tree from Preorder and Inorder Traversal, Kth Smallest Element in a BST</td></tr><tr><td>Day 23</td><td>Advanced Linked Lists &#x26; Trees</td><td>Populating Next Right Pointers in Each Node, Lowest Common Ancestor of a Binary Tree, Binary Tree Maximum Path Sum, Binary Tree Right Side View</td></tr><tr><td>Day 24</td><td>Heaps &#x26; Priority Queues</td><td>Kth Largest Element in an Array, Merge k Sorted Lists, Find Median from Data Stream, Top K Frequent Words</td></tr><tr><td>Day 25</td><td>Heaps &#x26; Priority Queues</td><td>Sliding Window Median, Trapping Rain Water II, Employee Free Time, Task Scheduler</td></tr><tr><td>Day 26</td><td>Advanced Graph Algorithms</td><td>Course Schedule II, Network Delay Time, Alien Dictionary, Word Ladder II</td></tr><tr><td>Day 27</td><td>Advanced Graph Algorithms</td><td>Minimum Cost to Reach Destination in Time, Find Eventual Safe States, Redundant Connection II, Reconstruct Itinerary</td></tr><tr><td>Day 28</td><td>System Design Basics</td><td>Read System Design Primer on GitHub, watch introductory system design videos</td></tr><tr><td>Day 29</td><td>System Design Basics</td><td>Design URL Shortener, Design Twitter, justify design decisions, focus on scalability</td></tr><tr><td>Day 30</td><td>System Design Basics</td><td>High-level components, databases, APIs, load balancing</td></tr><tr><td>Day 31</td><td>System Design Basics</td><td>Design systems considering storage requirements, indexing, partitioning</td></tr><tr><td>Day 32</td><td>Distributed Systems</td><td>Understand microservices, distributed caching, consensus algorithms, read up on CAP theorem</td></tr><tr><td>Day 33</td><td>Distributed Systems</td><td>Design YouTube, Design Uber, focus on distributed data management, fault tolerance</td></tr><tr><td>Day 34</td><td>Distributed Systems</td><td>Practice designing distributed systems with high availability, low latency</td></tr><tr><td>Day 35</td><td>Behavioral Questions</td><td>Learn STAR method, prepare responses for common behavioral questions</td></tr><tr><td>Day 36</td><td>Behavioral Questions</td><td>Reflect on leadership and teamwork examples, write and refine STAR stories</td></tr><tr><td>Day 37</td><td>Behavioral Questions</td><td>Problem-solving and conflict resolution examples, articulate responses clearly</td></tr><tr><td>Day 38</td><td>Review</td><td>Review all topics from Weeks 3-4, reattempt difficult problems, summary notes</td></tr><tr><td>Day 39</td><td>Review</td><td>Review all topics from Weeks 3-4, reattempt difficult problems, summary notes</td></tr><tr><td>Day 40</td><td>Advanced Dynamic Programming</td><td>Longest Increasing Subsequence, Edit Distance, Interleaving String, Wildcard Matching</td></tr><tr><td>Day 41</td><td>Advanced Dynamic Programming</td><td>Decode Ways, Longest Palindromic Subsequence, Burst Balloons, Russian Doll Envelopes</td></tr><tr><td>Day 42</td><td>Advanced Graph Algorithms</td><td>Minimum Spanning Tree, All-Pairs Shortest Path, Bellman-Ford, Floyd-Warshall</td></tr><tr><td>Day 43</td><td>Advanced Graph Algorithms</td><td>Path with Maximum Probability, Network Delay Time, Word Ladder II, Redundant Connection II</td></tr><tr><td>Day 44</td><td>Miscellaneous Topics</td><td>Bit manipulation problems, combinatorics, interval problems</td></tr><tr><td>Day 45</td><td>Miscellaneous Topics</td><td>Review graph and dynamic programming problems, solve any missed or skipped problems</td></tr><tr><td>Day 46</td><td>System Design Complex</td><td>Design Facebook, Design Instagram, focus on database scaling, sharding</td></tr><tr><td>Day 47</td><td>System Design Complex</td><td>Design a Cache System, Design a Rate Limiter, focus on memory management, concurrency</td></tr><tr><td>Day 48</td><td>System Design Complex</td><td>Design an E-commerce Platform, Design Google Drive, focus on file storage, replication</td></tr><tr><td>Day 49</td><td>Mock System Design Interviews</td><td>Conduct mock interviews with peers, review feedback</td></tr><tr><td>Day 50</td><td>Mock System Design Interviews</td><td>Conduct mock interviews with peers, review feedback</td></tr><tr><td>Day 51</td><td>Coding Mock Interviews</td><td>Schedule coding mock interviews, review performance, iterate</td></tr><tr><td>Day 52</td><td>Coding Mock Interviews</td><td>Schedule coding mock interviews, review performance, iterate</td></tr><tr><td>Day 53</td><td>Coding Mock Interviews</td><td>Schedule coding mock interviews, review performance, iterate</td></tr><tr><td>Day 54</td><td>Review Core Concepts</td><td>Review data structures, algorithms, and system design, focus on weak areas</td></tr><tr><td>Day 55</td><td>Review Core Concepts</td><td>Review data structures, algorithms, and system design, focus on weak areas</td></tr><tr><td>Day 56</td><td>Review Core Concepts</td><td>Review data structures, algorithms, and system design, focus on weak areas</td></tr><tr><td>Day 57</td><td>Review Core Concepts</td><td>Review data structures, algorithms, and system design, focus on weak areas</td></tr><tr><td>Day 58</td><td>Advanced System Design</td><td>Design YouTube, Design Google Maps, focus on scalability, user load, real-time processing</td></tr><tr><td>Day 59</td><td>Advanced System Design</td><td>Design a Messaging System, Design a Search Engine, focus on indexing, query optimization</td></tr><tr><td>Day 60</td><td>Advanced System Design</td><td>Review all previously designed systems, address any gaps or weaknesses</td></tr><tr><td>Day 61</td><td>Advanced System Design</td><td>Deep dive into specific components like databases, caching mechanisms, load balancers</td></tr><tr><td>Day 62</td><td>Advanced System Design</td><td>Practice designing complex, large-scale systems, prepare detailed notes</td></tr><tr><td>Day 63</td><td>Mock System Design Interviews</td><td>Conduct final round of mock interviews, focus on presentation and articulation</td></tr><tr><td>Day 64</td><td>Mock System Design Interviews</td><td>Conduct final round of mock interviews, focus on presentation and articulation</td></tr><tr><td>Day 65</td><td>Behavioral Questions</td><td>Review and refine STAR stories, ensure readiness for behavioral questions</td></tr><tr><td>Day 66</td><td>Behavioral Questions</td><td>Reflect on past experiences, prepare additional examples for various scenarios</td></tr><tr><td>Day 67</td><td>Behavioral Questions</td><td>Conduct mock behavioral interviews with peers, iterate based on feedback</td></tr><tr><td>Day 68</td><td>Final Review</td><td>Review all core concepts, key problems, system designs, behavioral questions</td></tr><tr><td>Day 69</td><td>Final Review</td><td>Relax, light review, ensure all materials and notes are organized</td></tr><tr><td>Day 70</td><td>Final Review</td><td>Relax, light review, ensure all materials and notes are organized</td></tr><tr><td>Day 71</td><td>Final Review</td><td>Relax, light review, ensure all materials and notes are organized</td></tr><tr><td>Day 72</td><td>Coding Mock Interviews</td><td>Conduct coding mock interviews, review feedback, iterate</td></tr><tr><td>Day 73</td><td>Coding Mock Interviews</td><td>Conduct coding mock interviews, review feedback, iterate</td></tr><tr><td>Day 74</td><td>Coding Mock Interviews</td><td>Conduct coding mock interviews, review feedback, iterate</td></tr><tr><td>Day 75</td><td>Coding Mock Interviews</td><td>Conduct coding mock interviews, review feedback, iterate</td></tr><tr><td>Day 76</td><td>Mock System Design Interviews</td><td>Conduct system design mock interviews, review feedback, iterate</td></tr><tr><td>Day 77</td><td>Mock System Design Interviews</td><td>Conduct system design mock interviews, review feedback, iterate</td></tr><tr><td>Day 78</td><td>Mock System Design Interviews</td><td>Conduct system design mock interviews, review feedback, iterate</td></tr><tr><td>Day 79</td><td>Review Core Concepts</td><td>Revisit key topics, practice problems, focus on areas of improvement</td></tr><tr><td>Day 80</td><td>Review Core Concepts</td><td>Revisit key topics, practice problems, focus on areas of improvement</td></tr><tr><td>Day 81</td><td>Review Core Concepts</td><td>Revisit key topics, practice problems, focus on areas of improvement</td></tr><tr><td>Day 82</td><td>Review Core Concepts</td><td>Revisit key topics, practice problems, focus on areas of improvement</td></tr><tr><td>Day 83</td><td>Review Core Concepts</td><td>Revisit key topics, practice problems, focus on areas of improvement</td></tr><tr><td>Day 84</td><td>Review Core Concepts</td><td>Revisit key topics, practice problems, focus on areas of improvement</td></tr><tr><td>Day 85</td><td>Relaxation and Light Review</td><td>Light review sessions, rest and stress management</td></tr><tr><td>Day 86</td><td>Relaxation and Light Review</td><td>Light review sessions, rest and stress management</td></tr><tr><td>Day 87</td><td>Relaxation and Light Review</td><td>Light review sessions, rest and stress management</td></tr><tr><td>Day 88</td><td>Relaxation and Light Review</td><td>Light review sessions, rest and stress management</td></tr><tr><td>Day 89</td><td>Relaxation and Light Review</td><td>Light review sessions, rest and stress management</td></tr><tr><td>Day 90</td><td>Relaxation and Light Review</td><td>Light review sessions, rest and stress management</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://blog.sunilgudivada.dev/notebook/miscellaneous/90-days-preparation-schedule.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
