๐ Mastery Progress Tracker
๐ต Pillar 1: Data Structures & Algorithms (DSA Lab)
01. Arrays & Hashing
- [ ] Contains Duplicate
- [ ] Valid Anagram
- [ ] Two Sum
- [ ] Group Anagrams
- [ ] Top K Frequent Elements
- [ ] Product of Array Except Self
- [ ] Valid Sudoku
- [ ] Encode and Decode Strings
- [ ] Longest Consecutive Sequence
02. Two Pointers
- [ ] Valid Palindrome
- [ ] Two Sum II
- [ ] 3Sum
- [ ] Container With Most Water
- [ ] Trapping Rain Water
03. Sliding Window
- [ ] Best Time to Buy and Sell Stock
- [ ] Longest Substring Without Repeating Characters
- [ ] Longest Repeating Character Replacement
- [ ] Permutation in String
- [ ] Minimum Window Substring
- [ ] Sliding Window Maximum
04. Stack
- [ ] Valid Parentheses
- [ ] Min Stack
- [ ] Evaluate Reverse Polish Notation
- [ ] Generate Parentheses
- [ ] Daily Temperatures
- [ ] Car Fleet
- [ ] Largest Rectangle in Histogram
05. Binary Search
- [ ] Binary Search
- [ ] Search a 2D Matrix
- [ ] Koko Eating Bananas
- [ ] Find Minimum in Rotated Sorted Array
- [ ] Search in Rotated Sorted Array
- [ ] Time Based Key-Value Store
- [ ] Median of Two Sorted Arrays
06. Linked List
- [ ] Reverse Linked List
- [ ] Merge Two Sorted Lists
- [ ] Reorder List
- [ ] Remove Nth Node From End of List
- [ ] Copy List with Random Pointer
- [ ] Add Two Numbers
- [ ] Linked List Cycle
- [ ] Find the Duplicate Number
- [ ] LRU Cache
- [ ] Merge K Sorted Lists
- [ ] Reverse Nodes in K Group
07. Trees
- [ ] Invert Binary Tree
- [ ] Maximum Depth of Binary Tree
- [ ] Diameter of Binary Tree
- [ ] Balanced Binary Tree
- [ ] Same Tree
- [ ] Subtree of Another Tree
- [ ] Lowest Common Ancestor of BST
- [ ] Binary Tree Level Order Traversal
- [ ] Binary Tree Right Side View
- [ ] Count Good Nodes in Binary Tree
- [ ] Validate Binary Search Tree
- [ ] Kth Smallest Element in BST
- [ ] Construct Binary Tree from Preorder/Inorder
- [ ] Binary Tree Maximum Path Sum
- [ ] Serialize and Deserialize Binary Tree
08. Tries
- [ ] Implement Trie
- [ ] Design Add and Search Words
- [ ] Word Search II
09. Heap / Priority Queue
- [ ] Kth Largest Element in a Stream
- [ ] Last Stone Weight
- [ ] K Closest Points to Origin
- [ ] Kth Largest Element in an Array
- [ ] Task Scheduler
- [ ] Design Twitter
- [ ] Find Median from Data Stream
10. Backtracking
- [ ] Subsets
- [ ] Combination Sum
- [ ] Permutations
- [ ] Subsets II
- [ ] Combination Sum II
- [ ] Word Search
- [ ] Palindrome Partitioning
- [ ] Letter Combinations of a Phone Number
- [ ] N-Queens
11. Graphs
- [ ] Number of Islands
- [ ] Max Area of Island
- [ ] Clone Graph
- [ ] Walls and Gates
- [ ] Rotting Oranges
- [ ] Pacific Atlantic Water Flow
- [ ] Surrounded Regions
- [ ] Course Schedule
- [ ] Course Schedule II
- [ ] Graph Valid Tree
- [ ] Number of Connected Components
- [ ] Redundant Connection
- [ ] Word Ladder
12. Advanced Graphs
- [ ] Reconstruct Itinerary
- [ ] Min Cost to Connect All Points
- [ ] Network Delay Time
- [ ] Swim in Rising Water
- [ ] Alien Dictionary
- [ ] Cheapest Flights Within K Stops
13. 1-D Dynamic Programming
- [ ] Climbing Stairs
- [ ] Min Cost Climbing Stairs
- [ ] House Robber
- [ ] House Robber II
- [ ] Longest Palindromic Substring
- [ ] Palindromic Substrings
- [ ] Decode Ways
- [ ] Coin Change
- [ ] Maximum Product Subarray
- [ ] Word Break
- [ ] Longest Increasing Subsequence
- [ ] Partition Equal Subset Sum
14. 2-D Dynamic Programming
- [ ] Unique Paths
- [ ] Longest Common Subsequence
- [ ] Best Time to Buy/Sell Stock with Cooldown
- [ ] Coin Change II
- [ ] Target Sum
- [ ] Interleaving String
- [ ] Longest Increasing Path in Matrix
- [ ] Distinct Subsequences
- [ ] Edit Distance
- [ ] Burst Balloons
- [ ] Regular Expression Matching
15. Greedy
- [ ] Maximum Subarray
- [ ] Jump Game
- [ ] Jump Game II
- [ ] Gas Station
- [ ] Hand of Straights
- [ ] Merge Triplets to Form Target
- [ ] Partition Labels
- [ ] Valid Parenthesis String
16. Intervals
- [ ] Insert Interval
- [ ] Merge Intervals
- [ ] Non-overlapping Intervals
- [ ] Meeting Rooms
- [ ] Meeting Rooms II
- [ ] Minimum Interval to Include Query
17. Math & Geometry
- [ ] Rotate Image
- [ ] Spiral Matrix
- [ ] Set Matrix Zeroes
- [ ] Happy Number
- [ ] Plus One
- [ ] Pow(x, n)
- [ ] Multiply Strings
- [ ] Detect Squares
18. Bit Manipulation
- [ ] Single Number
- [ ] Number of 1 Bits
- [ ] Counting Bits
- [ ] Reverse Bits
- [ ] Missing Number
- [ ] Sum of Two Integers
- [ ] Reverse Integer
19. Sorting
- [ ] Bubble Sort
- [ ] Insertion Sort
- [ ] Selection Sort
- [ ] Merge Sort
- [ ] Quick Sort
๐ข Pillar 2: Architectural Patterns (Design Patterns)
Creational Patterns
- [x] Abstract Factory
- [x] Builder
- [x] Factory
- [x] Object Pool
- [x] Prototype
- [x] Singleton
Structural Patterns
- [x] Adapter
- [x] Bridge
- [x] Composite
- [x] Decorator
- [x] Facade
- [x] Flyweight
- [x] Proxy
Behavioral Patterns
- [x] Chain of Responsibility
- [x] Command
- [x] Interpreter
- [x] Iterator
- [x] Mediator
- [x] Memento
- [x] MVC
- [x] Null Object
- [x] Observer
- [x] State
- [x] Strategy
- [x] Template
- [x] Visitor
๐ Pillar 3: Machine Coding & LLD Systems
Systems & Games
- [x] Parking Lot:
machine_coding/systems/parking_lot/parking_lot.py - [x] Elevator System:
machine_coding/systems/elevator/elevator_management_system.py - [x] Snake & Ladder:
machine_coding/games/snake_ladder/PROBLEM.md - [x] Tic-Tac-Toe:
machine_coding/games/tic_tac_toe/PROBLEM.md - [x] Instagram Feed:
machine_coding/systems/instagram/PROBLEM.md - [x] Cache System:
machine_coding/systems/cache/PROBLEM.md - [ ] Vending Machine:
machine_coding/systems/vending_machine/PROBLEM.md
Distributed & Real-World
- [ ] Pub/Sub System:
machine_coding/distributed/pub_sub/PROBLEM.md - [ ] Job Scheduler:
machine_coding/distributed/job_scheduler/PROBLEM.md - [ ] Rate Limiter (distributed):
machine_coding/distributed/rate_limiter/PROBLEM.md - [ ] Workflow Orchestrator:
machine_coding/distributed/workflow_orchestrator/PROBLEM.md - [ ] E-Commerce Engine:
machine_coding/real_world_systems/e_commerce_order_system/PROBLEM.md - [ ] Ride-Sharing Service:
machine_coding/real_world_systems/ride_sharing_service/PROBLEM.md - [ ] CI/CD Pipeline:
machine_coding/real_world_systems/ci_cd_pipeline/PROBLEM.md - [ ] Distributed LLD:
machine_coding/distributed/id_generator/snowflake.py
๐ด Pillar 4: Distributed Systems & Infrastructure
- [ ] Dockerized Cluster:
infrastructure_challenges/dockerized_job_scheduler/PROBLEM.md - [ ] Redis Rate Limiter:
infrastructure_challenges/redis_rate_limiter/PROBLEM.md - [ ] Socket Chat App:
infrastructure_challenges/socket_chat_app/PROBLEM.md - [ ] Circuit Breaker:
infrastructure_challenges/resiliency/circuit_breaker.py - [ ] Service Mesh Basics:
infrastructure_challenges/envoy_proxy/SETUP.md
๐๏ธ Pillar 5: High-Level Design (HLD)
- [ ] KV Store:
system_design_hld/architectures/distributed_storage/KV_STORE.md - [ ] S3 Lite:
system_design_hld/architectures/distributed_storage/S3_LITE.md - [ ] Video Streaming (Netflix/YouTube):
system_design_hld/architectures/streaming/VIDEO_STREAMING_SERVICE.md - [ ] WhatsApp:
system_design_hld/architectures/social_media/WHATSAPP.md - [ ] Facebook Capacity:
system_design_hld/architectures/social_media/FACEBOOK_CAPACITY.md - [ ] URL Shortener:
system_design_hld/architectures/utilities/URL_SHORTENER.md - [ ] API Rate Limiter:
system_design_hld/architectures/utilities/RATE_LIMITER.md - [ ] Ticket Booking:
system_design_hld/architectures/utilities/TICKET_BOOKING.md - [ ] Search Engine:
system_design_hld/architectures/utilities/ELASTICSEARCH_HLD.md - [ ] Ad-Click Aggregator:
system_design_hld/architectures/data_pipelines/AD_CLICKS.md
๐งช Testing Infrastructure
- [ ] Create
tests/directory structure mirroringdsa/,design_patterns/,machine_coding/ - [ ] Add
conftest.pywith shared pytest fixtures - [ ] Add unit tests for DSA solutions (input โ expected output)
- [ ] Add integration tests for machine coding systems
- [x] Set up CI pipeline to run
make testandmake lint