Day 2 of 30 days of Data Structures and Algorithms and System Design Simplified : DSA and System Design made Easy
The art of problem solving…

Welcome back peeps. This post is one of the most important post of 30 days of Data Structures and Algorithms and System Design Series where we will discuss —
- Topics that are ( comparatively) more important
- How to get started and a Focussed Strategy
- System Design most important case studies
- Order in which we will complete this series
Solved System Design Case Studies
Design Instagram
Design Netflix
Design Reddit
Design Amazon
Design Messenger App
Design Twitter
Design URL Shortener
Design Dropbox
Design Youtube
Design API Rate Limiter
Design Web Crawler
Design Amazon Prime Video
Design Facebook’s Newsfeed
Design Yelp
Design Uber
Design Tinder
Design Tiktok
Design Whatsapp
Most Popular System Design Questions
Mega Compilation : Solved System Design Case studies
Complete Data Structures and Algorithm Series
Github —
Projects Videos —
All the projects, data structures, SQL, algorithms, system design, Data Science and ML , Data Analytics, Data Engineering, , Implemented Data Science and ML projects, Implemented Data Engineering Projects, Implemented Deep Learning Projects, Implemented Machine Learning Ops Projects, Implemented Time Series Analysis and Forecasting Projects, Implemented Applied Machine Learning Projects, Implemented Tensorflow and Keras Projects, Implemented PyTorch Projects, Implemented Scikit Learn Projects, Implemented Big Data Projects, Implemented Cloud Machine Learning Projects, Implemented Neural Networks Projects, Implemented OpenCV Projects,Complete ML Research Papers Summarized, Implemented Data Analytics projects, Implemented Data Visualization Projects, Implemented Data Mining Projects, Implemented Natural Leaning Processing Projects, MLOps and Deep Learning, Applied Machine Learning with Projects Series, PyTorch with Projects Series, Tensorflow and Keras with Projects Series, Scikit Learn Series with Projects, Time Series Analysis and Forecasting with Projects Series, ML System Design Case Studies Series videos will be published on our youtube channel ( just launched).
Subscribe today!
Tech Newsletter —
If you are interested, you can join my newsletter through which I send tech interview tips, techniques, patterns, hacks — Software Development, ML, Data Science, Startups and Technology projects to more than 30K readers. You can subscribe to Tech Brew :
Let’s get started!
1. Topics that are more important ( based on ROI)
To prepare a strategy first understand what’s important and what’s not. It will help you choose the next topic to study more objectively.
First understand how topics are connected to each other ( read the flows below).
Flow 1
Arrays -> Strings → Hash Table -> Binary Search->Stack → Queues-> Heap
Flow 2
Recursion → Binary Tree → Dynamic Programming -> Graph
Flow 3
Binary Tree -> Binary Search Tree -> Trie
Flow 4
Graph -> Union Find -> Topological Sort -> MST -> Djikstra




