Bird
Raised Fist0
Kafkadevops~20 mins

Message broker architecture in Kafka - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Kafka Message Broker Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this Kafka consumer code snippet?

Consider a Kafka consumer configured to read from a topic with 3 partitions. The consumer group has 2 consumers. What will be the number of partitions assigned to each consumer?

Kafka
from kafka import KafkaConsumer

consumer = KafkaConsumer(
    'my_topic',
    group_id='my_group',
    bootstrap_servers=['localhost:9092']
)

consumer.poll(timeout_ms=1000)

partitions = consumer.assignment()
print(len(partitions))
A1
B3
C2
D0
Attempts:
2 left
💡 Hint

Partitions are distributed among consumers in a group as evenly as possible.

🧠 Conceptual
intermediate
1:30remaining
What is the role of a Kafka broker in message broker architecture?

Choose the best description of what a Kafka broker does in the message broker architecture.

AIt stores and manages messages in topics and handles client requests.
BIt produces messages to topics on behalf of producers.
CIt consumes messages from topics and processes them.
DIt acts as a load balancer for network traffic.
Attempts:
2 left
💡 Hint

Think about where messages are stored and how clients interact with Kafka.

🔧 Debug
advanced
2:30remaining
Why does this Kafka producer code raise a serialization error?

Examine the Kafka producer code below. It raises a serialization error when sending a message. What is the cause?

Kafka
from kafka import KafkaProducer

producer = KafkaProducer(bootstrap_servers='localhost:9092')

message = {'key': 'value'}
producer.send('my_topic', message)
producer.flush()
AThe bootstrap_servers parameter is incorrectly formatted.
BThe topic 'my_topic' does not exist on the broker.
CThe producer is missing the group_id parameter.
DThe message must be bytes, but a dict was sent without serialization.
Attempts:
2 left
💡 Hint

Kafka producers require messages in a specific format before sending.

📝 Syntax
advanced
1:30remaining
Which Kafka consumer code snippet correctly commits offsets automatically?

Identify the code snippet that enables automatic offset commits in a Kafka consumer.

Aconsumer = KafkaConsumer('topic', group_id='group', bootstrap_servers='localhost:9092', enable_auto_commit=True)
Bconsumer = KafkaConsumer('topic', group_id='group', bootstrap_servers='localhost:9092', auto_commit=True)
Cconsumer = KafkaConsumer('topic', group_id='group', bootstrap_servers='localhost:9092', commit_auto=True)
Dconsumer = KafkaConsumer('topic', group_id='group', bootstrap_servers='localhost:9092', auto_commit_offsets=True)
Attempts:
2 left
💡 Hint

Check the exact parameter name for enabling auto commit in KafkaConsumer.

🚀 Application
expert
2:00remaining
How many partitions will be in the topic after this Kafka topic creation command?

You run the following command to create a Kafka topic:

kafka-topics.sh --create --topic orders --partitions 5 --replication-factor 3 --bootstrap-server localhost:9092

How many partitions will the topic orders have?

A3
B5
C8
D15
Attempts:
2 left
💡 Hint

The --partitions flag sets the number of partitions.

Practice

(1/5)
1. What is the main role of a message broker like Kafka in an application?
easy
A. To create user interfaces for applications
B. To send messages between different parts of an application reliably
C. To run complex calculations on data
D. To store large files permanently

Solution

  1. Step 1: Understand the purpose of a message broker

    A message broker helps different parts of an app communicate by sending messages.
  2. Step 2: Identify Kafka's role

    Kafka acts as a reliable middleman to send and store messages in order.
  3. Final Answer:

    To send messages between different parts of an application reliably -> Option B
  4. Quick Check:

    Message broker = reliable message passing [OK]
Hint: Message brokers connect apps by passing messages [OK]
Common Mistakes:
  • Thinking Kafka stores files permanently
  • Confusing message brokers with UI tools
  • Assuming Kafka does data calculations
2. Which of the following is the correct way to describe a Kafka topic?
easy
A. A user who sends messages to Kafka
B. A tool to monitor Kafka servers
C. A place where messages are stored and organized in order
D. A database table for storing user data

Solution

  1. Step 1: Define what a Kafka topic is

    A Kafka topic is a category or feed name where messages are stored in order.
  2. Step 2: Match the correct description

    Only A place where messages are stored and organized in order correctly describes a topic as a storage place for ordered messages.
  3. Final Answer:

    A place where messages are stored and organized in order -> Option C
  4. Quick Check:

    Kafka topic = ordered message storage [OK]
Hint: Topic = ordered message storage in Kafka [OK]
Common Mistakes:
  • Confusing topic with user or tool
  • Thinking topic is a database table
  • Mixing topic with monitoring tools
3. Given this Kafka setup: Producer sends messages to topic orders. Consumer reads from orders. What will the consumer receive if the producer sends messages ["order1", "order2"] in order?
medium
A. ["order1", "order2"]
B. No messages because consumer reads from a different topic
C. ["order2", "order1"]
D. An error because messages are unordered

Solution

  1. Step 1: Understand message order in Kafka topics

    Kafka keeps messages in the order they are sent within a topic.
  2. Step 2: Trace the messages sent and received

    Producer sends ["order1", "order2"] to topic orders. Consumer reads from the same topic, so it receives messages in the same order.
  3. Final Answer:

    ["order1", "order2"] -> Option A
  4. Quick Check:

    Kafka preserves message order = ["order1", "order2"] [OK]
Hint: Kafka keeps message order per topic [OK]
Common Mistakes:
  • Assuming messages arrive reversed
  • Thinking consumer reads from different topic
  • Believing Kafka does not guarantee order
4. You wrote code where a Kafka consumer tries to read from a topic but gets no messages. What is a likely cause?
medium
A. The consumer is subscribed to the wrong topic name
B. Kafka does not support consumers
C. Messages are deleted immediately after sending
D. Producer sends messages in the wrong format

Solution

  1. Step 1: Check consumer subscription

    If the consumer subscribes to a wrong or misspelled topic, it won't receive messages.
  2. Step 2: Evaluate other options

    Kafka supports consumers, messages are not deleted immediately, and format issues usually cause errors, not empty reads.
  3. Final Answer:

    The consumer is subscribed to the wrong topic name -> Option A
  4. Quick Check:

    Wrong topic subscription = no messages [OK]
Hint: Check topic name spelling for consumer subscription [OK]
Common Mistakes:
  • Assuming Kafka lacks consumer support
  • Thinking messages vanish instantly
  • Blaming message format without error
5. You want to ensure messages sent to Kafka are not lost even if a server crashes. Which Kafka feature helps achieve this?
hard
A. Sending messages without keys
B. Using a single broker to simplify management
C. Deleting messages immediately after consumption
D. Replication of topic partitions across multiple brokers

Solution

  1. Step 1: Understand message durability in Kafka

    Kafka replicates partitions of topics across multiple brokers to avoid data loss if one fails.
  2. Step 2: Evaluate options for reliability

    Single broker risks data loss, deleting messages early loses data, and keys don't affect durability.
  3. Final Answer:

    Replication of topic partitions across multiple brokers -> Option D
  4. Quick Check:

    Replication = message safety on server crash [OK]
Hint: Use replication to keep messages safe [OK]
Common Mistakes:
  • Thinking single broker is safer
  • Deleting messages early to save space
  • Ignoring replication importance
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