Systems Architecture & Distributed Systems Topics
Large-scale distributed system design, service architecture, microservices patterns, global distribution strategies, scalability, and fault tolerance at the service/application layer. Covers microservices decomposition, caching strategies, API design, eventual consistency, multi-region systems, and architectural resilience patterns. Excludes storage and database optimization (see Database Engineering & Data Systems), data pipeline infrastructure (see Data Engineering & Analytics Infrastructure), and infrastructure platform design (see Cloud & Infrastructure).
Real-Time and Streaming System Design
Designing low-latency, always-on systems: real-time communication (WebSockets, long-polling, server-sent events), presence and pub/sub fan-out, live streaming and video delivery, and real-time collaboration. Covers latency budgets, connection scaling, and delivering ordered updates to many concurrent clients. The design surface for chat, feeds, streaming, and collaborative apps.
Stateful Service Design and State Management
Handling state in otherwise-distributed systems: stateful versus stateless service design, session management, sticky routing, in-memory state with durable backing, and state replication. Covers where state should live, how to recover it after a crash, and the scaling constraints stateful services impose. Complements the stateless-first default with when and how to hold state.
Caching Strategies and Distributed Caching
Using caches to reduce latency and load: cache-aside, read-through, write-through, and write-behind patterns, TTLs, eviction policies, and distributed caches such as Redis or Memcached. Covers cache invalidation, stampede and thundering-herd protection, and the consistency tradeoffs of caching. Focuses on where and how to cache across tiers.
Marketplace, Dispatch, and Logistics System Design
Designing two-sided and real-time operational platforms: matching and dispatch engines, order and inventory systems, surge and dynamic pricing, proximity search and ETA/routing, and real-time location tracking. Covers the canonical ride-hailing, delivery, and marketplace case studies and the consistency and latency challenges they share. Domain-shaped system-design practice at generic level.
End-to-End Feature Design and Development
The integrated "build a complete feature" interview format: taking one feature from user-facing flow through API design, backend logic, data model, and storage in a single coherent walkthrough. Tests the ability to connect the layers and make consistent trade-offs across them, rather than depth in any single layer.
Mobile System Architecture and Offline-First Design
Architecting the mobile side of a distributed system: client-server sync, offline-first storage and conflict resolution, background processing, push notifications, and modular mobile architecture at scale. Covers syncing state across intermittent connectivity and designing backends for millions of mobile clients. The mobile-specific slice of distributed design.
Multi-Tenancy and Isolation
Serving many tenants from shared infrastructure: tenancy models (silo, pool, bridge), data isolation, noisy-neighbor mitigation, per-tenant limits, and security boundaries between tenants. Covers the cost, isolation, and blast-radius tradeoffs of shared versus dedicated resources. The architecture layer specific to SaaS and platform products.
Architectural Patterns and Anti-Patterns
The reusable structures and common traps of system design: layered, hexagonal, CQRS, and event-sourcing patterns, and anti-patterns such as the distributed monolith, chatty services, and god-service sprawl. Covers when each pattern applies and the smell that signals a wrong turn. A catalog-level view distinct from bespoke case studies.
Observability and Monitoring for Distributed Systems
Understanding system behavior in production: metrics, logs, and distributed tracing, SLIs/SLOs/SLAs, alerting, dashboards, and service mesh observability. Covers correlating signals across services, defining meaningful telemetry, and reducing mean-time-to-detect. The visibility layer that makes distributed systems operable at scale.