This question evaluates understanding of Kafka and distributed streaming system concepts, covering core entities (broker, topic, partition, producer, consumer, consumer group), append-only message storage and offsets, scalability via partitioning, fault tolerance via replication and leader/follower roles, delivery semantics (at-most-once, at-least-once, effectively/exactly-once), ordering guarantees, and failure behaviors like broker/consumer failures and rebalancing. It is commonly asked to assess architectural reasoning about durability, throughput, ordering, and failure handling within the Software Engineering Fundamentals and distributed systems/messaging domain, testing both high-level conceptual understanding and practical application details.
Explain how Apache Kafka works at a high level and then in more detail.
Cover at least:
You may assume a typical multi-broker Kafka cluster.