Bird
Raised Fist0
Kafkadevops~10 mins

Confluent Cloud overview in Kafka - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a Kafka producer in Confluent Cloud.

Kafka
from confluent_kafka import Producer

conf = {'bootstrap.servers': '[1]', 'sasl.mechanism': 'PLAIN'}
producer = Producer(conf)
Drag options to blanks, or click blank then click option'
Apkc-xyz.us-west1.gcp.confluent.cloud:9092
Blocalhost:9092
C127.0.0.1:9092
Dkafka:9092
Attempts:
3 left
💡 Hint
Common Mistakes
Using localhost or 127.0.0.1 instead of the cloud endpoint.
Omitting the port number 9092.
2fill in blank
medium

Complete the code to send a message to a topic in Confluent Cloud.

Kafka
producer.produce('[1]', key='key1', value='Hello, Confluent!')
producer.flush()
Drag options to blanks, or click blank then click option'
Aconfluent_topic
Btest_topic
Cmy_topic
Dcloud_topic
Attempts:
3 left
💡 Hint
Common Mistakes
Using a topic name that does not exist in the cloud cluster.
Leaving the topic name blank.
3fill in blank
hard

Fix the error in the configuration to connect securely to Confluent Cloud.

Kafka
conf = {
  'bootstrap.servers': 'pkc-xyz.us-west1.gcp.confluent.cloud:9092',
  'security.protocol': '[1]',
  'sasl.mechanism': 'PLAIN',
  'sasl.username': 'API_KEY',
  'sasl.password': 'API_SECRET'
}
Drag options to blanks, or click blank then click option'
APLAINTEXT
BSSL
CSASL_SSL
DSASL_PLAINTEXT
Attempts:
3 left
💡 Hint
Common Mistakes
Using PLAINTEXT or SSL without SASL.
Using SASL_PLAINTEXT which is insecure and not supported.
4fill in blank
hard

Fill both blanks to create a consumer that subscribes to a topic and polls messages.

Kafka
from confluent_kafka import Consumer

conf = {
  'bootstrap.servers': 'pkc-xyz.us-west1.gcp.confluent.cloud:9092',
  'group.id': '[1]',
  'auto.offset.reset': '[2]',
  'security.protocol': 'SASL_SSL',
  'sasl.mechanism': 'PLAIN',
  'sasl.username': 'API_KEY',
  'sasl.password': 'API_SECRET'
}
consumer = Consumer(conf)
consumer.subscribe(['test_topic'])
Drag options to blanks, or click blank then click option'
Amy_group
Bearliest
Clatest
Ddefault
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'default' which is not a valid offset reset value.
Not setting a group id.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps topic names to their partition counts if partitions are more than 1.

Kafka
topics = {'topic1': 1, 'topic2': 3, 'topic3': 2}
partition_map = { [1]: [2] for [3] in topics if topics[[3]] > 1 }
Drag options to blanks, or click blank then click option'
Atopic
Btopics[topic]
Dpartitions
Attempts:
3 left
💡 Hint
Common Mistakes
Using a variable name not defined in the loop.
Mixing keys and values incorrectly.

Practice

(1/5)
1. What is the main purpose of Confluent Cloud in Kafka usage?
easy
A. It provides a managed Kafka service for easy data streaming.
B. It is a tool to write SQL queries on Kafka topics.
C. It is a database for storing Kafka messages permanently.
D. It is a programming language for Kafka applications.

Solution

  1. Step 1: Understand Confluent Cloud's role

    Confluent Cloud is described as a managed Kafka service that simplifies data streaming.
  2. Step 2: Compare options with this role

    Only It provides a managed Kafka service for easy data streaming. matches this description; others describe unrelated tools or concepts.
  3. Final Answer:

    It provides a managed Kafka service for easy data streaming. -> Option A
  4. Quick Check:

    Managed Kafka service = It provides a managed Kafka service for easy data streaming. [OK]
Hint: Remember: Confluent Cloud manages Kafka for you [OK]
Common Mistakes:
  • Confusing Confluent Cloud with a database
  • Thinking it is a programming language
  • Assuming it runs SQL queries directly
