Architecture Templates

Reusable architecture patterns you can apply to any system design interview. Start with a template, then customize.

Three-Tier Architecture

Foundational

The classic client-server pattern. Separate presentation, business logic, and data layers. Start with this as a baseline for most systems, then evolve as needed.

Architecture Diagram

┌─────────┐     ┌──────────────┐     ┌──────────┐
│ Client  │────▶│  API Server  │────▶│ Database │
│ (Web/   │◀────│  (Business   │◀────│ (SQL /   │
│  Mobile)│     │   Logic)     │     │  NoSQL)  │
└─────────┘     └──────────────┘     └──────────┘
                       │
                ┌──────┴──────┐
                │    Cache    │
                │   (Redis)   │
                └─────────────┘

Key Components

Client

Presentation layer — web/mobile apps

API Server

Business logic, authentication, routing

Database

Persistent data storage

Cache

Frequently accessed data for fast reads

When to Use

  • +Starting a new system design — always start simple
  • +CRUD-heavy applications
  • +Small to medium scale (<10K QPS)
  • +When you need a clear separation of concerns

When NOT to Use

  • Systems requiring >100K QPS (need horizontal scaling)
  • Real-time bidirectional communication
  • Systems with complex async processing

Common Pitfalls

  • !Forgetting to add a cache layer for read-heavy workloads
  • !Using a single database for all data types
  • !Not considering horizontal scaling of the API layer

Real-World Examples

Simple web appsAdmin panelsInternal tools