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