Screening
Given a massive volume of URL access logs and limited memory, find the global Top K URLs and the Top K most frequently accessed URLs over the past 24 hours.
- The main focus was system-design thinking, trade-offs, and pseudocode implementation.
Round 2
Given an event stream in the format (userId, eventType, timestamp), find the Top 100 users with the most events during the past hour.
- This required an HLD design and an in-depth discussion of batch versus streaming processing, Flink versus Spark Streaming, how to handle a sliding time window, scalability, data volume, and other challenges.
- After the architecture discussion, I needed to write the main method as an LLD implementation.
Round 3
Find the maximum sum of any contiguous subarray whose length is no greater than K.
Round 4 - Hiring Manager
Design and implement a log collection system that ingests logs from microservices and returns the Top K microservices with the most error logs during the past five minutes.
- The round began with an HLD discussion covering nonfunctional requirements such as scalability, availability, fault tolerance, and how to handle a massive volume of logs.
- I then needed to write the method that implemented the core functionality.
Round 5 - Behavioral
Behavioral and situational questions based on my background.
- The interviewers asked detailed follow-up questions about technical aspects of my previous projects and work experience.
Discussion
Loading comments…