Bird
Raised Fist0
Kafkadevops~20 mins

Resource planning and capacity in Kafka - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Kafka Resource Planning Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Partition assignment output in Kafka consumer group
What is the output of the following Kafka consumer group partition assignment code snippet?
Kafka
from kafka import KafkaConsumer

consumer = KafkaConsumer(
    'topic1',
    group_id='group1',
    bootstrap_servers=['localhost:9092'],
    enable_auto_commit=False
)

partitions = consumer.partitions_for_topic('topic1')
print(sorted(partitions))
ANone
B[0, 1, 2]
Cset()
D['partition0', 'partition1', 'partition2']
Attempts:
2 left
💡 Hint
Check what partitions_for_topic returns and how to convert it to a list.
❓ Predict Output
intermediate
1:30remaining
Calculating consumer lag from offsets
Given the following code to calculate consumer lag, what is the value of `lag` after execution?
Kafka
end_offsets = {0: 150, 1: 200}
committed_offsets = {0: 140, 1: 180}
lag = sum(end_offsets[p] - committed_offsets[p] for p in end_offsets)
print(lag)
A50
BNone
C20
D30
Attempts:
2 left
💡 Hint
Calculate the difference for each partition and sum them.
🔧 Debug
advanced
1:00remaining
Identify the error in Kafka producer throughput calculation
What error will the following code raise when calculating throughput?
Kafka
messages_sent = 1000
elapsed_time = 0
throughput = messages_sent / elapsed_time
print(f'Throughput: {throughput} msgs/sec')
AZeroDivisionError
BTypeError
CNameError
DNo error, prints 'Throughput: 1000 msgs/sec'
Attempts:
2 left
💡 Hint
Check the value of elapsed_time before division.
❓ Predict Output
advanced
1:30remaining
Result of consumer assignment after rebalance
What will be the output of the following code snippet simulating consumer assignment after rebalance?
Kafka
consumer_assignment = {0: 'consumer1', 1: 'consumer2', 2: 'consumer1'}
from collections import Counter
count = Counter(consumer_assignment.values())
print(count['consumer1'])
A2
B1
C3
DKeyError
Attempts:
2 left
💡 Hint
Count how many partitions are assigned to 'consumer1'.
🧠 Conceptual
expert
2:30remaining
Maximum throughput calculation with partition and consumer limits
Given a Kafka topic with 12 partitions and 4 consumers in a group, each consumer can process 500 messages per second. What is the maximum total throughput achievable assuming perfect load balancing?
A6000 messages per second
B3000 messages per second
C2000 messages per second
D4000 messages per second
Attempts:
2 left
💡 Hint
Each consumer processes 500 msgs/sec. Total throughput is consumers * per consumer rate.

Practice

(1/5)
1. What is the main goal of resource planning in Kafka?
easy
A. To reduce the number of topics in Kafka
B. To increase the size of Kafka messages
C. To limit the number of users accessing Kafka
D. To ensure Kafka can handle the expected data load smoothly

Solution

  1. Step 1: Understand resource planning purpose

    Resource planning is about preparing Kafka to manage data efficiently without delays or failures.
  2. Step 2: Identify the main goal

    The main goal is to handle the expected data load smoothly, avoiding bottlenecks or crashes.
  3. Final Answer:

    To ensure Kafka can handle the expected data load smoothly -> Option D
  4. Quick Check:

    Resource planning = handle data load smoothly [OK]
Hint: Resource planning means handling data load well [OK]
Common Mistakes:
  • Confusing resource planning with limiting users
  • Thinking it reduces topics or message sizes
  • Ignoring the data load aspect
2. Which of the following is the correct way to increase Kafka capacity?
easy
A. Add more brokers to the Kafka cluster
B. Decrease the number of partitions per topic
C. Reduce the hardware resources of brokers
D. Limit the number of consumers

Solution

  1. Step 1: Review capacity factors in Kafka

    Capacity depends on brokers, partitions, and hardware resources.
  2. Step 2: Identify correct capacity increase method

    Adding more brokers increases cluster capacity by distributing load.
  3. Final Answer:

    Add more brokers to the Kafka cluster -> Option A
  4. Quick Check:

    More brokers = more capacity [OK]
Hint: Add brokers to increase capacity [OK]
Common Mistakes:
  • Thinking decreasing partitions increases capacity
  • Reducing hardware lowers capacity
  • Limiting consumers does not increase capacity
3. Given a Kafka cluster with 3 brokers and 6 partitions per topic, what happens if you increase partitions to 12 without adding brokers?
medium
A. The number of consumers must be reduced
B. The cluster automatically adds brokers to handle the load
C. The load per broker increases, possibly causing performance issues
D. Kafka will reject the partition increase request

Solution

  1. Step 1: Understand partition increase effect

    Increasing partitions without adding brokers means more load per broker.
  2. Step 2: Analyze cluster behavior

    Kafka does not auto-add brokers; load per broker rises, risking performance issues.
  3. Final Answer:

    The load per broker increases, possibly causing performance issues -> Option C
  4. Quick Check:

    More partitions + same brokers = more load per broker [OK]
Hint: More partitions without brokers = more load per broker [OK]
Common Mistakes:
  • Assuming Kafka auto-adds brokers
  • Thinking consumers must be reduced
  • Believing Kafka rejects partition increase
4. You have a Kafka cluster with 5 brokers but notice high CPU usage on one broker only. What is the likely cause?
medium
A. Uneven partition distribution causing load imbalance
B. All brokers have equal load by design
C. Kafka automatically balances CPU usage evenly
D. The broker hardware is faulty and cannot be fixed

Solution

  1. Step 1: Understand load distribution in Kafka

    Partitions are assigned to brokers; uneven distribution causes load imbalance.
  2. Step 2: Identify cause of high CPU on one broker

    Uneven partition assignment can overload one broker, causing high CPU usage.
  3. Final Answer:

    Uneven partition distribution causing load imbalance -> Option A
  4. Quick Check:

    Uneven partitions = uneven CPU load [OK]
Hint: Check partition distribution for load imbalance [OK]
Common Mistakes:
  • Assuming Kafka balances CPU automatically
  • Blaming hardware without checking partitions
  • Thinking all brokers always have equal load
5. You want to plan capacity for a Kafka cluster expected to handle 1 million messages per second. Which combination is best to start with?
hard
A. 5 brokers with 5 partitions each and low memory hardware
B. 10 brokers with 100 partitions each and high-performance SSD storage
C. 2 brokers with 10 partitions each and standard HDD storage
D. 1 broker with 200 partitions and no replication

Solution

  1. Step 1: Analyze message load requirements

    1 million messages per second is very high; needs many brokers and partitions.
  2. Step 2: Choose hardware and partition setup

    High-performance SSDs and many brokers with many partitions support high throughput and reliability.
  3. Final Answer:

    10 brokers with 100 partitions each and high-performance SSD storage -> Option B
  4. Quick Check:

    High load needs many brokers, partitions, and fast storage [OK]
Hint: High load needs many brokers, partitions, and SSDs [OK]
Common Mistakes:
  • Choosing too few brokers or partitions
  • Ignoring storage speed impact
  • Not planning for replication and reliability
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