0
0
LLDsystem_design~20 mins

Notification to all parties in LLD - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Notification Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Architecture
intermediate
2:00remaining
Design a scalable notification system for multiple parties

You need to design a system that sends notifications to all parties involved in a transaction. The system must handle millions of notifications per day and ensure delivery even if some parties are temporarily offline.

Which architectural component is essential to ensure reliable delivery and scalability?

AA message queue to buffer notifications and retry delivery
BA single synchronous API call to notify all parties at once
CA direct database update without any intermediate layer
DA batch job that sends notifications once a day
Attempts:
2 left
💡 Hint

Think about how to handle temporary failures and high volume.

scaling
intermediate
2:00remaining
Estimating capacity for notification delivery

Your notification system must support 10 million users, each receiving an average of 5 notifications per day. Estimate the number of notifications your system must handle per second.

AApproximately 50 notifications per second
BApproximately 5000 notifications per second
CApproximately 600 notifications per second
DApproximately 10000 notifications per second
Attempts:
2 left
💡 Hint

Calculate total notifications per day and divide by seconds in a day.

tradeoff
advanced
2:00remaining
Choosing between push and pull notification models

For notifying all parties, you can either push notifications immediately or let parties pull notifications when they check. What is a key tradeoff of using a push model?

APush is simpler to implement than pull and requires no client changes
BPush reduces server load but increases latency for users
CPush eliminates the need for retries and guarantees delivery
DPush provides real-time updates but requires more server resources to maintain connections
Attempts:
2 left
💡 Hint

Consider resource usage and immediacy of updates.

component
advanced
2:00remaining
Identify the component responsible for handling notification retries

In a notification system, which component should handle retrying failed notification deliveries to ensure eventual consistency?

AThe message queue or broker with dead-letter queue support
BThe client application requesting notifications
CThe frontend UI displaying notifications
DThe database storing user information
Attempts:
2 left
💡 Hint

Think about where failed messages can be stored and retried automatically.

🧠 Conceptual
expert
3:00remaining
Ensuring notification ordering across multiple parties

You must guarantee that all parties receive notifications in the exact order events occurred, even under high load and failures. Which design approach best supports this requirement?

ASend notifications in parallel without ordering guarantees to improve speed
BUse partitioned message queues with ordering keys and idempotent consumers
CStore notifications in a relational database and poll clients for updates
DUse a simple broadcast without tracking delivery order
Attempts:
2 left
💡 Hint

Consider how to keep order while scaling and handling retries.