Level: Senior-Level
Round: Onsite · Type: Multiple Types · Difficulty: 3/10 · Duration: 165 min · Interviewer: Unfriendly
Topics: System Design, Behavioral, Data Science, Machine Learning, Algorithms
Location: Los Angeles, CA, US
Interview date: 2026-01-15
I was asked to build a service that selects a movie or show title to display on a user's homepage billboard. Each title has a score representing its relevance to the user. The service should return titles in descending order of score, but with a rotation rule to avoid showing the same title repeatedly.
APIs to support:
upsertTitleScore(title_id: str, score: float): Adds a new title or updates the score of an existing title.getTopTitle() -> str: Returns the title that should currently be displayed on the homepage.Requirements:
upsertTitleScore may be called multiple times with the same title_id, and the score needs to be updated correctly.This round involved a discussion with a data scientist, covering both technical and behavioral aspects. The focus was on how I would handle customer requests and understand customer pain points. Examples included:
The interviewer seemed to be looking for open-ended suggestions and an understanding of the challenges faced in modeling. I made sure to acknowledge the imperfections in practice and anticipate challenges to my suggestions.
I had to design a system to allocate computing resources (CPU, GPU, and multiple clusters) for machine learning jobs. The system should run user-submitted jobs and efficiently utilize the available computing resources.