Plan
Plan
1. Plan-
a. Sleep/Wake Up - 2 -7
b. Workout/BF - 7-8 Comprehensive 15-Day DSA Plan
c. DSA - 6 hours (9-1 / 2-4) Days 1-3: Arrays and Strings
d. SD/DP - 3 hours (4:30- 7:30) • Day 1: Arrays - Easy to Medium
e. PPT and study - 4 hours (9-11) ○ Two Sum (LeetCode)
f. Project WG/Evolution - 1 hours (1-2) ○ Best Time to Buy and Sell Stock (LeetCode)
○ Contains Duplicate (LeetCode)
• Day 2: Arrays - Medium
○ Maximum Subarray (LeetCode)
○ Product of Array Except Self (LeetCode)
○ Maximum Product Subarray (LeetCode)
• Day 3: Strings - Easy to Medium
○ Valid Anagram (LeetCode)
○ First Unique Character in a String (LeetCode)
○ Longest Substring Without Repeating Characters (LeetCode)
Unit Testing,Peer Testing, Documentation Days 4-6: Linked Lists and Stacks/Queues
Restful apis, w3c standards • Day 4: Linked Lists - Easy to Medium
Application Architecture ○ Reverse Linked List (LeetCode)
Vercel Quality Code Tool ○ Merge Two Sorted Lists (LeetCode)
Websockets and multi-user collaboration ○ Remove Nth Node From End of List (LeetCode)
Progressive web application • Day 5: Stacks and Queues - Easy to Medium
Agile methodologies (SCRUM) with continuos integration ○ Valid Parentheses (LeetCode)
MVC Architecture ○ Min Stack (LeetCode)
JEST ○ Implement Queue using Stacks (LeetCode)
• Day 6: Linked Lists and Stacks/Queues - Medium
○ Linked List Cycle (LeetCode)
○ Evaluate Reverse Polish Notation (LeetCode)
○ Largest Rectangle in Histogram (LeetCode)
Study Plan Days 7-9: Trees and Graphs
• Day 7: Trees - Easy to Medium
Days 1-3: Introduction to Design Patterns
○ Maximum Depth of Binary Tree (LeetCode)
• Day 1: Introduction and Creational Patterns
○ Same Tree (LeetCode)
○ Learn: What are design patterns? Importance and
○ Invert Binary Tree (LeetCode)
categories (Creational, Structural, Behavioral).
○ Focus: Creational Patterns (Singleton, Factory Method, • Day 8: Trees - Medium
○ Binary Tree Level Order Traversal (LeetCode)
Abstract Factory).
○ Resources: Read about each pattern, watch introductory ○ Serialize and Deserialize Binary Tree (LeetCode)
videos. ○ Lowest Common Ancestor of a Binary Tree (LeetCode)
• Day 2: Structural Patterns • Day 9: Graphs - Medium
○ Learn: Overview of Structural Patterns. ○ Clone Graph (LeetCode)
○ Focus: Adapter, Decorator, Composite, Facade, Flyweight, ○ Course Schedule (LeetCode)
Proxy. ○ Number of Islands (LeetCode)
○ Resources: Study patterns, watch examples of Days 10-11: Tries and Hash Tables
implementation. • Day 10: Tries - Easy to Medium
• Day 3: Behavioral Patterns ○ Implement Trie (Prefix Tree) (LeetCode)
○ Learn: Overview of Behavioral Patterns. ○ Add and Search Word - Data structure design (LeetCode)
○ Focus: Observer, Strategy, Command, Chain of • Day 11: Hash Tables - Easy to Medium
Responsibility, Iterator, Mediator, Memento, State, ○ Top K Frequent Elements (LeetCode)
Template Method, Visitor. ○ Valid Sudoku (LeetCode)
○ Resources: Read about patterns and see practical ○ Group Anagrams (LeetCode)
examples. Days 12-13: Dynamic Programming
Days 4-6: Practice and Case Studies • Day 12: Dynamic Programming - Easy to Medium
• Day 4: Implement Creational and Structural Patterns ○ Climbing Stairs (LeetCode)
○ Practice: Implement the patterns learned in a simple ○ Coin Change (LeetCode)
project or example. ○ House Robber (LeetCode)
○ Resources: Use coding platforms or personal projects. • Day 13: Dynamic Programming - Medium
• Day 5: Implement Behavioral Patterns ○ House Robber II (LeetCode)
○ Practice: Implement the behavioral patterns in similar ○ Longest Increasing Subsequence (LeetCode)
projects. ○ Word Break (LeetCode)
○ Resources: Apply patterns in different scenarios. Days 14-15: Review and Mock Interviews
• Day 6: Case Studies and Reviews • Day 14: Review and Practice
○ Learn: Study case studies where design patterns are ○ Review and practice previously solved problems from each category.
applied. ○ Identify and focus on areas where you had difficulties.
○ Resources: Analyze real-world examples and understand • Day 15: Mock Interviews and Final Review
pattern usage. ○ Conduct mock interviews simulating real interview conditions.
Days 7-10: Introduction to System Design ○ Use platforms like Pramp or LeetCode's interview simulation.
• Day 7: Basics of System Design ○ Final review of key concepts and challenging problems.
○ Learn: Fundamental concepts (scalability, reliability,
maintainability).
○ Focus: Understand system components, architecture
styles (monolithic, microservices).
• Day 8: Designing Scalable Systems
○ Learn: Techniques for scaling (load balancing, caching,
data partitioning).
○ Focus: Understand horizontal and vertical scaling.
• Day 9: System Design Patterns
○ Learn: Patterns specific to system design (Database
Sharding, CQRS, Event Sourcing).
○ Resources: Read about these patterns and their use
cases.
• Day 10: Case Studies and Examples
○ Learn: Review case studies of well-designed systems.
Resources: Analyze how real-world systems are designed
Plan Page 1
○ Resources: Analyze how real-world systems are designed
and the trade-offs involved.
Days 11-15: Practice and Deep Dive
• Day 11: Design Pattern Integration
○ Practice: Combine design patterns in a project or example
to see how they work together.
○ Resources: Implement patterns in various scenarios.
• Day 12: System Design Exercises
○ Practice: Work on system design problems, such as
designing a scalable web application or a distributed
system.
○ Resources: Use online platforms or practice problems.
• Day 13: Mock Interviews
○ Practice: Conduct mock interviews or practice questions
related to design patterns and system design.
○ Resources: Use interview preparation platforms.
• Day 14: Review and Revise
○ Review: Go over the patterns and system design concepts
you’ve learned.
○ Resources: Revisit any areas where you need more clarity.
• Day 15: Final Assessment
○ Practice: Solve a comprehensive problem that requires
both design patterns and system design knowledge.
○ Review: Reflect on what you’ve learned and identify areas
for further study if needed.
Plan Page 2