Loading…
Loading…
A skill is an axis you’re graded on; a pattern is a system shape; a technology is the concrete tool you actually reach for. Interviewers expect you to name a specific one and go deep — “a Redis sorted set for the leaderboard”, not “a cache”. Each deep dive covers what it is, how it works under the hood, its real performance envelope, the capabilities that come up in interviews, and the failure modes that catch people out.
The systems of record — relational, wide-column, and key-value.
The sensible default database for almost every product-design interview — ACID, rich SQL, JSONB, full-text and geo extensions, and far more scale on one node than candidates assume.
Reach for it when: The default for product-design interviews — user records, orders, relationships, anything transactional
A fully-managed, horizontally-scaling key-value and document store with single-digit-millisecond latency at any scale — when your access patterns are known and key-based, it removes sharding and capacity planning entirely.
Reach for it when: Access patterns are known up front and are key-based (get/put by id, query by partition key)
A masterless, linearly-scalable wide-column store built for enormous write throughput and multi-region availability — when you have a write firehose and known partition-key queries, it scales by simply adding nodes.
Reach for it when: Write-heavy workloads at scale — time-series, event logs, sensor/IoT data, messaging history, feeds
The speed and discovery layers that sit in front of and beside your stores.
An in-memory, single-threaded data-structure store — the most versatile tool in an interview because one technology covers caching, locks, leaderboards, rate limits, geo, queues, and pub/sub.
Reach for it when: You need a cache in front of a slower store and want sub-millisecond reads
A distributed search and analytics engine built on Lucene — the default answer for full-text search, faceted filtering, and log/observability analytics when SQL LIKE and a B-tree index fall over.
Reach for it when: Full-text search is a real feature — relevance ranking, typo tolerance, autocomplete
A store that indexes high-dimensional embedding vectors for fast similarity search — the retrieval engine behind semantic search, recommendations, and RAG over your own data.
Reach for it when: Semantic search — match by meaning, not keywords (Q&A, "find similar", dedup)
A distributed, partitioned, replicated append-only log — the default backbone for high-throughput event streaming, decoupling services, and feeding many consumers from one durable stream.
Reach for it when: You need a durable, replayable event stream that many independent consumers read
A distributed stream-processing engine for stateful, low-latency computation over unbounded data — windowed aggregations, stream joins, and real-time analytics with exactly-once guarantees.
Reach for it when: Real-time windowed aggregations — counts, sums, percentiles per interval (ad clicks, metrics)
The infrastructure that moves bytes, routes traffic, and keeps a cluster honest.
Effectively infinite, cheap, durable object storage for large unstructured files — images, video, backups, logs — that should never live in your database.
Reach for it when: You store large files — images, video, audio, PDFs, user uploads, ML data
The single front door to a backend: one entry point that authenticates, rate-limits, routes, and shapes every request so individual services do not each re-implement cross-cutting concerns.
Reach for it when: You have multiple backend services and want one client-facing entry point
The component that spreads incoming traffic across a pool of servers, removes unhealthy ones, and gives clients one stable endpoint — the foundation of horizontal scaling and availability.
Reach for it when: You run more than one server and need to spread traffic across them
A globally distributed cache that serves content from edge locations near users — cutting latency, absorbing read traffic off your origin, and shielding it from spikes.
Reach for it when: You serve static assets or media (images, video, bundles) to a global audience
Strongly-consistent coordination services that solve the hard distributed problems — leader election, distributed locks, configuration, and service discovery — so you never have to implement consensus yourself.
Reach for it when: You need leader election or a single active coordinator across a cluster
A buffer between producers and workers that decouples them, absorbs bursts, and processes work asynchronously with built-in retries and dead-letter handling — the simple task-queue answer when you do not need a full event log.
Reach for it when: Background / asynchronous jobs — email, transcoding, image processing, report generation