2026 Realistic Verified CCDAK exam dumps Q&As - CCDAK Free Update
Use Real CCDAK Dumps - 100% Free CCDAK Exam Dumps
Confluent CCDAK (Confluent Certified Developer for Apache Kafka) certification exam is designed for professionals who want to demonstrate their expertise in Apache Kafka. Confluent Certified Developer for Apache Kafka Certification Examination certification is globally recognized and validates one's ability to develop applications that can effectively utilize Kafka's capabilities.
NEW QUESTION # 26
How will you find out all the partitions where one or more of the replicas for the partition are not in-sync with the leader?
- A. kafka-topics.sh --broker-list localhost:9092 --describe --under-replicated-partitions
- B. kafka-topics.sh --zookeeper localhost:2181 --describe --unavailable- partitions
- C. kafka-topics.sh --bootstrap-server localhost:9092 --describe --unavailable- partitions
- D. kafka-topics.sh --zookeeper localhost:2181 --describe --under-replicated-partitions
Answer: D
NEW QUESTION # 27
Where are KSQL-related data and metadata stored?
- A. Kafka Topics
- B. PostgreSQL database
- C. Zookeeper
- D. Schema Registry
Answer: A
Explanation:
metadata is stored in and built from the KSQL command topic. Each KSQL server has its own in-memory version of the metastore.
NEW QUESTION # 28
You create a topic named loT-Data with 10 partitions and replication factor of three.
A producer sends 1 MB messages compressed with Gzip.
Which two statements are true in this scenario?
(Select two.)
- A. All compressed messages will be stored in the same topic partition.
- B. Compression type will be stored in batch attributes.
- C. The message is already compressed so it will not be serialized.
- D. By default, compression is the producer's responsibility.
Answer: B,D
Explanation:
A: Kafka batches store compression metadata in their headers, indicating how the batch was compressed.
B: Compression is controlled via the producer config compression.type, which defaults to none. Producers explicitly set Gzip or other formats.
From Kafka Producer Docs:
"Compression is done by the producer, and the type is stored in the message batch metadata. The broker does not recompress." C is false: messages are serialized before compression.
D is false: messages without keys are distributed across multiple partitions.
Reference: Kafka Producer Configs > compression.type
NEW QUESTION # 29
Compaction is enabled for a topic in Kafka by setting log.cleanup.policy=compact. What is true about log compaction?
- A. After cleanup, only one message per key is retained with the latest value
- B. Each message stored in the topic is compressed
- C. After cleanup, only one message per key is retained with the first value
- D. Kafka automatically de-duplicates incoming messages based on key hashes
Answer: A
Explanation:
Compaction changes the offset of messages
Explanation:
Log compaction retains at least the last known value for each record key for a single topic partition. All compacted log offsets remain valid, even if record at offset has been compacted away as a consumer will get the next highest offset.
NEW QUESTION # 30
ksqIDB Lambda functions must be used inside what type of designated functions?
- A. Stafcc
- B. Deployment
- C. Invocation
- D. Application
Answer: A
NEW QUESTION # 31
You need to collect logs from a host and write them to a Kafka topic named 'logs-topic'. You decide to use Kafka Connect File Source connector for this task.
What is the preferred deployment mode for this connector?
- A. Parallel mode
- B. Standalone mode
- C. Distributed mode
- D. SingleCluster mode
Answer: B
Explanation:
Kafka Connect can run instandalone modeordistributed mode. For simple tasks likereading logs from a file on a single host,standalone modeis recommended.
FromKafka Connect User Guide:
"Standalone mode is useful when running connectors on a single machine (e.g., for development or simple deployments like log collection from a local file)." Distributed mode is preferred for scalability and fault tolerance but overkill for this use case.
Reference:Kafka Connect User Guide > Deployment Modes
NEW QUESTION # 32
Match the testing tool with the type of test it is typically used to perform.
Answer:
Explanation:
Explanation:
Unit Testing # MockProducer
Integration Testing # Testcontainers
Performance Testing # Trogdor
Mock Data Generation # Connect Datagen
MockProducer: Simulates a Kafka producer in unit tests (no real broker interaction).
Testcontainers: Spawns Kafka in Docker for real environment testing.
Trogdor: Kafka's built-in performance load testing framework.
Connect Datagen: Creates sample source records for test and demo purposes.
From Kafka Developer Tools Guide:
"Kafka developers commonly use MockProducer for unit tests, Testcontainers for integration, and Trogdor for performance tests." Reference: Kafka Testing and Tools Overview
NEW QUESTION # 33
You need to consume messages from Kafka using the command-line interface (CLI).
Which command should you use?
- A. kafka-console-consumer
- B. kafka-consume
- C. kafka-consumer
- D. kafka-get-messages
Answer: A
Explanation:
The official CLI utility for consuming messages from Kafka topics is kafka-console-consumer.sh. It connects to the broker, consumes messages, and prints them to standard output.
FromKafka CLI Tools Documentation:
"kafka-console-consumer.sh is used to read data from a Kafka topic and write it to standard output." The other options are not valid Kafka CLI tools.
Reference:Apache Kafka Documentation > kafka-console-consumer.sh
NEW QUESTION # 34
Which two statements are correct when assigning partitions to the consumers in a consumer group using the assign() API?
(Select two.)
- A. All topics must have the same number of partitions to use assign() API.
- B. The consumer chooses which partition to read without any assignment from brokers.
- C. It is mandatory to subscribe to a topic before calling assign() to assign partitions.
- D. The consumer group will not be rebalanced if a consumer leaves the group.
Answer: B,D
Explanation:
Using assign() givesmanual controlover partition assignment. In this mode:
* B is true: The applicationchooses partitionsdirectly without involving the group coordinator.
* C is true: Since no group coordination occurs,no rebalancinghappens if a consumer dies.
FromKafka Consumer API Docs:
"assign() manually assigns a list of partitions to this consumer. No coordination takes place and no rebalancing is triggered."
* A is false: subscribe() and assign() aremutually exclusive.
* D is incorrect: Partitions don't need to be equal across topics.
Reference:Kafka Consumer Java API > assign() and subscribe()
NEW QUESTION # 35
What is encoding and decoding of a message also known as?
- A. Aggregation and deaggregation
- B. Serialization and deserialization
- C. Publish and subscribe
- D. Scalability and fault tolerance
Answer: B
NEW QUESTION # 36
In Avro, removing or adding a field that has a default is a __ schema evolution
- A. full
- B. breaking
- C. forward
- D. backward
Answer: A
Explanation:
Clients with new schema will be able to read records saved with old schema and clients with old schema will be able to read records saved with new schema.
NEW QUESTION # 37
Which of the following is true regarding thread safety in the Java Kafka Clients?
- A. One Producer can be safely used in multiple threads
- B. One Consumer needs to run in one thread
- C. One Producer needs to be run in one thread
- D. One Consumer can be safely used in multiple threads
Answer: A,B
Explanation:
KafkaConsumer is not thread-safe, KafkaProducer is thread safe.
NEW QUESTION # 38
In Avro, adding a field to a record without default is a __ schema evolution
- A. forward
- B. full
- C. breaking
- D. backward
Answer: A
Explanation:
Clients with old schema will be able to read records saved with new schema.
NEW QUESTION # 39
Which partition assignment minimizes partition movements between two assignments?
- A. PartitionAssignor
- B. RoundRobinAssignor
- C. RangeAssignor
- D. StickyAssignor
Answer: D
Explanation:
TheStickyAssignortries to minimize partition movement bypreserving existing assignmentsas much as possible while still achieving a balanced assignment. This improvesconsumer stabilityand reduces rebalances.
From theKafka Consumer Assignor Documentation:
"The StickyAssignor attempts topreserve as many existing assignments as possible, which helps minimize partition movement between rebalances."
* RoundRobinAssignor focuses on even distribution, not stability.
* RangeAssignor groups partitions by topic and assigns them consecutively, but can lead to imbalances.
* PartitionAssignor is an abstract base class, not an assignor used directly.
Reference:Kafka Consumer Assignor Docs
NEW QUESTION # 40
Match each configuration parameter with the correct option.
To answer choose a match for each option from the drop-down. Partial
credit is given for each correct answer.
Answer:
Explanation:
Explanation:
Correct Matches
* path.format#Only valid for some Source Connectors
* value.converter#Valid for all Source Connectors
* input.path#Only valid for some Source Connectors
* errors.retry.timeout#Valid for all Source Connectors
* tasks.max#Valid for all Source Connectors
* path.formatThis is a connector-specific configuration, commonly used by file-based or storage-based source connectors (for example, HDFS, S3, or FilePulse connectors). It isnot part of the Kafka Connect framework itself, so it is only valid for some source connectors.
* value.converterThis is aworker-level configurationthat defines how record values are converted (JSON, Avro, Protobuf, etc.). It applies toall connectorsrunning on the worker unless overridden at the connector level.
* input.pathThis configuration is specific to file-based source connectors (e.g., FileStreamSourceConnector). It isnot universally supported, so it is only valid for some source connectors.
* errors.retry.timeoutThis is part of Kafka Connect'serror handling framework, introduced to support retries and tolerance of transient errors. It is ageneric Connect configurationand valid for all connectors.
* tasks.maxThis is amandatory, generic connector configurationthat controls the maximum number of tasks a connector may create. It is valid forall source (and sink) connectors.
NEW QUESTION # 41
Which item is not a valid ksqlDB data type?
- A. TIMESTAMP
- B. LONG
- C. VARCHAR
- D. BYTES
Answer: D
NEW QUESTION # 42
Which SMTs is used to change the data type?
- A. org.apache.kafka.connect.transforms.Cast
- B. org.apache.kafka.connect.transforms.TimestampRouter
- C. io.confluent.connect.transforms.TombstoneHandler
- D. org.apache.kafka.connect.transforms.Flatten
Answer: A
NEW QUESTION # 43
In Kafka Streams, by what value are internal topics prefixed by?
- A. group.id
- B. tasks-<number>
- C. kafka-streams-
- D. application.id
Answer: D
Explanation:
In Kafka Streams, the application.id is also the underlying group.id for your consumers, and the prefix for all internal topics (repartition and state)
NEW QUESTION # 44
Which two statements about Kafka Connect Single Message Transforms (SMTs) are correct?
(Select two.)
- A. SMT functionality is included within Kafka Connect converters.
- B. Masking data is a good example of an SMT.
- C. Multiple SMTs can be chained together and act on source or sink messages.
- D. SMTs are often used to join multiple records from a source data system into a single Kafka record.
Answer: B,C
Explanation:
SMTs (Single Message Transforms) arelightweight transformationsapplied to individual messages as they pass through Kafka Connect.
* Chaining SMTs: You can applymultiple SMTsin sequence by defining them in order in the connector config.
* Masking or modifying fieldsis acommon use case(e.g., redacting sensitive data).
FromKafka Connect Documentation:
"Single Message Transforms (SMTs) are applied to individual messages. You can chain multiple SMTs together."
* SMTsdo not perform joins(B is incorrect).
* Converters and SMTs areseparate concerns(D is incorrect).
Reference:Kafka Connect Transformations Guide
NEW QUESTION # 45
A Zookeeper ensemble contains 3 servers. Over which ports the members of the ensemble should be able to communicate in default configuration? (select three)
- A. 0
- B. 1
- C. 2
- D. 3
- E. 4
- F. 5
Answer: B,E,F
Explanation:
2181 - client port, 2888 - peer port, 3888 - leader port
NEW QUESTION # 46
You use Kafka Connect with the JDBC source connector to extract data from a large database and push it into Kafka.
The database contains tens of tables, and the current connector is unable to process the data fast enough.
You add more Kafka Connect workers, but throughput doesn't improve.
What should you do next?
- A. Increase the value of the connector's property tasks.max.
- B. Modify the database schemas to enable horizontal sharding.
- C. Add more Kafka brokers to the cluster.
- D. Increase the number of Kafka partitions for the topics.
Answer: A
Explanation:
Increasing tasks.max allows the connector to create multiple tasks, each responsible for processing different tables or table partitions. If only one task is used, adding more workers has no effect.
From Kafka Connect JDBC Connector Docs:
"Use tasks.max to configure how many tasks are created for the connector. Each task can process a subset of the data." A and C help only if the bottleneck is in Kafka, not Connect.
D is a large architectural change, not the first step.
Reference: Kafka Connect JDBC Connector Configuration
NEW QUESTION # 47
Your application is consuming from a topic configured with a deserializer.
It needs to be resilient to badly formatted records ("poison pills"). You surround the poll() call with a try/catch for RecordDeserializationException.
You need to log the bad record, skip it, and continue processing.
Which action should you take in the catch block?
- A. Log the bad record and call the consumer.skip() method.
- B. Log the bad record, no other action needed.
- C. Log the bad record and seek the consumer to the offset of the next record.
- D. Throw a runtime exception to trigger a restart of the application.
Answer: C
Explanation:
To skip a corrupted record and avoid failing the application, you mustseek past the failed offsetmanually using consumer.seek(). This allows the application to resume consumption from the next offset.
FromKafka Consumer Error Handling Docs:
"On deserialization failure, you can catch RecordDeserializationException, log the error, and call seek() to the next offset to skip the bad record."
* A does not prevent re-processing the bad record.
* C is invalid; there'sno skip() methodin the Kafka consumer API.
* D results in service interruption - not ideal for resiliency.
Reference:Kafka Consumer API - Exception Handling and seek()
NEW QUESTION # 48
You are working on a Kafka cluster with three nodes. You create a topic named orders with:
replication.factor = 3
min.insync.replicas = 2
acks = allWhat exception will be generated if two brokers are down due to network delay?
- A. NotEnoughReplicasException
- B. NotCoordinatorException
- C. NetworkException
- D. NotLeaderForPartitionException
Answer: A
Explanation:
With acks=all and min.insync.replicas=2, Kafka requires at least two in-sync replicas to acknowledge a write.
If only one broker is alive, the condition fails, and NotEnoughReplicasException is thrown by the producer.
From Kafka Producer Exception Docs:
"NotEnoughReplicasException is thrown when the number of in-sync replicas is insufficient to satisfy acks=all with min.insync.replicas." NetworkException is generic and not raised here.
NotCoordinatorException is related to consumer group coordination.
NotLeaderForPartitionException is unrelated unless accessing an unassigned leader.
Reference: Kafka Producer Error Handling
NEW QUESTION # 49
(You are writing to a Kafka topic with producer configuration acks=all.
The producer receives acknowledgements from the broker but still creates duplicate messages due to network timeouts and retries.
You need to ensure that duplicate messages are not created.
Which producer configuration should you set?)
- A. retries=2147483647max.in.flight.requests.per.connection=5enable.idempotence=false
- B. retries=2147483647max.in.flight.requests.per.connection=1enable.idempotence=true
- C. retries=0max.in.flight.requests.per.connection=5enable.idempotence=true
- D. enable.auto.commit=true
Answer: B
Explanation:
The official Apache Kafka producer documentation states that setting enable.idempotence=true guarantees that messages are written to a partition exactly once, even in the presence of retries caused by network failures or broker timeouts. This feature prevents duplicate records by assigning producer sequence numbers and validating them on the broker side.
For idempotent producers to work correctly, retries must be enabled, which is why Kafka recommends a very large value such as retries=2147483647. Additionally, limiting max.in.flight.requests.per.connection to 1 ensures strict ordering during retries, preventing message reordering in older Kafka versions and providing the safest configuration.
Option A is irrelevant to producers. Option B explicitly disables idempotence, which causes duplicates.
Option D disables retries, which increases the risk of message loss.
Therefore, the correct and fully documented solution to eliminate duplicate messages is enabling idempotence with retries and a safe in-flight request limit, as shown in Option C.
NEW QUESTION # 50
Clients that connect to a Kafka cluster are required to specify one or more brokers in the bootstrap.
servers parameter.
What is the primary advantage of specifying more than one broker?
- A. It is the mechanism to distribute a topic's partitions across multiple brokers.
- B. It forces clients to enumerate every single broker in the cluster.
- C. It provides redundancy in making the initial connection to the Kafka cluster.
- D. It provides the ability to wake up dormant brokers.
Answer: C
Explanation:
The bootstrap.servers setting is used by clients (producers and consumers) toinitially connectto the Kafka cluster. It does not need to list all brokers-just a few that are up and reachable. The client will then use the cluster metadata to discover the full broker list.
FromKafka Java Client Configuration Docs:
"This is a list of host/port pairs to use for establishing the initial connection to the Kafka cluster. The client will make use of all servers irrespective of which servers are specified here for bootstrapping." Hence,listing multiple brokers provides redundancyand fault tolerance in the event one is down during client startup.
Reference:Apache Kafka Java Client Configuration > bootstrap.servers
NEW QUESTION # 51
......
Pass CCDAK exam Updated 92 Questions: https://www.dumpsfree.com/CCDAK-valid-exam.html
CCDAK Exam Dumps, Test Engine Practice Test Questions: https://drive.google.com/open?id=1FkW8wAlq4lsOVZGURMmBdTKfdxLIhxZ9