Design a Sliding-Hour Top-100 User Event Pipeline

Last updated: September 5, 2026

Quick Overview

Design a system to identify the top 100 users with the highest event counts over the past hour from a stream of user events.

Oracle
System Design
Software Engineer
Oracle
September 5, 2026
Software Engineer
Onsite
System Design
Medium

0

0

8 solved


Design a system to identify the top 100 users with the highest event counts over the past hour from a stream of user events.

This question is typically asked during the onsite interview round for software engineering roles at Oracle. The interviewer is looking to evaluate the candidate's understanding of system design principles, particularly in handling real-time data processing. Candidates are expected to demonstrate their ability to design scalable solutions while considering trade-offs between different processing methods and technologies.

What the Interviewer Expects
  • Outline a high-level design (HLD) for the event processing system.
  • Discuss the choice between batch processing and streaming processing.
  • Explain the use of sliding time windows for real-time analytics.
  • Evaluate different technologies like Flink and Spark Streaming.
  • Identify potential bottlenecks and scalability issues in the design.
Key Topics to Cover
System Design
Streaming Processing
Sliding Time Window
Real-Time Analytics
Trade-offs in Design
How to Approach This
  1. Start by clarifying functional and non-functional requirements with the interviewer.
  2. Estimate the scale: QPS, storage, bandwidth. This drives your design decisions.
  3. Draw a high-level architecture first, then deep dive into 1-2 critical components.
  4. Discuss trade-offs explicitly (e.g., consistency vs availability, SQL vs NoSQL).
  5. Address failure scenarios, monitoring, and how the system handles 10x traffic spikes.
Possible Follow-up Questions
  • How would you handle data skew in your design?
  • What strategies would you use for fault tolerance?
  • Can you explain how you would test this system?
Sharpen Your Skills on Codemia

Practice similar problems with our interactive workspace, get AI feedback, and track your progress.

Practice System Design Problems
Sample Answer
Requirements

To design a system that identifies the top 100 users based on event counts over the past hour, we need to process a stream of events formatted as (userId, eventType, timestamp). The system should be a...

High-Level Design

The architecture can be divided into several components:

  1. Event Ingestion: Use a message broker like Kafka to handle incoming event streams.
  2. Stream Processing: Utilize a framework like Ap...

Submit Your Answer
Markdown supported

Related Questions