Architecture Templates
Reusable architecture patterns you can apply to any system design interview. Start with a template, then customize.
Three-Tier Architecture
FoundationalThe 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