You Can Pass This Exam For Free
Choose Your Study Path
Limited or no experience with event streaming or Apache Kafka. You need to build foundational knowledge of distributed systems and Kafka architecture before tackling advanced topics.
Exam Overview
Format
60 questions, 90 minutes. Multiple-choice and multiple-response questions including scenario-based and code analysis items.
Scoring
Pass/Fail with a 70% passing threshold. No official scaled score — you either pass or fail. No penalty for wrong answers, so always answer every question.
Domains & Weights
- Application Design40%
- Development30%
- Deployment, Testing, and Monitoring30%
Registration
$150 USD. Online proctored via Honorlock. Requires webcam, microphone, Google Chrome, and government-issued ID. Exam fee is $150 USD. Certification valid for 2 years.
Topic Priority Table
Not all topics are tested equally. Focus your study time on Tier 1 first, then Tier 2. Tier 3 topics rarely appear — just recognize what they do.
Application Design
The heaviest domain at 40% — expect roughly 24 questions covering Kafka architecture fundamentals, topic design, partitioning strategies, replication, producer and consumer configuration, Schema Registry, and exactly-once semantics. This domain tests your ability to design Kafka applications with the right trade-offs between performance, durability, and scalability.
Key Topics
Must-Know Concepts
- Kafka event structure: timestamp, key, value, headers, and how keys determine partition assignment via the default partitioner (murmur2 hash)
- Producer configuration trade-offs: acks (0, 1, all), batch.size, linger.ms, compression.type, buffer.memory, max.in.flight.requests.per.connection
- Idempotent producer: enable.idempotence=true assigns a Producer ID (PID) and sequence number per partition to deduplicate retries
- Transactional producer: requires transactional.id, enables atomic writes across multiple topics and partitions via initTransactions(), beginTransaction(), commitTransaction(), abortTransaction()
- Consumer offset management: auto-commit (enable.auto.commit, auto.commit.interval.ms) vs manual commit (commitSync, commitAsync). Offsets stored in __consumer_offsets topic
- Consumer group rebalancing strategies: Range (contiguous partitions), RoundRobin (distributed), Sticky (minimizes reassignment), CooperativeSticky (incremental, no stop-the-world)
- auto.offset.reset behavior: 'earliest' reads from beginning, 'latest' reads only new messages, 'none' throws exception if no committed offset exists
- Replication: leader and follower replicas, ISR (In-Sync Replicas), min.insync.replicas, unclean.leader.election.enable, high watermark
- Schema Registry compatibility modes: BACKWARD (delete fields, add optional), FORWARD (add fields, delete optional), FULL (both), NONE (no checks). Default is BACKWARD
- Exactly-once semantics chain: idempotent producer + transactional producer + consumer with isolation.level=read_committed
- Topic configuration: partition count (determines parallelism ceiling), replication factor (fault tolerance), retention.ms, cleanup.policy (delete or compact)
- Key-based ordering: messages with the same key always go to the same partition, guaranteeing order for that key. Changing partition count breaks this guarantee
Common Exam Traps
Development
This domain covers Kafka Streams development, Kafka Connect configuration, and ksqlDB. Expect scenario-based questions on stream processing operations, join types, windowing, Connect pipeline configuration, and data integration patterns. Code analysis questions may present Kafka Streams DSL snippets to evaluate.
Key Topics
Must-Know Concepts
- KStream vs KTable: KStream is an event stream (each record is an independent fact), KTable is a changelog (latest value per key is kept). GlobalKTable broadcasts all data to every instance
- Stateless operations: filter(), map(), mapValues(), flatMap(), flatMapValues(), branch(), merge(), peek() — these do not maintain state stores
- Stateful operations: aggregate(), reduce(), count(), join() — these use local state stores (RocksDB by default) backed by changelog topics
- Windowing types: Tumbling (fixed, non-overlapping), Hopping (fixed, overlapping), Sliding (event-triggered, time-difference based), Session (inactivity gap based)
- Join types and requirements: KStream-KStream requires window, KStream-KTable is non-windowed lookup, KTable-KTable is non-windowed changelog merge. KStream-KTable and KTable-KTable require co-partitioning. GlobalKTable joins do NOT require co-partitioning
- Co-partitioning requirement: two topics must have the same number of partitions and use the same partitioning strategy for KStream-KTable and KTable-KTable joins
- Kafka Streams parallelism: maximum parallelism equals the number of input topic partitions. Each stream task processes one partition. num.stream.threads controls threads per instance
- Kafka Connect source connectors ingest data INTO Kafka; sink connectors export data FROM Kafka. Converters serialize/deserialize (JsonConverter, AvroConverter). SMTs transform individual records
- Dead letter queues in Connect: errors.tolerance=all routes failures to DLQ topic (errors.deadletterqueue.topic.name) instead of stopping the connector
- Kafka Streams state store changelog topics: stateful operations maintain local state in RocksDB, backed by compacted changelog topics in Kafka for fault tolerance. Standby replicas enable fast failover
Common Exam Traps
Deployment, Testing, and Monitoring
This domain covers deploying Kafka applications to production, testing strategies, and monitoring. Expect questions on testing frameworks (TopologyTestDriver, EmbeddedKafka), monitoring metrics (consumer lag, throughput), security configuration (SSL, SASL, ACLs), and operational best practices for Kafka clusters.
Key Topics
Must-Know Concepts
- TopologyTestDriver: in-memory test driver for Kafka Streams topologies. Does not require a running Kafka cluster. Fast and deterministic for unit testing stream processing logic
- EmbeddedKafka: spins up an in-process Kafka broker for integration tests. Slower than TopologyTestDriver but tests real producer/consumer interactions
- Consumer lag: the difference between the latest offset in a partition and the consumer's committed offset. High lag indicates the consumer cannot keep up with the producer rate
- Key monitoring metrics: consumer lag per partition, request latency (produce/fetch), throughput (bytes/messages per second), under-replicated partitions, ISR shrink/expand rate
- Security: SSL/TLS for encryption in transit, SASL for authentication (PLAIN, SCRAM, GSSAPI/Kerberos, OAUTHBEARER), ACLs for authorization (who can read/write/create topics)
- Kafka security configuration: security.protocol (PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL), ssl.truststore.location, ssl.keystore.location, sasl.mechanism
- Application deployment considerations: num.stream.threads for Kafka Streams parallelism, state store cleanup, graceful shutdown, rolling upgrades
- Log retention: retention.ms (time-based), retention.bytes (size-based), cleanup.policy=delete (remove old segments) vs cleanup.policy=compact (keep latest per key)
- Monitoring tools: JMX metrics, Confluent Control Center, consumer group describe command (kafka-consumer-groups.sh --describe), broker metrics via JMX
- Graceful shutdown of Kafka Streams: calling close() triggers a final rebalance, commits offsets, and flushes state stores. Use shutdown hooks to ensure clean exit
Common Exam Traps
Kafka Concepts You Must Not Confuse
These pairs appear on nearly every exam. Learn the difference and you'll avoid the most common traps.
Top Mistakes to Avoid
Exam-Ready Checklist
Recommended Resources
Free & Official Resources
Paid Courses & Practice Exams
These are recommended if you prefer a structured learning path. They can save time but are not required to pass.