Loading…
While this loads — quick one
Every subscriber must get each event. A queue, or pub/sub?
Loading…
While this loads — quick one
Every subscriber must get each event. A queue, or pub/sub?
Loading the question…
While this loads — quick one
Every subscriber must get each event. A queue, or pub/sub?
System design interview question
Order updates, login codes, reminders, sale announcements: almost every product sends notifications, and “design a notification system” asks you to build the one shared service every team calls. It tests how you absorb bursts, retry against outside providers that fail, and never send the same thing twice. Here is how to walk into it, and then how to practise it until the answer is yours.
Practise Notification System
Free with an account.
A company wants one internal service that every product team calls to notify customers — order updates, security alerts, reminders — by phone push, email or text message, depending on each customer's preferences. Teams fire requests in bursts of hundreds of thousands, for example when a sale starts, and the calling team must get an answer immediately rather than waiting for delivery. The outside email and text providers are slow and sometimes fail, so a failed send must be retried later without being lost, and nobody should ever receive the same notification twice. Preferences, such as a customer who has turned email off, change rarely but are checked on every send.
Every phrase that matters in the brief is a requirement in disguise. Spot them before you draw a single box.
“must get an answer immediately rather than waiting for delivery”
Accept the request, put it in line, and answer before anything is delivered.
“in bursts of hundreds of thousands”
A buffer that absorbs the burst and workers that drain it at a steady pace.
“a failed send must be retried later without being lost”
A line that keeps each send until it is confirmed, and gives failures back.
“nobody should ever receive the same notification twice”
A record of what was sent, checked before every send.
“change rarely but are checked on every send”
The same design always gets the same score, with the reason behind every requirement — then defend it against the trade-offs above.
Preferences held in memory in front of their durable records.
“by phone push, email or text message”
Outside providers for each channel.
The answers are not on this page on purpose. Build the design, and these are asked — and marked — once it is submitted.
© 2026 PlayCloudLabs. All rights reserved. Not affiliated with Amazon Web Services.