Script Valley
Interview Prep: System Design Rounds
System Design Interview FrameworkLesson 1.4

How to draw a high-level system design diagram

component identification, data flow, client-server model, load balancer placement, service decomposition, database selection

What Goes in a High-Level Design

A high-level design answers one question: how does data flow through the system? You're identifying components, not configuring them.

Standard Components to Consider

  • Clients: mobile, web, third-party API consumers
  • Load Balancers: distribute traffic, handle SSL termination
  • Application Servers: business logic, stateless when possible
  • Databases: SQL for relational data, NoSQL for high-scale unstructured data
  • Caches: Redis/Memcached for hot reads
  • Message Queues: Kafka/RabbitMQ for async processing
  • CDN: static assets, geographic distribution

Drawing Order

  1. Start with the client
  2. Draw the entry point (API gateway or load balancer)
  3. Add core services
  4. Add data stores
  5. Add cross-cutting concerns (cache, queue, CDN)

Label every arrow with the protocol (HTTP, gRPC, TCP). Interviewers often ask 'how does the app server talk to the database?' โ€” your diagram should already show it.

Keep the diagram simple. You'll add complexity in the deep dive phase.

Up next

How to communicate trade-offs in system design interviews

Sign in to track progress

How to draw a high-level system design diagram โ€” System Design Interview Framework โ€” Interview Prep: System Design Rounds โ€” Script Valley โ€” Script Valley