← LinkedIn Interview Insights

LinkedIn·Software Engineer·Onsite - System Design / Architecture·Senior

SeniorPrefer not to say
Jul 2026

Summary

LinkedIn system design round focused entirely on building an exception monitoring platform, think Sentry but internal. The question had a lot of moving parts and I definitely didn't cover everything as cleanly as I wanted to.

Questions Asked (1)

Q1

Design an exception and error monitoring system that collects exceptions from many services, aggregates them by signature, and shows the top-K most frequent exceptions to on-call engineers in real time.

System DesignAlgorithms & Data StructuresData Modeling
Author's notes

I started with the ingestion layer since that felt most concrete.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements (scale, latency, accuracy) and then design a pipeline: ingestion, processing/aggregation, storage, and real-time serving. Focus on how to compute top-K frequent exceptions efficiently using approximate algorithms and how to update results in real-time.

Pro tip: Mention that exception signatures should be normalized (e.g., stripping variable data like IDs, timestamps) to group similar exceptions, and discuss the trade-off between exact and approximate counting for scalability.

1. Clarify Requirements

Ask about scale (events per second, number of services), latency requirements (real-time vs near-real-time), and what defines an exception signature. Also clarify if top-K is global or per-service.

2. High-Level Architecture

Propose a pipeline: services send exceptions to a message queue (e.g., Kafka), a stream processor (e.g., Flink, Spark Streaming) aggregates by signature, and results are stored in a fast database (e.g., Redis) for serving to a dashboard.

3. Signature Generation and Aggregation

Design a normalization function to create a stable signature (e.g., exception type + normalized stack trace). Use a streaming aggregation to count occurrences per signature over a sliding window.

4. Top-K Computation

For scalability, use approximate algorithms like Count-Min Sketch with a heap to maintain top-K, or use a distributed approach where each node computes local top-K and merges. Discuss trade-offs between exact and approximate.

5. Real-Time Serving and Updates

Store the top-K results in a low-latency store (e.g., Redis sorted sets) and push updates to on-call engineers via WebSockets or a dashboard that polls periodically. Ensure the system can handle high write throughput.

Key Points to Mention

  • Exception signature normalization (e.g., removing variable parts like IDs, timestamps, memory addresses)
  • Use of approximate counting algorithms (Count-Min Sketch, Space-Saving) for scalability
  • Sliding window vs tumbling window for real-time aggregation
  • Distributed processing with local top-K and merge (e.g., using a tree aggregation)
  • Low-latency storage and serving (Redis, in-memory databases)
  • Handling backpressure and ensuring fault tolerance in the ingestion pipeline

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.