Bird
Raised Fist0
HLDsystem_design~20 mins

Pub/sub pattern in HLD - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Pub/Sub Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Understanding Pub/Sub Message Flow

In a Pub/Sub system, what is the correct sequence of events when a message is published?

A1,2,3,4
B1,3,2,4
C2,1,3,4
D1,2,4,3
Attempts:
2 left
💡 Hint

Think about the natural flow from publisher to broker to consumers.

❓ Architecture
intermediate
2:00remaining
Choosing Components for a Scalable Pub/Sub System

Which component is essential to decouple publishers and subscribers in a scalable Pub/Sub architecture?

ADirect connection between publisher and subscriber
BMessage broker or event bus
CShared database for message storage
DLoad balancer between subscribers
Attempts:
2 left
💡 Hint

Consider what allows asynchronous communication without direct links.

❓ scaling
advanced
3:00remaining
Scaling a Pub/Sub System for High Throughput

You need to design a Pub/Sub system that handles millions of messages per second. Which approach best supports this scale?

ASingle centralized broker with vertical scaling
BMultiple distributed brokers with partitioned topics
CDirect peer-to-peer connections between publishers and subscribers
DStoring messages in a relational database for delivery
Attempts:
2 left
💡 Hint

Think about distributing load and avoiding bottlenecks.

❓ tradeoff
advanced
2:30remaining
Tradeoffs in Message Delivery Guarantees

Which delivery guarantee in a Pub/Sub system may cause duplicate messages but ensures no message loss?

AAt most once delivery
BAt least once delivery
CExactly once delivery
DNo delivery guarantee
Attempts:
2 left
💡 Hint

Consider which guarantee prioritizes message safety over duplicates.

❓ estimation
expert
3:00remaining
Estimating Broker Capacity for a Pub/Sub System

You expect 10,000 publishers each sending 100 messages per second, and 1,000 subscribers. Each message is 1 KB. What is the minimum network bandwidth in Mbps the broker must support to handle incoming messages?

A8 Mbps
B80 Mbps
C8,000 Mbps
D80,000 Mbps
Attempts:
2 left
💡 Hint

Calculate total messages per second and multiply by message size, then convert to Mbps.

Practice

(1/5)
1. What is the main purpose of the Pub/Sub pattern in system design?
easy
A. To decouple message senders from receivers for flexible communication
B. To tightly couple components for faster data exchange
C. To store data permanently in a database
D. To encrypt messages for security

Solution

  1. Step 1: Understand the role of Pub/Sub

    Pub/Sub pattern separates the sender (publisher) and receiver (subscriber) so they do not depend on each other directly.
  2. Step 2: Identify the main benefit

    This separation allows flexible communication and easier scaling of systems.
  3. Final Answer:

    To decouple message senders from receivers for flexible communication -> Option A
  4. Quick Check:

    Decoupling = A [OK]
Hint: Pub/Sub means senders and receivers don't know each other [OK]
Common Mistakes:
  • Thinking Pub/Sub stores data permanently
  • Confusing Pub/Sub with encryption
  • Assuming tight coupling between components
2. Which of the following is the correct component in a Pub/Sub system?
easy
A. Sender, Receiver, Firewall
B. Client, Server, Database
C. Publisher, Subscriber, Message Broker
D. Producer, Consumer, Cache

Solution

  1. Step 1: Recall Pub/Sub components

    Pub/Sub systems have publishers (senders), subscribers (receivers), and a message broker that routes messages.
  2. Step 2: Match components to options

    Only Publisher, Subscriber, Message Broker lists these three correctly.
  3. Final Answer:

    Publisher, Subscriber, Message Broker -> Option C
  4. Quick Check:

    Pub/Sub components = D [OK]
Hint: Remember the broker routes messages between publishers and subscribers [OK]
Common Mistakes:
  • Confusing Pub/Sub with client-server terms
  • Mixing cache or firewall as core components
  • Using generic terms like producer/consumer without broker
3. Consider a Pub/Sub system where a publisher sends messages to a topic. If three subscribers are subscribed to that topic, how many copies of each message does the broker send?
medium
A. One copy shared among all subscribers
B. Three copies, one for each subscriber
C. Zero copies, subscribers pull messages themselves
D. Depends on the message size

Solution

  1. Step 1: Understand message delivery in Pub/Sub

    Each subscriber receives its own copy of the message from the broker to ensure independent processing.
  2. Step 2: Calculate copies sent

    With three subscribers, the broker sends three copies, one per subscriber.
  3. Final Answer:

    Three copies, one for each subscriber -> Option B
  4. Quick Check:

    Copies = Subscribers count = B [OK]
Hint: Broker sends one message per subscriber, not shared [OK]
Common Mistakes:
  • Assuming one copy shared by all subscribers
  • Thinking subscribers pull messages without broker sending
  • Believing message size affects copy count
4. A developer implemented a Pub/Sub system but notices subscribers never receive messages. Which is the most likely cause?
medium
A. Subscribers are using the wrong database
B. Publisher is sending messages too frequently
C. Message broker is encrypting messages
D. Subscribers are not subscribed to the correct topic

Solution

  1. Step 1: Analyze why subscribers get no messages

    If subscribers never receive messages, a common cause is they are not subscribed to the topic where messages are published.
  2. Step 2: Evaluate other options

    Sending frequency or encryption does not prevent delivery; wrong database is unrelated.
  3. Final Answer:

    Subscribers are not subscribed to the correct topic -> Option D
  4. Quick Check:

    Subscription mismatch = A [OK]
Hint: Check subscriber topic matches publisher topic first [OK]
Common Mistakes:
  • Blaming message frequency for delivery failure
  • Assuming encryption blocks delivery
  • Confusing database usage with Pub/Sub messaging
5. You need to design a scalable notification system using Pub/Sub. Which approach best ensures messages are delivered even if some subscribers are temporarily offline?
hard
A. Use a message broker with persistent storage and durable subscriptions
B. Send messages directly from publisher to subscribers without broker
C. Use a broker that deletes messages immediately after sending
D. Require subscribers to poll the publisher continuously

Solution

  1. Step 1: Identify requirements for offline subscriber support

    To handle offline subscribers, messages must be stored until subscribers can receive them.
  2. Step 2: Choose the right Pub/Sub feature

    Persistent storage and durable subscriptions in the broker ensure messages are saved and delivered later.
  3. Step 3: Evaluate other options

    Direct sending or immediate deletion loses messages; polling is inefficient and not scalable.
  4. Final Answer:

    Use a message broker with persistent storage and durable subscriptions -> Option A
  5. Quick Check:

    Durable subscriptions = reliable delivery = C [OK]
Hint: Durable subscriptions keep messages for offline subscribers [OK]
Common Mistakes:
  • Skipping message persistence in broker
  • Trying direct publisher-to-subscriber without broker
  • Relying on polling instead of push delivery
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