Confluent Certified Developer for Apache Kafka (CCDAK) — Questions and Answers
Question 1: What is a Kafka 'offset'?
- A sequential integer that uniquely identifies each message's position within a partition (Correct answer)
- A broker-assigned message UUID
- The number of bytes from the start of a log file
- A consumer group's processing delay metric
Correct answer: A sequential integer that uniquely identifies each message's position within a partition
An offset is a monotonically increasing integer assigned to each message within a partition, used by consumers to track which messages have been read.
Question 2: What command lists all topics in a Kafka cluster?
- kafka-configs.sh --list-topics
- kafka-topics.sh --zookeeper <host> --describe
- kafka-topics.sh --bootstrap-server <host> --list (Correct answer)
- kafka-admin.sh --list
Correct answer: kafka-topics.sh --bootstrap-server <host> --list
kafka-topics.sh --list with --bootstrap-server connects to the cluster and lists all existing topic names.
Question 3: Which Kafka tool applies dynamic broker configuration changes without a restart?
- kafka-configs.sh --alter --entity-type brokers (Correct answer)
- kafka-topics.sh --config
- server.properties hot-reload
- kafka-admin.sh --dynamic-config
Correct answer: kafka-configs.sh --alter --entity-type brokers
kafka-configs.sh with --alter --entity-type brokers can update certain broker configs dynamically (e.g., log retention, quotas) without requiring a broker restart.
Question 4: Kafka was created by which organization?
- Amazon
- Microsoft
- Linkedln (Correct answer)
- Goggle
Correct answer: Linkedln
Explanation: <br> LinkedIn created Kafka in 2009, but it was eventually outsourced to the Apache Software Foundation in 2011. In a word, Kafka is a distributed streaming technology with high volume, high throughput, super scalability, and reliability.
Question 5: Consumers utilize Apache Kafka's control records to
- compact all transactional messages
- filter out aborted transactional messages (Correct answer)
- control all transactional messages
Correct answer: filter out aborted transactional messages
Explanation: <br> Control records in Apache Kafka are used by consumers to filter out aborted transactional messages.
Question 6: What is the role of the Kafka controller broker?
- Handles all consumer group rebalances
- Routes produce requests from producers
- Manages partition leader elections and broker metadata changes cluster-wide (Correct answer)
- Stores offset commits for all groups
Correct answer: Manages partition leader elections and broker metadata changes cluster-wide
The controller is a special broker elected among the cluster that is responsible for partition leadership elections and propagating metadata updates.
Question 7: What is a 'session window' in Kafka Streams?
- A window that resets every hour
- A dynamic window that groups records separated by an inactivity gap smaller than a configurable threshold (Correct answer)
- A window tied to the user's login session
- A fixed 30-minute window
Correct answer: A dynamic window that groups records separated by an inactivity gap smaller than a configurable threshold
Session windows group events for a key into a session as long as the gap between consecutive events is less than the inactivity gap timeout.
Question 8: What does the `advertised.listeners` broker configuration do?
- Sets the ZooKeeper node path for the broker
- Enables broker metrics advertised to Prometheus
- Configures internal replication addresses
- Publishes the listener addresses that clients should use to connect to the broker (Correct answer)
Correct answer: Publishes the listener addresses that clients should use to connect to the broker
advertised.listeners tells Kafka what addresses to publish in cluster metadata so clients can reach the broker, critical in containerized or cloud environments.
Question 9: Which Kafka Connect SMT would you use to add a current timestamp field to every record?
- ExtractField
- ReplaceField
- MaskField
- InsertField with timestamp=true (Correct answer)
Correct answer: InsertField with timestamp=true
The InsertField SMT with timestamp=true appends a wall-clock timestamp field to every record passing through the connector.
Question 10: What is a Kafka 'broker rack' configuration used for?
- Assigns a broker to a rack/availability zone so partition replicas can be spread across failure domains (Correct answer)
- Controls network bandwidth per broker
- Defines the physical server rack for cable management
- Groups brokers for load-balanced consumer assignment
Correct answer: Assigns a broker to a rack/availability zone so partition replicas can be spread across failure domains
The broker.rack setting tells Kafka to spread partition replicas across different racks or AZs so that a single rack failure won't take down all replicas of a partition.
Question 11: What is the purpose of `StreamsConfig.APPLICATION_ID_CONFIG`?
- Uniquely identifies the Kafka Streams application and is used as the consumer group ID and internal topic prefix (Correct answer)
- Defines the number of stream threads
- Configures the state store directory
- Sets the Kafka broker address
Correct answer: Uniquely identifies the Kafka Streams application and is used as the consumer group ID and internal topic prefix
The application ID serves as the consumer group ID for all internal consumers and is prepended to internal changelog and repartition topic names.
Question 12: What is the purpose of Kafka's `__consumer_offsets` topic compaction?
- To archive old consumer offsets to cold storage
- To replicate offsets to ZooKeeper
- To merge multiple consumer groups
- To retain only the latest committed offset per consumer group and partition, keeping the topic size manageable (Correct answer)
Correct answer: To retain only the latest committed offset per consumer group and partition, keeping the topic size manageable
Log compaction on __consumer_offsets ensures that only the most recent offset commit per (group, topic, partition) key is retained, preventing unbounded growth.
Question 13: What is the role of the Kafka broker's 'log cleaner' thread?
- Performs log compaction by removing older duplicate-key records from compacted topics (Correct answer)
- Truncates follower logs during leader election
- Deletes expired messages based on retention.ms
- Compresses log segment files
Correct answer: Performs log compaction by removing older duplicate-key records from compacted topics
The log cleaner is a background thread that runs compaction on topics with cleanup.policy=compact, merging segments and removing superseded key records.
Question 14: What is the purpose of Single Message Transforms (SMTs) in Kafka Connect?
- Transform entire topic schemas
- Apply lightweight transformations to individual records as they pass through the connector pipeline (Correct answer)
- Compress messages at the broker
- Convert between Avro and JSON formats in the Schema Registry
Correct answer: Apply lightweight transformations to individual records as they pass through the connector pipeline
SMTs are simple, chainable transformations applied to each record in-flight within a connector, allowing field renaming, filtering, routing, and other mutations.
Question 15: What is the 'config storage topic' used for in Kafka Connect distributed mode?
- Caches SMT transformation results
- Holds Kafka broker configurations
- Stores schema evolution history
- Stores all connector and task configurations so workers share a consistent view (Correct answer)
Correct answer: Stores all connector and task configurations so workers share a consistent view
The config storage topic persists connector configurations across all workers, ensuring every worker in the Connect cluster has the same configuration state.
Question 16: In Kafka, why is replication required? Because it guarantees...
- A published message will not be saved
- A published message will not be deleted
- A published message will not be lost (Correct answer)
- A published message will not be sent
Correct answer: A published message will not be lost
Explanation: <br> In any case, Kafka ensures that no data is lost.
Question 17: What does SASL/PLAIN authentication in Kafka use for credentials?
- Client X.509 certificates
- OAuth tokens
- Username and password sent over the wire (should be used with TLS) (Correct answer)
- Kerberos tickets
Correct answer: Username and password sent over the wire (should be used with TLS)
SASL/PLAIN authenticates clients using a username and password; it transmits credentials in cleartext, so it must be combined with TLS for security.
Question 18: What mode allows Kafka Connect to run as part of a distributed cluster for fault tolerance?
- Cluster mode
- Standalone mode
- Distributed mode (Correct answer)
- Replicated mode
Correct answer: Distributed mode
In distributed mode, multiple Connect workers form a group, share connector tasks, and automatically rebalance when a worker joins or leaves.
Question 19: How does a follower replica know it is out of sync with the leader?
- When it receives a different partition ID from ZooKeeper
- When its LEO lags behind the leader's LEO for more than replica.lag.time.max.ms (Correct answer)
- When it misses an ACK within acks.timeout.ms
- When it fails to compress messages correctly
Correct answer: When its LEO lags behind the leader's LEO for more than replica.lag.time.max.ms
A replica is removed from the ISR when it hasn't caught up with the leader's log within replica.lag.time.max.ms, indicating it is behind.
Question 20: What is the 'page cache' and why is it important for Kafka performance?
- A Kafka-specific caching layer in front of ZooKeeper
- The OS-level disk cache that Kafka relies on to serve repeated reads without physical disk I/O (Correct answer)
- An in-memory buffer inside each broker JVM for recent messages
- A client-side cache for recently consumed offsets
Correct answer: The OS-level disk cache that Kafka relies on to serve repeated reads without physical disk I/O
Kafka intentionally avoids maintaining its own in-process cache and instead relies on the OS page cache, allowing hot data to be served from memory by the kernel.
Question 21: What HTTP endpoint checks the status of a running connector in Kafka Connect's REST API?
- GET /connectors/{name}/status (Correct answer)
- PUT /connectors/{name}/config
- POST /connectors/{name}/restart
- GET /connectors/{name}/tasks
Correct answer: GET /connectors/{name}/status
GET /connectors/{name}/status returns the current state of the connector and each of its tasks (RUNNING, PAUSED, FAILED, etc.).
Question 22: How does Kafka Streams handle fault tolerance for stateless operations?
- By replaying input topic data from the last committed offset (Correct answer)
- By writing to ZooKeeper
- By checkpointing to an external database
- By keeping an in-memory snapshot
Correct answer: By replaying input topic data from the last committed offset
For stateless tasks, Kafka Streams simply replays the input topic from the last committed offset when a task is restarted or migrated.
Question 23: What is 'zero-copy' in the context of Kafka's I/O performance?
- The producer reuses message objects without copying
- Messages are stored without serialization overhead
- No replicas means no copy overhead
- Data is transferred from disk to network buffer directly in the OS kernel without copying through user space (Correct answer)
Correct answer: Data is transferred from disk to network buffer directly in the OS kernel without copying through user space
Kafka uses the OS sendfile() system call to transfer data from the page cache to the network socket entirely in kernel space, dramatically reducing CPU and memory overhead.
Question 24: What happens when a consumer's `session.timeout.ms` expires without a heartbeat?
- The broker drops all uncommitted offsets
- The consumer reconnects silently
- The consumer is considered dead and a rebalance is triggered (Correct answer)
- The consumer pauses polling
Correct answer: The consumer is considered dead and a rebalance is triggered
If the broker does not receive a heartbeat from a consumer within session.timeout.ms, it marks that consumer as failed and triggers a group rebalance.
Question 25: What does the `log.dirs` broker configuration specify?
- The directory for broker application logs
- SSL key store directory
- The path to ZooKeeper data files
- One or more comma-separated directories where Kafka stores partition log data on disk (Correct answer)
Correct answer: One or more comma-separated directories where Kafka stores partition log data on disk
log.dirs tells Kafka brokers which directories to use for storing partition segment files; spreading across multiple paths can improve I/O throughput.
Question 26: What is the impact of increasing the number of partitions on a topic that already has consumers?
- It only affects new consumer groups
- It triggers a consumer group rebalance as partitions are redistributed (Correct answer)
- Consumers are automatically updated with no interruption
- Partition increase requires topic deletion and recreation
Correct answer: It triggers a consumer group rebalance as partitions are redistributed
Adding partitions to a topic causes the group coordinator to initiate a rebalance so that the new partitions are assigned to consumer group members.
Question 27: What does the Kafka log-end offset (LEO) represent?
- The high-water mark for the partition
- The next offset to be written, i.e., the offset of the last record + 1 in a replica's log (Correct answer)
- The first offset in the current active segment
- The last offset consumed by all consumer groups
Correct answer: The next offset to be written, i.e., the offset of the last record + 1 in a replica's log
The log-end offset is the offset of the next message to be appended; it represents the tip of a replica's local log and may exceed the high-water mark on followers.
Question 28: What is the Schema Registry's role when used with Kafka Connect?
- Manages connector JAR deployments
- Stores broker SSL certificates
- Centrally stores and validates Avro/JSON/Protobuf schemas so producers and consumers share a consistent contract (Correct answer)
- Tracks consumer group offset history
Correct answer: Centrally stores and validates Avro/JSON/Protobuf schemas so producers and consumers share a consistent contract
The Schema Registry stores schemas by subject so that Connect converters can serialize and deserialize messages with schema versioning and compatibility enforcement.
Question 29: What is the purpose of `zookeeper.connect` in a Kafka broker's server.properties?
- Defines the Schema Registry URL
- Specifies the ZooKeeper ensemble address Kafka uses for cluster coordination (pre-KRaft) (Correct answer)
- Sets the consumer group coordinator address
- Configures the broker's own address
Correct answer: Specifies the ZooKeeper ensemble address Kafka uses for cluster coordination (pre-KRaft)
zookeeper.connect tells the Kafka broker where to find its ZooKeeper ensemble for storing cluster metadata (not needed in KRaft mode).
Question 30: Which topic-level configuration controls the maximum size a log segment file can reach before a new one is created?
- segment.index.bytes
- log.retention.bytes
- log.segment.bytes (Correct answer)
- log.roll.ms
Correct answer: log.segment.bytes
log.segment.bytes (default 1 GB) determines the maximum size of a single log segment file before Kafka rolls over to a new segment.
Question 31: What is the role of `buffer.memory` in a Kafka producer?
- JVM heap allocation for the producer
- Size of each message batch
- Memory reserved for compression
- Total bytes of memory the producer uses to buffer records waiting to be sent (Correct answer)
Correct answer: Total bytes of memory the producer uses to buffer records waiting to be sent
buffer.memory is the total amount of memory the producer allocates for buffering records before they are transmitted to brokers.
Question 32: What is the 'status storage topic' in Kafka Connect distributed mode?
- Holds error records from failed tasks
- Stores worker heartbeat data
- Stores the runtime status of connectors and tasks so all workers have a consistent view of the cluster state (Correct answer)
- Logs connector audit events
Correct answer: Stores the runtime status of connectors and tasks so all workers have a consistent view of the cluster state
The status storage topic tracks the state transitions (RUNNING, PAUSED, FAILED) of all connectors and tasks, enabling the REST API to report accurate status.
Question 33: How do Dead Letter Queues (DLQs) work in Kafka Connect sink connectors?
- All records are written to a DLQ before processing
- Failed records cause the connector to pause automatically
- Records that fail to be processed are routed to a configurable DLQ topic instead of stopping the connector (Correct answer)
- DLQs store connector configuration errors
Correct answer: Records that fail to be processed are routed to a configurable DLQ topic instead of stopping the connector
A DLQ allows a sink connector to continue processing by redirecting problematic records to a separate topic, preventing one bad record from halting the pipeline.
Question 34: What does 'exactly-once semantics' (EOS) in Kafka require?
- Only acks=1 on the producer
- Enabling log compaction on the topic
- Idempotent producers plus Kafka transactions to ensure each message is processed and committed once (Correct answer)
- Setting max.in.flight.requests.per.connection=1
Correct answer: Idempotent producers plus Kafka transactions to ensure each message is processed and committed once
EOS requires idempotent producers (no duplicates) combined with Kafka's transactional API so that reads, processing, and writes are committed atomically.
Question 35: Which consumer configuration determines how frequently the consumer offsets are committed automatically?
- session.timeout.ms
- max.poll.records
- fetch.min.bytes
- auto.commit.interval.ms (Correct answer)
Correct answer: auto.commit.interval.ms
auto.commit.interval.ms sets the frequency (in milliseconds) at which the consumer's offsets are committed when enable.auto.commit is true.
Question 36: Which method is used to materialize a KTable into a queryable local state store?
- toStream()
- groupByKey()
- through()
- Materialized.as() (Correct answer)
Correct answer: Materialized.as()
Materialized.as() specifies a named state store backed by RocksDB where the KTable's data is accessible for interactive queries.
Question 37: What happens to a failed Connect task if you POST to `/connectors/{name}/tasks/{taskId}/restart`?
- The worker hosting the task is rebooted
- The specific task is restarted and attempts to resume from its last stored offset (Correct answer)
- The entire connector is recreated
- A new connector with a fresh offset is created
Correct answer: The specific task is restarted and attempts to resume from its last stored offset
Restarting an individual task via the REST API causes that task to reinitialize and resume data copying from the last committed offset.
Question 38: An application can publish streams of records using Apache Kafka's ______ Api.
- Connector
- Producer (Correct answer)
- Streams
- Consumer
Correct answer: Producer
Explanation: <br> Producer API — Allows programs to publish records in streams.
Question 39: What is the significance of `max.in.flight.requests.per.connection` in a Kafka producer?
- Sets the producer's TCP window size
- Limits the number of concurrent broker connections
- Controls how many unacknowledged requests can be in flight simultaneously; setting it to 1 preserves ordering under retries (Correct answer)
- Defines how many threads the producer uses internally
Correct answer: Controls how many unacknowledged requests can be in flight simultaneously; setting it to 1 preserves ordering under retries
If retries > 0 and max.in.flight.requests.per.connection > 1, a retry can cause message reordering; setting it to 1 guarantees order at the cost of throughput.
Question 40: Which producer configuration controls the maximum size of a single request sent to the broker?
- message.max.bytes
- buffer.memory
- max.request.size (Correct answer)
- batch.size
Correct answer: max.request.size
max.request.size limits the size (in bytes) of a request the producer sends to the broker, capping the size of individual produce requests.
Question 41: What is the purpose of ACLs in Kafka?
- Manage SSL certificate rotation
- Encrypt messages at rest
- Define which principals (users/clients) are authorized to perform specific operations on resources (Correct answer)
- Configure network firewall rules
Correct answer: Define which principals (users/clients) are authorized to perform specific operations on resources
Kafka ACLs (Access Control Lists) specify which operations (Read, Write, Create, etc.) a given principal is allowed or denied on topics, consumer groups, and other resources.
Question 42: What happens to messages in a tombstone record during log compaction?
- It is retained permanently
- The key is archived to object storage
- The record with a null value (tombstone) signals deletion of that key during compaction (Correct answer)
- It is moved to a dead-letter topic
Correct answer: The record with a null value (tombstone) signals deletion of that key during compaction
A tombstone is a message with a null value; during compaction, both the tombstone and any older records for that key are eventually deleted.
Question 43: What does a 'stream-table join' in Kafka Streams do?
- Aggregates stream records into table format
- Merges two streams by timestamp
- Joins two tables producing a new table
- Enriches each stream record with the current table value for the matching key (Correct answer)
Correct answer: Enriches each stream record with the current table value for the matching key
A stream-table join looks up the latest KTable value for a record's key and enriches the stream record with that value in real time.
Question 44: What does SASL/OAUTHBEARER allow in Kafka authentication?
- Clients use Kerberos tickets from an Active Directory
- Clients use mutual TLS certificates
- Clients authenticate using OAuth 2.0 bearer tokens obtained from an external authorization server (Correct answer)
- Clients authenticate with username/password stored in ZooKeeper
Correct answer: Clients authenticate using OAuth 2.0 bearer tokens obtained from an external authorization server
SASL/OAUTHBEARER enables Kafka clients to authenticate using short-lived OAuth 2.0 tokens, integrating with modern identity providers.
Question 45: What is a 'preferred replica election' in Kafka?
- An election that selects the fastest replica as leader
- A process that restores partition leadership to the originally assigned (preferred) broker after a failover (Correct answer)
- A manual ACL grant for replica access
- Automatic rebalancing of topic leaders across brokers
Correct answer: A process that restores partition leadership to the originally assigned (preferred) broker after a failover
After a broker failure and recovery, preferred replica election moves leadership back to the originally assigned broker to achieve balanced load distribution.
Question 46: What is the significance of a Kafka Producer API?
- It is responsible for messaging
- It is used to commit offset
- It is responsible for covering two producers (Correct answer)
- It helps to communicate between two nodes
Correct answer: It is responsible for covering two producers
Explanation: <br> The major role of the Kafka Producer API is that it is responsible for covering two producers.
Question 47: Where is the `server.properties` file used in a Kafka deployment?
- It stores consumer group credentials
- It is the main broker configuration file containing all broker settings (Correct answer)
- It defines Connect worker settings
- It configures the Kafka Streams application
Correct answer: It is the main broker configuration file containing all broker settings
server.properties is the primary configuration file for each Kafka broker, containing settings like listener ports, log directories, and replication defaults.
Question 48: What is a KTable in Kafka Streams?
- An in-memory cache of recent messages
- A batched write buffer
- A changelog stream interpreted as a table where each record is an upsert by key (Correct answer)
- A static lookup table loaded from a file
Correct answer: A changelog stream interpreted as a table where each record is an upsert by key
A KTable models a mutable table backed by a changelog topic; each new record with an existing key updates (upserts) the current value for that key.
Question 49: What is the Kafka 'high-water mark' (HWM)?
- The maximum bytes a broker stores before truncating
- The highest offset that has been replicated to all in-sync replicas and is safe to expose to consumers (Correct answer)
- The last committed consumer group offset
- The maximum lag threshold before alerting
Correct answer: The highest offset that has been replicated to all in-sync replicas and is safe to expose to consumers
The high-water mark is the offset up to which all ISR replicas have acknowledged data; consumers can only read up to this offset to ensure consistency.
Question 50: What is the purpose of the replication factor in a Kafka topic?
- It determines compression type
- It sets the maximum message size
- It defines how many copies of each partition exist across brokers for fault tolerance (Correct answer)
- It controls the number of partitions
Correct answer: It defines how many copies of each partition exist across brokers for fault tolerance
The replication factor specifies how many broker copies exist for each partition, ensuring data durability if a broker fails.
Question 51: What is a 'tumbling window' in Kafka Streams?
- A sliding window that moves forward by a fixed step
- A session window defined by inactivity gaps
- An unbounded window that aggregates all records
- A fixed-size, non-overlapping time window where each record belongs to exactly one window (Correct answer)
Correct answer: A fixed-size, non-overlapping time window where each record belongs to exactly one window
Tumbling windows partition time into equal-sized, non-overlapping buckets so each event falls into exactly one window.
Question 52: Which CLI tool is used to manage Kafka ACLs?
- kafka-configs.sh
- kafka-topics.sh
- kafka-acls.sh (Correct answer)
- kafka-security-manager.sh
Correct answer: kafka-acls.sh
kafka-acls.sh is the built-in tool for adding, listing, and removing ACL entries in a Kafka cluster.
Question 53: What configuration property controls the maximum number of tasks a Kafka Connect connector can use?
- connector.tasks
- tasks.max (Correct answer)
- max.tasks
- parallelism
Correct answer: tasks.max
tasks.max sets the upper bound on the number of tasks the connector framework will create; the connector may create fewer based on available parallelism.
Question 54: What does the 'unclean.leader.election.enable' setting control?
- Compaction behavior during leader change
- Whether followers can read directly
- Whether leader elections are logged
- Whether an out-of-sync replica can be elected leader, risking data loss (Correct answer)
Correct answer: Whether an out-of-sync replica can be elected leader, risking data loss
When set to true, unclean.leader.election.enable allows a replica not in the ISR to become leader, potentially losing messages that were not yet replicated.
Question 55: Why does Kafka store messages on disk sequentially?
- Sequential storage enables built-in encryption
- Sequential disk writes are extremely fast and leverage OS prefetching, making them comparable to in-memory speeds (Correct answer)
- It avoids the need for a file index
- Disk is cheaper than RAM
Correct answer: Sequential disk writes are extremely fast and leverage OS prefetching, making them comparable to in-memory speeds
Sequential I/O on modern hardware is orders of magnitude faster than random I/O; Kafka's append-only log design exploits this along with OS read-ahead prefetching.
Question 56: What type of library is Kafka Streams?
- A client-side Java library for stream processing, requiring no separate cluster (Correct answer)
- A separate server component bundled with Kafka
- A REST API layer on top of Kafka
- A distributed processing engine like Apache Flink
Correct answer: A client-side Java library for stream processing, requiring no separate cluster
Kafka Streams is a lightweight Java library embedded in your application — it uses Kafka topics as input/output and needs no additional infrastructure.
Question 57: What does `isolation.level=read_committed` do for a Kafka consumer?
- Enables exactly-once offset storage
- Causes the consumer to skip transactional messages that have not yet been committed, avoiding dirty reads (Correct answer)
- Forces synchronous offset commits
- Prevents the consumer from reading compacted topics
Correct answer: Causes the consumer to skip transactional messages that have not yet been committed, avoiding dirty reads
read_committed isolation level ensures consumers only see messages from committed transactions, hiding in-flight or aborted transactional records.
Question 58: Which configuration key in a JDBC source connector controls how frequently new rows are polled from the database?
- db.timezone
- batch.max.rows
- query.suffix
- poll.interval.ms (Correct answer)
Correct answer: poll.interval.ms
poll.interval.ms determines the frequency (in milliseconds) at which the JDBC source connector queries the database for new or updated rows.
Question 59: In Kafka, what is referred to as a broker?
- Server (Correct answer)
- Subscriber
- Message
- Zookeeper
Correct answer: Server
Explanation: <br> A Kafka server functions similarly to this messaging system. The Kafka server, on the other hand, is utilized as a message broker. A producer and a consumer are the two basic abstractions of a Kafka server. Content is created by producers and then published to the Kafka server. This content is consumed from the Kafka server by a consumer. In this example, each producer can generate and submit messages to a Kafka server. These messages can then be consumed straight from the Kafka server by a consumer. In this way, Kafka serves as a go-between for the two.
Question 60: Which of the following accurately describes a 'sticky partitioner' for producers?
- It sends all batched messages to the same partition until the batch is full or linger.ms expires (Correct answer)
- It always routes by message key hash
- It round-robins by broker ID
- It assigns partitions based on consumer group membership
Correct answer: It sends all batched messages to the same partition until the batch is full or linger.ms expires
The sticky partitioner batches records to a single partition until the batch is full or linger.ms fires, then switches, reducing the number of small batches.
Confluent Certified Developer for Apache Kafka (CCDAK)
The CCDAK certifies proficiency in building, deploying, and managing Apache Kafka applications, covering core Kafka fundamentals, producers/consumers, Kafka Streams, Kafka Connect, and application observability.
Exam Rules
- You can skip questions and return to them later
- Flag questions for review before submitting
- No feedback shown until you submit the entire exam
- Unanswered questions count as wrong — answer everything
- 10 pretest questions are mixed in and don't affect your score
- Timer auto-submits when time runs out
- Your progress is auto-saved every 30 seconds
These practice questions were written with AI tools. They are not real exam questions. Exam facts are checked against the official sources listed below. Not reviewed by a subject-matter expert. Editorial policy
Sources & references
Exam facts on this page (fees, format, dates, passing scores) are checked against these official sources; the date is our last check. Editorial policy
- assets.confluent.io — Exam information · verified Oct 2026
- confluent.io — Test delivery, eligibility, exam format, registration deadline, renewal, retake policy, score release, score validity · verified Oct 2026
- training.confluent.io — Fees, time limit · verified Oct 2026