Messaging & Streaming
The brokers and streaming platforms teams use to decouple services and move events between them. Interviewers probe this area because almost every distributed system has an async path, and picking the wrong messaging model is expensive to undo.
on this pageshowhide
explore
- Kafka (has its own guide)835 questions
- Architecture and Internals45 questions
- Cluster Coordination: KRaft and ZooKeeper61 questions
- Topics, Partitions and Log Storage47 questions
- Producers36 questions
- Consumers and Consumer Groups55 questions
- Replication and Durability50 questions
- Delivery Semantics and Transactions40 questions
- Kafka Streams61 questions
- Kafka Connect55 questions
- Schemas and Serialization48 questions
- Security62 questions
- Operations and Administration46 questions
- Monitoring and Performance Tuning54 questions
- Multi-Cluster and Geo-Replication65 questions
- Client Development and Integration Patterns62 questions
- Ecosystem and Platform Choices48 questions
- RabbitMQempty
- Queues and Bindingsempty
- ActiveMQempty
- Broker & Streaming Operations (has its own guide)259 questions
- Cluster Shape & Capacity25 questions
- Retention & Storage Pressure21 questions
- Copy Sets & Durability18 questions
- Membership & Data Movement25 questions
- Consumer Operations & Lag23 questions
- Quotas, Throttling & Fairness25 questions
- Estate Layout & Governance24 questions
- Broker Security Controls25 questions
- Operating Signals & Alerting21 questions
- Upgrades & Configuration Change16 questions
- Cross-Cluster Continuity22 questions
- Renting a Broker14 questions
→ has its own guide
questions
1,094 · 2 sectionsWhat is the purpose of bootstrap.servers, and why don't you need to list every broker?
basics
~20 sbootstrap.servers is the initial list of broker host:port pairs a client contacts to discover the full cluster. After the first metadata fetch the client learns all brokers, so the list only needs a few entries for redundancy.
What is a Kafka broker, and what role does broker.id play in a cluster?
basics
~10 sA broker is a single Kafka server that stores topic partition data and serves produce/fetch requests. broker.id is its unique numeric identifier within the cluster; no two brokers may share the same id.
What is a Kafka partition's commit log, and why is it split into segments on disk?
basics
~20 sEach partition is an append-only log: records are only added to the end, never changed in place. Kafka splits that log into fixed-size files called segments so old data can be deleted or compacted one whole file at a time instead of editing one giant file.
What is the Kafka log cleaner, and how do you enable it for a topic?
basics
~20 sThe log cleaner is a background process that runs compaction: it scans a topic's log and keeps only the latest record per key, deleting older duplicates. You enable it by setting the topic config cleanup.policy=compact.
Why does Kafka rely on the operating system page cache instead of maintaining its own in-process (JVM heap) record cache?
basics
~20 sKafka writes data to files and lets the OS keep recently used file pages in RAM (the page cache). It avoids a JVM heap cache to dodge GC pressure, double-buffering, and to reuse the OS cache that survives broker restarts.
A standby cluster is kept fed by an ongoing copy and carries no writers — what happens when an operator switches onto it?
basics
~20 sWriters are pointed at the standby, readers restarted there, and only one site keeps accepting writes. The standby holds only what the copier had carried, and a reader's stored position from the source names a different record there.
Your only continuity plan for a live stream is last night's file backup of the broker data volumes. What has that already cost you by morning?
basics
~20 sA file backup fixes a stream at the instant it was taken, so every record written since is gone, along with every reader's progress. Streams keep moving while files do not, which is why the gap is counted in hours.
Why is a cross-cluster copy of a stream always behind the source cluster that feeds it?
basics
~20 sA cross-cluster copier is an ordinary client of both clusters: the source stores a record and answers the writer before the copier has even read it. The record therefore exists on the source first and on the target some time later.
Your stream is copied asynchronously to a second cluster — why can the recovery point you state for it never be smaller than the copy lag?
basics
~20 sThe asynchronous copy hop sets the floor. Records acknowledged on the source cluster but not yet carried to the target exist in one place only, so losing the source loses them — the recovery point is at least the copy lag.
Before a broker answers a write, what can the writer be made to wait for, and what does each option cost in write latency?
basics
~20 sA write can be answered with no wait at all, once the leader holds it, once a majority of copies hold it, or once every caught-up copy holds it. Each rung up adds a network round trip of latency and removes one way to lose the record.