Free Confluent CCDAK practice test

20 questions for the Confluent Certified Developer for Apache Kafka (CCDAK) exam, taken from our 58-question bank and spread across its 4domains by their weighting. No sign-up needed: pick an answer to check it, or open “Show answer & explanation” under any question.

What this test covers

Question 1 · Apache Kafka Fundamentals

Which delivery semantic means a consumer may process a message more than once if a failure occurs after processing but before the offset is committed?

Show answer & explanation

Correct answer: D

  • D. At-least-once

At-least-once delivery commits offsets after processing; if a failure happens before the commit, the message is reprocessed on restart (possible duplicates). At-most-once (B) commits before processing (possible loss), exactly-once (A) avoids both with additional guarantees, and 'no-delivery' (C) isn't a semantic.

Question 2 · Apache Kafka Fundamentals

A consumer group experiences a REBALANCE. What triggers this?

Show answer & explanation

Correct answer: A

  • A. A change in group membership or subscribed partitions (e.g., a consumer joins/leaves or partitions change)

A rebalance redistributes partition assignments when group membership changes (a consumer joins, leaves, or fails) or the set of subscribed partitions changes. Producer acks (B), schema registration (C), and retention changes (D) don't trigger consumer-group rebalances.

Question 3 · Apache Kafka Fundamentals

Which statement about Kafka topics and partitions is TRUE?

Show answer & explanation

Correct answer: A

  • A. A topic is a logical stream split into one or more partitions distributed across brokers

A topic is a named logical event stream divided into partitions that are distributed (and replicated) across brokers for scalability and fault tolerance. A topic can have many partitions (not exactly one, B), partitions live on brokers not consumers (C), and topics are replicated per the replication factor (D).

Question 4 · Apache Kafka Fundamentals

Two messages with the SAME key are produced to a topic. What does Kafka guarantee about them?

Show answer & explanation

Correct answer: C

  • C. They go to the same partition, preserving their relative order

Kafka's default partitioner hashes the key so all messages with the same key land in the same partition, and order is guaranteed within a partition. Different partitions (D) would break ordering, Kafka doesn't auto-deduplicate by key (B), and exactly-once (A) requires specific configuration.

Question 5 · Apache Kafka Fundamentals

Why is the Confluent Schema Registry used with Kafka?

Show answer & explanation

Correct answer: D

  • D. To store and enforce message schemas (Avro/Protobuf/JSON Schema) and manage schema compatibility/evolution

The Schema Registry manages schemas for serialized messages and enforces compatibility rules as schemas evolve, so producers and consumers agree on data structure. Offsets (C) are stored in Kafka, it doesn't replace brokers (B), and it isn't a credential store (A).

Question 6 · Apache Kafka Fundamentals

What are in-sync replicas (ISR) in Kafka?

Show answer & explanation

Correct answer: D

  • D. The set of replicas that are fully caught up with the partition leader

The ISR is the set of replicas (including the leader) that are caught up with the leader within the allowed lag; acks=all waits for these. It's not consumer-side (A), a nightly backup (C), or failed replicas (B).

Question 7 · Apache Kafka Fundamentals

A consumer group has 4 consumers and subscribes to a topic with 3 partitions. What happens?

Show answer & explanation

Correct answer: A

  • A. 3 consumers each get one partition; 1 consumer is idle

Each partition is assigned to exactly one consumer in the group, so with 3 partitions and 4 consumers, three consumers each get one partition and the fourth is idle (no partition to read). Partitions aren't shared (B, C), and the group starts fine (D).

Question 8 · Apache Kafka Fundamentals

A producer sets acks=all (or acks=-1). What guarantee does this provide?

Show answer & explanation

Correct answer: C

  • C. The leader waits for all in-sync replicas to acknowledge before confirming the write, maximizing durability

acks=all means the leader waits for all in-sync replicas (ISR) to replicate the record before acknowledging, giving the strongest durability. acks=0 (B) waits for nothing, acks=1 (A) waits only for the leader, and option D is false — Kafka persists messages.

Question 9 · Kafka Streams and Stream Processing

A developer wants to route records to different output streams based on a predicate (e.g., high-value vs low-value orders). Which stateless operation fits?

Show answer & explanation

Correct answer: B

  • B. branch / split

branch (split) divides a stream into multiple streams based on predicates — a stateless routing operation. aggregate (C) and reduce (D) are stateful, and windowedBy (A) applies windowing to an aggregation.

Question 10 · Kafka Streams and Stream Processing

A stream-processing application must compute a running total of sales per product. Which Kafka Streams construct is required?

Show answer & explanation

Correct answer: A

  • A. A stateful aggregation backed by a state store

A running total per key requires a stateful aggregation (e.g., aggregate/reduce) backed by a state store that persists the accumulating value. Stateless map (B) and filter (C) don't accumulate state, and printing (D) doesn't compute totals.

Question 11 · Kafka Streams and Stream Processing

Which Kafka Streams operation transforms each input record into zero or more output records?