Using the above flows you can easily determine that a solid understanding of prior topic is important for the next topic in each flows.
Let’s talk about the important topics ( based on the ROI). Study in order
Stack 1 — Most important
Graph ( DFS)
Trees
— — — — — — — — — — —
Stack 2 — Important
Binary Search
Strings
Linked List
Stacks
Queues
— — — — — — — — — — —
Stack 3 — Medium Important
Heap
Hash Table
Math
Bit Manipulation
— — — — — — — — — — —
Stack 4 — Everything Else
Trie
Union Find
Now let’s talk about the techniques that are important ( study in order)-
Once you have determined what to study then plan how to study ( i.e focussed strategy)
Some of the curated Question — Curated List — The Top & Most Frequently Asked Coding Questions You Should Practice
2. Focused Strategy
After you have refined which topics to study first, then prepare a strategy where everything is timed. Let’s say you are asked a problem, then the blueprint should be —
- Understand the problem ( 5 minutes)
2. Take examples and explain the brute force thought process ( 7 minutes)
3. Break the problem and optimize ( 12 minutes) —
- Base Cases
- Main Code ( write the pseudo code)
- Edge Cases
- Complexity analysis discussion
4. Debug the errors ( 5 minutes)
5. Run test cases ( 7 minutes)
6. Further discussion ( 3 minutes)
Total time taken — 40 minutes
What not to do —
During your prep, don’t memorize solutions instead figure out the pattern and understand objective of the problem.
Don’t follow easy — medium — hard problem pattern. A problem is a problem, so build an aptitude to solve a hard problem with same ease as an easy problem. This will help you understand the depth of the topics better.
3. System Design most important case studies
In this part I’ll cover the most important concepts and case studies that you should know.
Github for System Design Series —
System design interviews are there to check 3 things —
To check if you know how to design a simple architecture and after figuring out the most important features, can you take your approach a notch up.
Once you have designed the architecture and understood the tradeoffs, can you scale it from zero to a million users?
Do you clearly understand the 11 most important concepts of system design pragmatically?
How to get started with System Design Study?
- First step is to cover 11 most important base concepts
2. Second step is to solve the case studies and keep revising your base concepts.
11 most important base concepts Base Concepts
6. Networking, How Browsers work, Content Network Delivery ( CDN)
13. System Design Template — How to solve any System Design Question
Solved Case Studies
4. Order in which we will complete Data Structures and Algorithms Series-
We will be covering the topics based on the highest ROI. The flow is as follows —
Github for DSA Series —
First we will cover the important techniques —
Complexity Analysis — Completed
Tips and Techniques- How to determine and differentiate Complexities
Sliding Window — Completed
Important Patterns and Techniques in Sliding Window Questions
Backtracking — Completed
Greedy Technique- Completed
Two pointer Technique — Completed
Important Patterns and Techniques in Two pointer technique Questions
Tips and Techniques to solve Two pointer technique Questions Fast.
Recursion — Completed
Divide and Conquer Technique — Completed
What and Why Divide and Conquer technique(in 2–3 sentences)?
Important Patterns and Techniques in Divide and Conquer technique Questions
Tips and Techniques to solve Divide and Conquer Questions Fast.
Arrays — Completed
Strings — Completed
Linked List — Completed
1- D Dynamic Programming — Completed
Important Patterns and Techniques in 1-D Dynamic Programming Questions
Tips and Techniques to solve 1-D Dynamic Programming Questions Fast.
Stack — Completed
Queue — Completed
Binary Search — Completed
Important Patterns and Techniques in Binary Search Questions
Hash Table/Hashing- Completed
Graphs- Completed
Heap/Priority Queue — Completed
Important Patterns and Techniques in Heap/Priority Queue Questions
Tips and Techniques to solve Heap/Priority Queue Questions Fast.
2D Dynamic Programming — Completed
What and Why 2D Dynamic Programming technique(in 2–3 sentences)?
Important Patterns and Techniques in Dynamic Programming technique Questions
Tips and Techniques to solve Dynamic Programming technique Questions Fast.
Intervals — Completed
Trees- Completed
Math and Geometry
Important Patterns and Techniques in Math and Geometry Questions
Most Important Questions with Solutions
Tips and Techniques to solve Math and Geometry Questions Fast.
Bit Manipulation
What and Why Bit Manipulation(in 2–3 sentences)?
Important Patterns and Techniques in Bit Manipulation Questions
Most Important Questions with Solutions
Tips and Techniques to solve Bit Manipulation Questions Fast.
Tries
What and Why Tries(in two sentences)?
Important Patterns and Techniques in Trie Questions
Most Important Questions with Solutions
Tips and Techniques to solve Trie Questions Fast.
Topological Sort
What and Why Topological Sort(in 2–3 sentences)?
Important Patterns and Techniques in Topological Sort Questions
Most Important Questions with Solutions
Tips and Techniques to solve Topological Sort Questions Fast.
Dijkstra
What and Why Dijkstra(in 2–3 sentences)?
Important Patterns and Techniques in Dijktra Questions
Most Important Questions with Solutions
Tips and Techniques to solve Dijkstra Questions Fast.
Prim’s/MST
What and Why Prim’s/MST(in 2–3 sentences)?
Important Patterns and Techniques in Prim’s/MST Questions
Most Important Questions with Solutions
Tips and Techniques to solve Prim’s/MST Questions Fast.
Most Famous Algorithms ( that you should know)
What and Why each algorithm(in 2–3 sentences)?
Important Patterns and Techniques in Algorithm Questions
Most Important Questions with Solutions
Tips and Techniques to solve Algorithms Questions Fast.
That’s it for now. Day 3 — Complexity Analysis in depth coming soon!
Let me know if you have questions in the comment section below. Subscribe/ Follow, Like/Clap and Stay Tuned!!
Some of the other best Series —
How to solve any System Design Question ( approach that you can take)?
30 days of Data Structures and Algorithms and System Design Simplified
Data Science and Machine Learning Research ( papers) Simplified **
100 days : Your Data Science and Machine Learning Degree Series with projects
Complete Data Visualization and Pre-processing Series with projects
Exceptional Github Repos — Part 1
Exceptional Github Repos — Part 2
Tech Newsletter —
If you are interested, you can join my newsletter through which I send tech interview tips, techniques, patterns, hacks — Software Development, ML, Data Science, Startups and Technology projects to more than 30K readers. You can subscribe to Tech Brew :
That’s it for now! Tighten your belt and get ready to take a deep dive because Day 2 is Coming soon!
Subscribe/ Follow and Stay Tuned!!
Keep learning and coding :)
For Python Projects —
For complete 60 days of Data Science and ML : Day 1 — Day 60 : Quick Recap of 60 days of Data Science and ML
Follow for more updates. Stay tuned and keep coding!
For other projects, tune to —
Build Machine Learning Pipelines( With Code)
Recurrent Neural Network with Keras
Clustering Geolocation Data in Python using DBSCAN and K-Means
Facial Expression Recognition using Keras
Hyperparameter Tuning with Keras Tuner
Custom Layers in Keras




