Roblox

Roblox Software Engineer Onsite Coding Questions

47+ questions from real Roblox Software Engineer Onsite Coding rounds, reported by candidates who interviewed there.

47
Questions
8
Topic Areas
10+
Sources

What does the Roblox Onsite Coding round test?

The Roblox onsite coding round is the core technical evaluation. Software Engineer candidates typically see 2-3 algorithm and data structure problems. Problems range from medium to hard difficulty, and interviewers evaluate both correctness and code quality.

Top Topics in This Round

Roblox Software Engineer Onsite Coding Questions

See here for the previous interview: https://www.1point3acres.com/bbs/thread-1146238-1-1.html This round consisted of one coding question and one Subject Design question. The coding question was about

Given a user's name and a domain, generate a normalized email address. The user's name may include spaces and other symbols which need to be handled. For example, if the user's name is 'John Doe' and

LeetCode #723: Candy Crush. Difficulty: Medium. Topics: Array, Two Pointers, Matrix, Simulation. Asked at Roblox in the last 6 months.

LeetCode #1434: Number of Ways to Wear Different Hats to Each Other. Difficulty: Hard. Topics: Array, Dynamic Programming, Bit Manipulation, Bitmask. Asked at Roblox in the last 6 months.

LeetCode #359: Logger Rate Limiter. Difficulty: Easy. Topics: Hash Table, Design, Data Stream. Asked at Roblox in the last 6 months.

LeetCode #210: Course Schedule II. Difficulty: Medium. Topics: Depth-First Search, Breadth-First Search, Graph Theory, Topological Sort. Asked at Roblox in the last 6 months.

LeetCode #642: Design Search Autocomplete System. Difficulty: Hard. Topics: String, Depth-First Search, Design, Trie, Sorting, Heap (Priority Queue), Data Stream. Asked at Roblox in the last 6 months.

LeetCode #68: Text Justification. Difficulty: Hard. Topics: Array, String, Simulation. Asked at Roblox in the last 6 months.

LeetCode #2817: Minimum Absolute Difference Between Elements With Constraint. Difficulty: Medium. Topics: Array, Binary Search, Ordered Set. Asked at Roblox in the last 6 months.

LeetCode #48: Rotate Image. Difficulty: Medium. Topics: Array, Math, Matrix. Asked at Roblox in the last 6 months.

LeetCode #362: Design Hit Counter. Difficulty: Medium. Topics: Array, Binary Search, Design, Queue, Data Stream. Asked at Roblox in the last 6 months.

LeetCode #2672: Number of Adjacent Elements With the Same Color. Difficulty: Medium. Topics: Array. Asked at Roblox in the last 6 months.

#1 Two Sum

Hash Table

LeetCode #1: Two Sum. Difficulty: Easy. Topics: Array, Hash Table. Asked at Roblox in the last 6 months.

LeetCode #933: Number of Recent Calls. Difficulty: Easy. Topics: Design, Queue, Data Stream. Asked at Roblox in the last 6 months.

## Problem Segment a string or array into valid parts satisfying given rules, likely a DP word break-style problem. ## Tags dynamic_programming, strings, arrays

## Problem You have a `user_logs` table with millions of rows. Implement pagination using keyset (cursor) pagination, which is more efficient than OFFSET for large datasets. **Schema:** ```sql CREATE TABLE user_logs ( log_id BIGINT PRIMARY KEY AUTO_INCREMENT, user_id BIGINT NOT NULL, action VARCHAR(64), logged_at TIMESTAMP NOT NULL, INDEX idx_user_logged (user_id, logged_at DESC, log_id DESC) ); ``` **API:** `GET /users/:id/logs?cursor=<token>&limit=20` Write the SQL for the first page and subsequent pages. ```sql -- First page SELECT * FROM user_logs WHERE user_id = ? ORDER BY logged_at DESC, log_id DESC LIMIT 20; -- Next page (cursor encodes last_logged_at and last_log_id) SELECT * FROM user_logs WHERE user_id = ? AND (logged_at, log_id) < (?, ?) ORDER BY logged_at DESC, log_id DESC LIMIT 20; ``` ## Follow-ups 1. Why is `(logged_at, log_id) < (?, ?)` correct even when two logs share the same timestamp? 2. Compare OFFSET vs. keyset pagination for the 10,000th page of results. 3. How would you encode the cursor as an opaque token to hide implementation details from clients? 4. What index does MySQL use for the keyset query, and how would you verify it with EXPLAIN?