Show answer & explanation

Correct answer: B

  • B. flatMap

flatMap maps each input record to zero, one, or many output records. filter (A) keeps or drops records (0 or 1), count (C) is a stateful aggregation, and peek (D) performs a side effect without changing the stream.

Question 12 · Kafka Streams and Stream Processing

How does Kafka Streams provide fault tolerance for its local state stores?

Show answer & explanation

Correct answer: A

  • A. It backs state stores with changelog topics in Kafka, so state can be restored after a failure

Kafka Streams backs each state store with a changelog topic in Kafka; if an instance fails, the state is restored by replaying the changelog on another instance. Local-disk-only (C) wouldn't survive instance loss, disabling state (B) loses data, and the Schema Registry (D) stores schemas, not state.

Question 13 · Kafka Streams and Stream Processing

What does a map operation do in Kafka Streams, and is it stateful?

Show answer & explanation

Correct answer: C

  • C. It transforms each record's key and/or value one-to-one; it is stateless

map transforms each record into exactly one output record (changing key and/or value) with no stored state — a stateless one-to-one operation. Aggregation (A) and joins (D) are stateful, and windowing (B) applies to aggregations.

Question 14 · Kafka Streams and Stream Processing

Kafka Streams supports exactly-once processing. What does enabling it (processing.guarantee=exactly_once_v2) ensure?

Show answer & explanation

Correct answer: A

  • A. Reading, processing, state updates, and producing results happen atomically, so each input affects the output and state exactly once even across failures

Exactly-once processing uses Kafka transactions to atomically tie together consuming, state changes, and producing, so failures don't cause duplicate or lost effects. It doesn't stop rebalances (C), compress messages (B), or limit partitions (D).

Question 15 · Application Testing

A test must verify that a new Avro schema version is COMPATIBLE with existing consumers before deployment. What should the test check against?

Show answer & explanation

Correct answer: C

  • C. Schema Registry compatibility rules (e.g., backward/forward compatibility) for the subject

Testing schema evolution means validating the new schema against the Schema Registry's configured compatibility mode (backward, forward, full) for that subject, so consumers won't break. Partition count (D), offsets (A), and disk size (B) are unrelated to schema compatibility.

Question 16 · Application Testing

Why is testing delivery semantics (e.g., at-least-once vs exactly-once) important in a Kafka application's test suite?

Show answer & explanation

Correct answer: B

  • B. Because failure and retry paths can cause duplicates or loss, and tests should verify the application handles them as designed

Delivery semantics govern behavior under failures/retries (possible duplicates or loss), so tests should exercise those paths and confirm the app's handling (idempotency, deduplication, transactional processing). It doesn't change partitions (D), Regions (A), or Schema Registry config (C).

Question 17 · Application Testing

A developer wants to assert that a producer with idempotence enabled does not create duplicate records on retry. What is the BEST testing approach?

Show answer & explanation

Correct answer: A

  • A. An integration test that injects failures/retries and verifies the consumed output contains no duplicates

Verifying no-duplicates-on-retry behavior requires exercising the failure/retry path end-to-end (integration test) and asserting the output has no duplicates. Merely checking the config value (B) doesn't prove behavior, eyeballing logs (C) isn't a repeatable test, and skipping (D) leaves the guarantee unverified.

Question 18 · Application Observability

What does distributed TRACING add to observability of an event-driven pipeline built on Kafka?

Show answer & explanation

Correct answer: A

  • A. End-to-end visibility of how a message flows and is transformed across producers, topics, and consumers, revealing latency and bottlenecks

Distributed tracing follows a message/transaction across services and Kafka hops, exposing where latency accrues and where failures occur end-to-end. It doesn't store messages (B), replace metrics/logs (C) — the three are complementary — or alter replication (D).

Question 19 · Application Observability

What does CONSUMER LAG measure in a Kafka application?

Show answer & explanation

Correct answer: D

  • D. The difference between the latest offset produced to a partition and the consumer's committed offset (how far behind the consumer is)

Consumer lag is the gap between the log-end offset (latest produced) and the consumer's committed offset per partition — a key indicator of whether consumers are keeping up. It's not broker network latency (C), partition count (A), or producer batch size (B).

Question 20 · Application Observability

A team wants to alert when consumer lag exceeds a threshold for a critical consumer group. What should they set up?

Show answer & explanation

Correct answer: A

  • A. A metric-based alert on consumer lag (e.g., via a monitoring system consuming JMX/exporter metrics)

Automated, metric-based alerting on consumer lag notifies the team promptly when consumers fall behind a threshold. Manual daily checks (B) are slow and error-prone, changing retention (C) doesn't monitor lag, and disabling the group (D) stops processing.

Pick an answer on each question to check it. 20 questions in this test.

38 more Confluent CCDAK questions

Sign up free to start practising, or subscribe (from $4.97/mo) for the full 58-question bank, flashcards and timed mock exams.

Confluent Certified Developer for Apache Kafka course overview and study guides →