← Back to Directory

Roblox interview notes, page 4 of 15

Large Enterprises

Most of these Roblox write-ups come from Software Engineers (79), then Data Scientists (38) and Machine Learning Engineers (17). The most reported rounds are the technical phone screen (85), the system design round (39), the online assessment (6) and the behavioral / leadership round (3).

142 interview notes · updated Sep 2026

Roblox·Data Scientist·Technical Phone Screen

May 2026
Got a stats/coding question for a Data Scientist role at Roblox that was pretty much entirely about A/B test sample size math. One question, clean setup, but the edge cases are where it gets interesting.
  • Write a function that takes a baseline array of metric values, a significance level, a desired power, and a minimum detectable effect, then returns the minimum total sample size needed for a two-sample z-test with equal group sizes.

“The formula itself isn't hard once you remember it: n per group = ((z_alpha/2 + z_beta)^2 * 2 * sigma^2) / delta^2, then double it and ceil.”

View Post

Roblox·Software Engineer·Technical Phone Screen

May 2026
Roblox software engineer interview with a call stack simulation problem. Pretty algorithmic, required walking through the logic carefully and explaining complexity on the spot.
  • Given an array of log entries for a single-threaded program where each entry is either '->Name' (function entry) or '<-Name' (function exit), track the call stack after every entry event and return the stack snapshot string that appears most frequently, along with its count. For example, logs like ['->A','->B','->C','<-C','->C','<-C','<-B','<-A'] should return 'A->B->C' with a count of 2.

“My first instinct was to just simulate the stack and use a hashmap to count snapshots, which is basically the right answer.”

View Post

Roblox·Data Scientist·Technical Phone Screen

May 2026
Roblox data scientist interview with a meaty coding problem disguised as a metrics question. The problem sounded like a straightforward CTR/RPM aggregation until you actually read the constraints.
  • Write a Python function that computes per-day, per-campaign CTR and RPM from a stream of ad events, where clicks can be duplicated per request ID, impressions can arrive after clicks, and events may be out of order. You must deduplicate impressions and clicks correctly, handle bad records gracefully, and stay within O(U) memory where U is the number of active request IDs in a 24-hour window.

“This looked like a data engineering question wearing a data science costume.”

View Post

Roblox·Machine Learning Engineer·Technical Phone Screen

May 2026
Roblox ML engineer interview had at least one coding problem that looked deceptively simple but required you to think carefully about efficiency. The sliding window framing was clear enough but getting the implementation right under pressure was a different story.
  • Given a list of integers, a target value, and a fixed window size k, find the starting index of the first window of size k that contains the most occurrences of the target. Break ties by choosing the smallest starting index, and solve it in linear time.

“The O(n) constraint is what makes this non-trivial.”

View Post

Roblox·Data Scientist·Technical Phone Screen

May 2026
A data science interview at Roblox that went deep on metric selection and how you defend unconventional choices when a senior person pushes back. One question but it had a lot of layers to it.
  • Tell me about a time you picked a non-obvious primary metric and had to defend it to a skeptical senior stakeholder. How did you build your case, what tradeoffs did you own up to, what guardrails did you put in place, and what happened when early data started going against you?

“This question is doing a lot of work at once and I didn't fully appreciate that until I was already mid-answer.”

View Post

Roblox·Data Scientist·Technical Phone Screen

May 2026
SQL-heavy technical screen for a Data Scientist role at Roblox. One question, but it had real teeth: friendship deduplication across two event tables with validity constraints, plus indexing discussion for billion-row scale.
  • Given two tables, friend_requests and friend_accepts, write a single PostgreSQL query that returns unique undirected friendships with the earliest valid friendship date. A valid acceptance must have an accept_date on or after the matching request_date. Output one row per pair using LEAST/GREATEST to normalize direction, deduplicate pairs where both users sent requests to each other, and explain how you'd index these tables for a billion-row dataset.

“This looked like a join question until it wasn't.”

View Post

Roblox·Data Scientist·Onsite - Behavioral / Leadership

May 2026
Roblox data scientist interview with a single deeply layered behavioral question about ads revenue versus user experience tradeoffs. The level of specificity expected was pretty intense, covering metrics, guardrails, stakeholder alignment, experiment design, and post-launch impact all in one answer.
  • Walk me through a high-stakes decision where ads revenue goals conflicted with user experience metrics. Cover the specific metrics in tension and their baselines, the guardrails you set, how you structured the decision process, what experiment or analysis you ran and how you managed risk, the final outcome with quantified impact across two time horizons, and one mistake you'd fix next time.

“This question is basically six questions stapled together and they want all of it.”

View Post

Roblox·Data Scientist·Online Assessment (OA)

May 2026
Roblox data scientist OA, four questions covering stats, causal inference, probability, and ML. Pretty standard CodeSignal-style format but the DiD question had a wrinkle I didn't expect.
  • Given a historical sample, a significance level, desired power, and a minimum detectable effect, calculate the minimum per-group sample size needed for a two-sided two-sample z-test assuming equal group sizes.
  • Implement a Difference-in-Differences estimator from arrays of period labels, group indicators, and outcomes. Also validate the parallel trends assumption when multiple pre-periods are present, using a provided threshold.
  • Given P(A), P(B|A), and P(B|not A), compute the posterior probability P(A|B) using Bayes' rule.
  • Fit a logistic regression model where features are rows and observations are columns, then return the names of the top 3 features ranked by absolute coefficient value, with ties broken alphabetically.

“Pretty mechanical once you remember the formula: n = ((z_alpha/2 + z_beta) * sigma / delta)^2, then ceiling it.”

View Post

Roblox·Software Engineer·Onsite - System Design / Architecture

May 2026
System design round at Roblox for a software engineer role. The whole thing was one big question about building a favorites/unfavorites service at massive scale, and it went deep fast.
  • Design a favorites/unfavorites service that displays real-time favorite counts for items like posts or products, handling 1 million QPS reads and 100,000 QPS writes.

“This question sprawled way more than I expected.”

View Post

Roblox·Data Scientist·Technical Phone Screen

May 2026
A technical screen for a data scientist role at Roblox that was basically one giant multi-part pandas problem. The question covered time normalization, feature engineering, and anomaly detection across 50M rows with a 1 GB memory budget. Pretty intense for a phone screen.
  • You have three DataFrames covering factory events, telemetry, and a shift calendar. Events can arrive up to 48 hours late and may be duplicated with timestamps differing by up to 2 seconds. How do you normalize all timestamps to a single time axis and deduplicate events with a deterministic rule while preserving correct event order?
  • For the last 7 calendar days in each machine's local time, compute per-machine hourly features: count of completed start-to-stop cycles, 95th percentile temperature, and a rolling 24-hour z-score of power_kW. How do you handle missing hours and DST gaps or overlaps correctly?
  • How would you join these engineered features into a tidy machine-hour panel indexed by machine and hour, impute missing values robustly, and flag anomalies where the absolute z-score exceeds 3? Walk through your pandas code and explain your performance tactics for a 50M-row dataset under a 1 GB memory budget.

“My first instinct was to convert everything to UTC and call it a day, but then I remembered the telemetry table has local timestamps with IANA timezone strings attached, so you have to localize those before converting.”

View Post