System Design
  • Introduction
  • System Design Process
  • System Design Systematic Approach
  • System Design Topics
  • System Design Interview Tips
  • Object Oriented Design
  • System Design Problems
    • Designing an API Rate Limiter
    • Design News Feed
    • Design Recommendation System
    • Design Photo Sharing App
    • Design Location Based App
    • Design Messenger App
    • Design Twitter
    • Design Uber Lyft
    • Design Surge Pricing
  • Architect's Toolbox
    • Cache Design
    • Database and Cache
    • Pull vs Poll
    • Geo Location
    • Storage Estimation
    • ID Generator
    • Latency Numbers
    • Encoding Decoding Encryption Decryption
  • Systems Design Glossary
    • Consistent Hashing
    • Sharding or Partitioning
    • Database Indexes
    • Proxies
    • Caching
    • Queues
    • SQL vs. NoSQL
    • CAP Theorem
    • Distributed Messaging System
    • Long-Polling vs WebSockets vs Server-Sent Events
    • Producer and Consumer
    • Latency, Bandwidth and Throughput
    • Microservices Architecture
    • RESTful API
    • Concurrent Programming
  • Distributed System Resources
    • Distributed System Notes
  • Reference
Powered by GitBook
On this page
  • Step 1: Constraints and Use Cases
  • Step 2: Abstract Design
  • Step 3: Understanding Bottlenecks
  • Step 4: Scaling Your Abstract Design

Was this helpful?

System Design Process

PreviousIntroductionNextSystem Design Systematic Approach

Last updated 5 years ago

Was this helpful?

From Hired in Tech System Design Course

Step 1: Constraints and Use Cases

Figuring out scope, use cases, gather requirements about the system.

Estimates, constraints of the system.

Step 2: Abstract Design

Outlining a high-level abstract design:

Simple diagram, main components, connections between them.

Step 3: Understanding Bottlenecks

Step 4: Scaling Your Abstract Design

https://www.hiredintech.com/classrooms/system-design