0% found this document useful (0 votes)
584 views1 page

System Design Cheat Sheet

The 8-part RESHADED method provides a structured approach to solving system design interview questions in 8 steps: 1) Requirements, 2) Estimation, 3) Storage schema, 4) High-level design, 5) APIs, 6) Detailed design, 7) Evaluation, and 8) Distinctive component/feature. The method involves gathering requirements, estimating infrastructure needs, designing the data model and APIs, improving the design, and evaluating the design against requirements.

Uploaded by

aaraa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
584 views1 page

System Design Cheat Sheet

The 8-part RESHADED method provides a structured approach to solving system design interview questions in 8 steps: 1) Requirements, 2) Estimation, 3) Storage schema, 4) High-level design, 5) APIs, 6) Detailed design, 7) Evaluation, and 8) Distinctive component/feature. The method involves gathering requirements, estimating infrastructure needs, designing the data model and APIs, improving the design, and evaluating the design against requirements.

Uploaded by

aaraa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Solve Any

System Design Interview Question


The 8-part RESHADED method:

1. Requirements Step 1: Requirements Step 2: Estimation

2. Estimation
Gather functional & Estimate hardware & infrastructure
non-functional requirements needed to implement at scale

3. Storage schema (optional) Consider:


• System goals
• Key features
Consider requirements for:
• Number of servers
• Daily storage
4. High-level design • System constraints
• User expectations
• Network

5. APIs
Step 3: Storage schema (optional)*
6. Detailed design Articulate data model

7. Evaluation Define:
• Structure of data

8. Distinctive component/feature • Tables to use


• Type of fields in tables
• Relationship between tables (optional)

Building Blocks Glossary: *Relevant when you:


• Expect highly normalized data
• Will store different parts of data in various formats
Domain Name System: Maps domain names to IP • Face performance & efficiency concerns around storage
addresses.

Load Balancers: Distributes client requests among

Step 5: APIs
servers.

Databases: Stores, retrieves, modifies, & deletes Step 4: High-level design Translate functional requirements into
data. API calls
• Build high-level design
• Choose building blocks to meet functional
Key-Value Store: Stores data as key-value pairs. E.g.:
requirements
• Requirement: Users should be
able to access all items
Content Delivery Network: Distributes in-demand For each, identify:
• API call: GET / items
content to end users. • How they work
• Why they're needed
Sequencer: Generates unique IDs for events & • How they integrate

Step 6: Detailed design


database entries.

Service Monitoring: Analyzes system for failures & • Improve high-level design
sends alerts. • Consider all non-functional
requirements & complete
design
Distributed Caching: Stores frequently accessed
data.

Distributed Messaging Queue: Decouples


messaging producers from consumers. Step 7: Evaluation
• Evaluate design against
Publish-Subscribe System: Supports asynchronous requirements
service-to-service communication. • Explain trade offs & pros/cons
of different solutions
Rate Limiter: Throttles incoming requests for • Address overlooked design
services. problems

Blob Store: Stores unstructured data.

Distributed Search: Returns relevant content for (8*) Distinctive


user queries. component/feature
Discuss a distinctive feature that
Distributed Logging: Enables services to log events. meets requirements
This layered visual shows dependencies between
• E.g. Concurrency control in
building blocks. Blocks in lower layers support
Distributed Task Scheduling: Allocates resources to high-traffic apps
those above.
tasks.
* Timing varies. Best done after
Sharded Counters: Counts concurrent read/write completing design (E.g. Step 6 & 7)
requests.

You might also like