2. Which of the following is the correct way to describe a Kafka topic in Confluent Cloud?
easy
A. A topic is a user account in Confluent Cloud.
B. A topic is a programming function to send messages.
C. A topic is a type of database index.
D. A topic is a place where messages are stored and organized.

Solution

  1. Step 1: Define Kafka topic concept

    A Kafka topic is a category or feed name to which messages are published and stored.
  2. Step 2: Match definition to options

    A topic is a place where messages are stored and organized. correctly states that a topic stores and organizes messages; others are incorrect.
  3. Final Answer:

    A topic is a place where messages are stored and organized. -> Option D
  4. Quick Check:

    Topic = message storage location [OK]
Hint: Topics hold messages, not functions or users [OK]
Common Mistakes:
  • Confusing topics with user accounts
  • Thinking topics are functions or indexes
  • Mixing topics with database concepts
3. Given the following code snippet for producing a message in Confluent Cloud Kafka client:
producer.produce(topic='orders', value='order123')

What happens when this code runs successfully?
medium
A. The 'orders' topic is deleted.
B. The message 'order123' is sent to the 'orders' topic.
C. The producer client shuts down.
D. An error occurs because 'value' must be a number.

Solution

  1. Step 1: Understand produce method

    The produce method sends a message to a specified topic with the given value.
  2. Step 2: Analyze the code behavior

    Here, 'order123' is sent as a message to the 'orders' topic; no deletion or shutdown occurs.
  3. Final Answer:

    The message 'order123' is sent to the 'orders' topic. -> Option B
  4. Quick Check:

    Produce sends message to topic [OK]
Hint: Produce sends data to topic, no deletion or shutdown [OK]
Common Mistakes:
  • Thinking produce deletes topics
  • Assuming value must be numeric
  • Confusing produce with client shutdown
4. You wrote this code to consume messages from a Confluent Cloud topic:
consumer.subscribe(['payments'])
message = consumer.poll(1.0)
print(message.value())

But you get an error: 'NoneType' object has no attribute 'value'. What is the likely cause?
medium
A. The print statement syntax is incorrect.
B. The topic 'payments' does not exist.
C. No messages were available to consume during poll timeout.
D. The consumer client was not connected to Confluent Cloud.

Solution

  1. Step 1: Understand poll method behavior

    poll returns None if no messages are received within the timeout period.
  2. Step 2: Analyze error cause

    Calling value() on None causes the error; this means no messages arrived during poll.
  3. Final Answer:

    No messages were available to consume during poll timeout. -> Option C
  4. Quick Check:

    poll returns None if no messages [OK]
Hint: poll returns None if no messages, check before accessing [OK]
Common Mistakes:
  • Assuming topic absence causes this error
  • Blaming connection issues without checking poll
  • Thinking print syntax is wrong
5. You want to create a Confluent Cloud Kafka topic that automatically deletes messages after 7 days. Which configuration should you apply when creating the topic?
hard
A. Set the topic's retention.ms to 604800000 (7 days in milliseconds).
B. Set the topic's cleanup.policy to 'compact'.
C. Set the topic's max.message.bytes to 7.
D. Set the topic's partitions to 7.

Solution

  1. Step 1: Understand retention.ms setting

    retention.ms controls how long messages are kept before deletion, in milliseconds.
  2. Step 2: Calculate 7 days in milliseconds

    7 days x 24 hours x 60 minutes x 60 seconds x 1000 = 604800000 ms.
  3. Step 3: Match configuration to requirement

    Setting retention.ms to 604800000 ensures messages delete after 7 days; other options do not control retention time.
  4. Final Answer:

    Set the topic's retention.ms to 604800000 (7 days in milliseconds). -> Option A
  5. Quick Check:

    retention.ms = 7 days in ms [OK]
Hint: Use retention.ms for message lifetime in ms [OK]
Common Mistakes:
  • Confusing cleanup.policy with retention time
  • Setting max.message.bytes instead of retention
  • Changing partitions unrelated to retention
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard