OpenAI Machine Learning Engineer Coding & Algorithms Interview Questions
Practice 18 real Coding & Algorithms interview questions for Machine Learning Engineer roles at OpenAI.

"I got asked a hardcore MCM DP question and I saw it on PracHub as well. Solved that question in 5 minutes. Without PracHub I doubt I could solve it in 5 hours. Though somehow didn't get hired, perhaps I guess I solved it too fast? /s"

"Believe me i'm a student here jn US. Recently interviewed for MSFT. They asked me exact question from PracHub. I saw it the night before and ignored it cause why waste time on random sites. I legit wanna go back and redo this whole thing if I had chance. Not saying will work for everyone but there is certainly some merit to that website. And i'm gonna use it in future prep from now on like lc tagged"

"10 years of experience but never worked at a top company. PracHub's senior-level questions helped me break into FAANG at 35. Age is just a number."

"I was skeptical about the 'real questions' claim, so I put it to the test. I searched for the exact question I got grilled on at my last Meta onsite... and it was right there. Word for word."

"Got a Google recruiter call on Monday, interview on Friday. Crammed PracHub for 4 days. Passed every round. This platform is a miracle worker."

"I've used LC, Glassdoor, and random Discords. Nothing comes close to the accuracy here. The questions are actually current — that's what got me. Felt like I had a cheat sheet during the interview."

"The solution quality is insane. It covers approach, edge cases, time complexity, follow-ups. Nothing else comes close."

"Legit the only resource you need. TC went from 180k -> 350k. Just memorize the top 50 for your target company and you're golden."

"PracHub Premium for one month cost me the price of two coffees a week. It landed me a $280K+ starting offer."

"Literally just signed a $600k offer. I only had 2 weeks to prep, so I focused entirely on the company-tagged lists here. If you're targeting L5+, don't overthink it."

"Coaches and bootcamp prep courses cost around $200-300 but PracHub Premium is actually less than a Netflix subscription. And it landed me a $178K offer."

"I honestly don't know how you guys gather so many real interview questions. It's almost scary. I walked into my Amazon loop and recognized 3 out of 4 problems from your database."

"Discovered PracHub 10 days before my interview. By day 5, I stopped being nervous. By interview day, I was actually excited to show what I knew."

"I recently cleared Uber interviews (strong hire in the design round) and all the questions were present in prachub."
"The search is what sold me. I typed in a really niche DP problem I got asked last year and it actually came up, full breakdown and everything. These guys are clearly updating it constantly."
Simulate Infection Spread on a Grid
You are given an m x n grid representing cells in a population. Each day, all state changes happen simultaneously. Infection neighbors are the 8 surro...
Streaming Entropy with Numerical Stability
Streaming Entropy with Numerical Stability You are processing a very large, possibly unbounded, stream of category labels (for example, token IDs emit...
Simulate Turn-Based Monster Battles
Simulate a turn-based battle between two teams of monsters. Base problem: - Team A and Team B are ordered lists of monsters. - Each monster has at lea...
Design an Editable Text Buffer
The interview question was asked in three progressive stages. Design an in-memory text editor. 1. Basic text buffer Implement a data structure that ...
Schedule Incremental Labeling Tasks
You are building a data-labeling platform. Each day, a batch of task IDs arrives. A task ID may reappear on later days because the platform may reques...
Search Monster Battle Strategies
You are given two teams of monsters. Each monster has: - hp: starting health - attack: damage dealt per attack - revive_hp: if greater than 0, the mon...
Simulate Plant Infection Spread
Given an m x n grid representing farmland: - 0 = empty cell - 1 = healthy plant - 2 = infected plant - 3 = obstacle Every minute, each infected plant ...
Simulate Grid Infection
Implement a grid infection simulator. Base problem: - You are given a 2D grid. - X means infected. - . means healthy. - Each day, every currently infe...
Find Minimum Compatible Version
You are given a list of software versions sorted in ascending numeric order and an expensive predicate is_compatible(version). Return the minimum vers...
Compute time to infect all cells
You are given an n × m grid representing people in a city. - Each cell is either infected (1) or healthy (0). - Two cells are neighbors if they share ...
Find earliest supporting dependency version
Question Given a list of dependency versions (e.g. [103.003.02, 103.003.03, 203.003.02]) and a black-box API isSupported(v), design an algorithm to fi...
Find the First Working Version
You are given a sorted list of dependency version strings and an API works(version) that returns whether that version is usable in your system. A vers...
Simulate Plant Infection With Controlled Burning
You are given an R by C grid of plants. Each plant is initially healthy, infected, recovered, or dead. A plant has up to four orthogonal neighbors. De...
Implement in-memory database insert and delete operations
Design and implement a simple in-memory database (key-value store) that supports the following operations: - insert(key, value): Insert a key-value pa...
Infer Generic Return Types
Build a small type-inference engine for a toy language. Do not parse raw strings; the input is already constructed as Python objects. Type model: - Pr...
Track Expiring GPU Credits
Implement a GPU credit tracking system that processes time-stamped events arriving out of order. Operations: - add_credit(amount, start_time, duration...
Design a Resumable Iterator with Checkpoint and Restore
Design a resumable iterator: an iterator that can serialize its current position into a compact, opaque checkpoint and later be reconstructed from tha...
Find earliest supporting version under constraints
You are given version strings formatted as {major}.{minor}.{patch}, e.g., "103.003.03". Each version either supports a feature or not. You may call is...