Compare core system design tradeoffs with scenarios

Quick Overview

This question evaluates competency in system design and architectural trade-offs across service decomposition, data storage models, communication patterns, API protocols, caching, consistency, partitioning, and load balancing, with attention to scalability, latency, availability, cost, and operability.

Compare core system design tradeoffs with scenarios

Company: BitGo

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Technical Screen

For a web-scale service, compare the tradeoffs among: monolith vs microservices; relational vs document vs wide-column databases; synchronous RPC vs event-driven messaging; REST vs gRPC; caching strategies (write-through, write-back, write-around); strong vs eventual consistency; partitioning strategies (range, hash, consistent hashing); and load balancing (round-robin, least-connections, consistent hashing). For each, give concrete scenarios and quantitative targets (e.g., 20k QPS, P99 200 ms, 99.99% availability), justify a choice, and discuss implications for latency, availability, cost, operability, and failure modes.

Overview: This question evaluates competency in system design and architectural trade-offs across service decomposition, data storage models, communication patterns, API protocols, caching, consistency, partitioning, and load balancing, with attention to scalability, latency, availability, cost, and operability.

|Home/System Design/BitGo
BitGo logo
BitGo
Aug 12, 2025
hardSoftware EngineerTechnical ScreenSystem Design
6
0

System Design Tradeoffs for a Web-Scale Service

Context

You are designing a web-scale, user-facing transactional service. Compare key architectural choices across the following dimensions, and ground your answers with quantitative targets (e.g., 20k QPS, P99 200 ms, 99.99% availability):

  1. Service decomposition: monolith vs microservices
  2. Primary data store: relational vs document vs wide-column
  3. Inter-service communication: synchronous RPC vs event-driven messaging
  4. API protocol: REST vs gRPC
  5. Caching strategies: write-through, write-back, write-around
  6. Consistency models: strong vs eventual
  7. Data partitioning: range, hash, consistent hashing
  8. Load balancing: round-robin, least-connections, consistent hashing

Task

For each dimension:

  • Provide a concrete scenario and quantitative targets (throughput, latency SLOs, availability, retention, etc.).
  • Justify a choice, and discuss implications for:
    • Latency
    • Availability and durability
    • Cost and scalability
    • Operability (developer productivity, observability, change management)
    • Failure modes and mitigations

Where helpful, include small calculations (capacity, shard counts, cache hit/miss effects) and brief formulas. Keep each comparison grounded in realistic, web-scale use cases.

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...