## Problem: Build an Image Feed (Infinite Scroll + Offline Support + Testing) You are given an API to fetch a paginated list of images. Implement a frontend **Image Feed** page/component with the fol

Building on Part 1, each request now contains multiple fields (e.g., `userId`, `deviceId`, `endpoint`). You need to rate limit each field separately, with multiple dimensions enforced simultaneously.

Implement a rate limiter that decides whether each incoming request should be allowed at a given timestamp. Design an interface/class that supports request admission: - Each request contains a key `

## Problem: Implement a Rate Limiter (with follow-up) Design and implement a **Rate Limiter** that controls the rate at which requests are allowed. ### Core requirement Given a rule: within any con

What to Expect in the Roblox Onsite Coding Round

The Roblox Software Engineer Onsite Coding round has a specific calibration purpose distinct from other rounds in the loop. Across 47+ verified reports on LeakCode for this exact round type, the consistent expectations: clear scoping of the problem before diving into a solution, explicit reasoning about complexity, structured handling of edge cases, and the ability to discuss trade-offs between two reasonable approaches.

Reports tagged with the Onsite Coding round at Roblox show recurring patterns in difficulty and topic distribution. The Onsite Coding round is typically 45-60 minutes; the interviewer is calibrated against a specific rubric. The discriminator between candidates who advance and candidates who do not is rarely the final correctness of the answer. It is the path: did you clarify, did you verbalize your approach, did you handle edge cases, and did you communicate throughout.

How To Prepare for This Specific Round

Filter the questions below to the most recent reports (past 6-12 months). Questions tagged for this exact round type from this exact company at this exact role level are the highest-signal data available. Older reports may reference questions that have since rotated out of the company's pool.

Practice 4-6 representative problems from this set under timed conditions. The goal is not memorization (companies rotate questions); the goal is to internalize the patterns the interviewer typically reaches for and the depth of follow-up to expect. Reports on LeakCode also tag the typical follow-up depth at this round type, which is the discriminating signal between hire and no-hire calibration.

Onsite Coding Round Timing and Format

The Onsite Coding round at Roblox typically runs 45-60 minutes. Use the first 2-3 minutes to clarify requirements; you should never start coding or designing without verifying the input/output format, constraints, and edge cases out loud. Use the next 5-7 minutes to verbalize your approach before writing any code. The middle 20-30 minutes are implementation. Reserve the final 10 minutes for testing with concrete examples and discussing optimization or trade-offs.

Time budget discipline is one of the most reliable senior-vs-junior discriminators in this round. Strong candidates verbalize where they are in their budget out loud ("I've used about 20 minutes, I have 15 minutes left for testing and one optimization"). This signals engineering maturity to the interviewer and creates positive feedback they can capture in writing.

Common Failure Modes in This Round

Reports tagged "no hire" at Roblox Software Engineer Onsite Coding commonly cite: coding silently without verbalizing approach, jumping to implementation before clarifying requirements, missing edge cases (empty input, single element, very large input), producing working code that the candidate cannot refactor when asked, and failing to test their solution with concrete examples before declaring done.

The single most predictive failure mode in 2025-2026 reports: not asking clarifying questions. Interviewers at all FAANG companies are explicitly trained to weight this dimension. Strong candidates ask 3-5 clarifying questions even on problems that look obvious; weak candidates dive into code immediately. The clarifying-question check is often the first signal recorded in the interviewer's notes.

See All 47 Questions from This Round

Full question text, answer context, and frequency data for subscribers.

Get Access