Design a Scalable Notification Service
Last updated: August 12, 2026
Quick Overview
Design a scalable notification service that can handle data ingestion, event processing, and filtering logic while ensuring scalability and extensibility.
Salesforce
August 12, 20261
0
9 solved
Design a scalable notification service that can handle data ingestion, event processing, and filtering logic while ensuring scalability and extensibility.
This question is typically asked during onsite interviews for software engineering positions at Salesforce to evaluate the candidate's ability to design robust and scalable systems. The interviewer is looking for a structured approach to system design that demonstrates understanding of real-world applications and the ability to handle complex requirements in a clean and efficient manner.
What the Interviewer Expects
- Identify key requirements for the notification service.
- Outline a high-level architecture including components for data ingestion, processing, and storage.
- Discuss scalability strategies and how to handle increased load.
- Provide a deep dive into event processing and filtering logic.
- Illustrate with examples or pseudo-code to demonstrate implementation.
Key Topics to Cover
How to Approach This
- Start by clarifying functional and non-functional requirements with the interviewer.
- Estimate the scale: QPS, storage, bandwidth. This drives your design decisions.
- Draw a high-level architecture first, then deep dive into 1-2 critical components.
- Discuss trade-offs explicitly (e.g., consistency vs availability, SQL vs NoSQL).
- Address failure scenarios, monitoring, and how the system handles 10x traffic spikes.
Possible Follow-up Questions
- How would you handle failures in the notification delivery process?
- What strategies would you implement to ensure data consistency?
- Can you explain how you would monitor the performance of this service?
Sharpen Your Skills on Codemia
Practice similar problems with our interactive workspace, get AI feedback, and track your progress.
Practice System Design ProblemsSample Answer
Requirements
To design a scalable notification service, we first need to identify the core requirements. The service should be able to ingest data from various clients, process events in real-time, filter notifica...
High-Level Design
The high-level architecture of the notification service can be divided into several key components:
- Data Ingestion Layer: This layer receives incoming notifications from clients. It can utiliz...