Skip to content

Commit dcbd746

Browse files
More system design
1 parent 2e9ddba commit dcbd746

File tree

3 files changed

+18
-7
lines changed

3 files changed

+18
-7
lines changed

Interview/SystemDesign/examples/cacheDesign.md

Whitespace-only changes.

Interview/SystemDesign/systemDesign.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
## System Design Interview Preparation
22

3+
## 4S Approach
4+
- Scenario
5+
- Service
6+
- Storage
7+
- Scale
8+
9+
## 7-setp Approach
310
### **Step 1: Requirements clarifications**
411

512
It is always a good idea to ask questions about the exact scope of the problem we are trying to solve. Design questions are mostly open-ended, and they don’t have ONE correct answer. That’s why clarifying ambiguities early in the interview becomes critical. Candidates who spend enough time to define the end goals of the system always have a better chance to be successful in the interview. Also, since we only have 35-40 minutes to design a (supposedly) large system, we should clarify what parts of the system we will be focusing on.
@@ -60,4 +67,5 @@ Try to discuss as many bottlenecks as possible and different approaches to mitig
6067
Is there any single point of failure in our system? What are we doing to mitigate it?
6168
Do we have enough replicas of the data so that we can still serve our users if we lose a few servers?
6269
Similarly, do we have enough copies of different services running such that a few failures will not cause a total system shutdown?
63-
How are we monitoring the performance of our service? Do we get alerts whenever critical components fail or their performance degrades?
70+
How are we monitoring the performance of our service? Do we get alerts whenever critical components fail or their performance degrades?
71+

README.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,11 @@
8989
3. [Swap two number without temporary varaible](https://www.geeksforgeeks.org/swap-two-numbers-without-using-temporary-variable/)
9090
4. [number is a power of 2](https://www.geeksforgeeks.org/bits-manipulation-important-tactics/)
9191
14. Concurrency
92-
1. Implement a Spinlock/Mutex
92+
1. Implement a Spinlock/Mutex/Semaphone
9393
1. [Test-and-set](https://en.wikipedia.org/wiki/Test-and-set)
9494
2. [Compare-and-swap](https://en.wikipedia.org/wiki/Compare-and-swap)
9595
3. Test-and-clear
96+
4. Implement Semaphone with Mutex
9697
2. [Producer and consumer problem (Bounded Buffer)](https://shivammitra.com/c/producer-consumer-problem-in-c/#)
9798
3. [Reader Writer Problem](Data_Struct_Implementation/concurrency/ReaderWritter.md)
9899
4. [Leetcode Concurrency Tag](https://leetcode.com/problemset/concurrency/)
@@ -391,7 +392,8 @@
391392
1. [System Design Primer](https://github.com/donnemartin/system-design-primer)
392393
2. [System design interview for IT companies Github](https://github.com/checkcheckzz/system-design-interview#intro)
393394
3. [System Design CheatSheet](https://gist.github.com/vasanthk/485d1c25737e8e72759f)
394-
4. System Design Basics
395+
4. [System Design Interview Approach](Interview/SystemDesign/systemDesign.md)
396+
5. System Design Basics
395397
1. [Characteristics of distributed systems](Interview/SystemDesign/keyCharacterDistributedSystem.md)
396398
2. [Load Balancing](Interview/SystemDesign/loadBalancing.md)
397399
3. [Caching](Interview/SystemDesign/caching.md)
@@ -403,16 +405,17 @@
403405
9. [CAP Theorem](Interview/SystemDesign/CAPTheorem.md)
404406
10. [Consistent Hashing](Interview/SystemDesign/consistentHashing.md)
405407
11. [Long-polling vs WebSockets vs Server-Sent Events](Interview/SystemDesign/longpollingWebSocketsServerEvents.md)
406-
5. System Design Examples with Embedded Flavor
408+
6. System Design Examples with Embedded Flavor
407409
1. Design a Cache
408410
2. Design a Vending Machine
409411
3. Design a Traffic Control System
410412
4. Design a ATM Machine
411413
5. Design a Elevator System
412-
6. Design a Parking Lot System
414+
6. [Design a Parking Lot System](https://github.com/donnemartin/system-design-primer/blob/master/solutions/object_oriented_design/parking_lot/parking_lot.ipynb)
413415
7. Design a File System
414-
8. Design a Garbage Collector
415-
6. [Embedded System Design Pattern Catalogue](https://embeddedartistry.com/fieldatlas/design-pattern-catalogue/)
416+
8. [Design a Garbage Collector](http://journal.stuffwithstuff.com/2013/12/08/babys-first-garbage-collector/)
417+
9. [Design a call center](https://github.com/donnemartin/system-design-primer/blob/master/solutions/object_oriented_design/call_center/call_center.ipynb)
418+
7. [Embedded System Design Pattern Catalogue](https://embeddedartistry.com/fieldatlas/design-pattern-catalogue/)
416419

417420
### G. By Company
418421
1. [Tesla](Interview/Company/tesla.md)

0 commit comments

Comments
 (0)