Design a Ten-Minute In-Memory Notification Deduplication Engine
Last updated: August 15, 2026
Quick Overview
Design a high-throughput in-memory deduplication engine that filters out duplicate notifications received within a ten-minute window based on their unique notification IDs.
Goldman Sachs
August 15, 20260
0
6 solved
Design a high-throughput in-memory deduplication engine that filters out duplicate notifications received within a ten-minute window based on their unique notification IDs.
This question is typically asked in the onsite interview round for software engineering roles at Goldman Sachs to assess a candidate's ability to design scalable systems. The interviewer evaluates the candidate's understanding of system constraints, efficiency in handling high-volume data, and ability to manage memory usage effectively while ensuring that the system meets performance requirements.
What the Interviewer Expects
- Clearly define the deduplication requirements and constraints.
- Propose a high-level architecture that outlines the components involved.
- Discuss data structures and algorithms suitable for efficient deduplication.
- Address potential trade-offs regarding memory usage and performance.
- Consider edge cases and how the system will handle them.
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 a sudden spike in notification volume?
- What would you change if the deduplication window was increased to 30 minutes?
- How would you ensure data consistency in a distributed system?
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
The deduplication engine must filter out duplicate notifications based on their notification_id within a 10-minute window. It needs to handle approximately 10,000 notifications per second and operat...
High-Level Design
The architecture consists of the following components:
- Input Queue: Receives incoming notifications.
- Deduplication Module: Checks for duplicates against a time-based sliding window.
- *...