← All questions
Technicalstretch
How would you design a notification system that sends millions of push alerts without spamming users?
How to approach it
Split the problem in two: the plumbing that delivers messages at scale, and the rules that decide whether a user should get a message at all.
How a strong answer opens
“I'd split this into two problems: the plumbing that delivers millions of messages reliably, and the rules that decide whether a user should get a message at all.”
Outline of a strong answer
Try answering out loud for a few minutes before you open this.
- Requirements: types of notifications, volume, time sensitivity
- Pipeline: events, a queue, workers, delivery to Apple and Google push services
- Rules layer: frequency caps, quiet hours, user preferences
- Ranking: send only the most valuable messages
- Handle failures: retries, invalid tokens
- Metrics: open rate, opt-out rate, delivery latency
Where this question usually goes wrong
Designing only the delivery pipeline and forgetting frequency caps, quiet hours and preferences, which is where spam is prevented.
Learn the method
System design for PMs in Module 6, Technical for PMs.
The full kit has worked answers in full, start to finish, for every round type. $129 once.
More technical questions
- How would you design a URL shortener, at the level a PM needs?
- How would you design the backend for a photo-sharing app's news feed?
- What's the difference between REST and GraphQL, and when would a PM care?
- Explain the difference between SQL and NoSQL databases, and when you'd pick each.
- Engineering says a feature will take six months. How do you respond?