1. Designing an RPC Frameworkhistorical

    RPC framework architecture: IDL/contracts, serialization, transport, multiplexing, discovery, load balancing, timeouts, retries, observability, and compatibility.

  2. Designing a Rate Limiterhistorical

    Fixed/sliding windows, token and leaky buckets, distributed rate-limit state, fairness, burst handling, local/global layers, and failure behavior.

  3. Designing Public APIshistorical

    Public API contracts, authentication, authorization, idempotency, versioning, errors, pagination, quotas, signatures, observability, and backwards compatibility.

  4. Designing Timeouts and Retrieshistorical

    Deadline propagation, timeout budgets, retry safety, exponential backoff/jitter, retry storms, idempotency, hedging, and observability.

  5. Designing an Error Modelhistorical

    Stable error taxonomy, machine-readable codes, retryability, user-facing messages, wrapping/context, cross-service mapping, and observability.

  6. Designing Resource Poolshistorical

    A general model for thread, connection, object, and worker pools: lifecycle, sizing, queue bounds, validation, fairness, and overload behavior.

  7. Designing a Cache Systemhistorical

    Cache layers, cache-aside/read-through/write-through/write-back, consistency races, invalidation, stampedes, penetration, hot keys, TTL, and source-of-truth recovery.