Went through the OpenAI online assessment (OA) and the live coding rounds last quarter. Sharing format and difficulty because the info I found online was either 2023 or vague.
Online assessment format: HackerRank, 90 minutes, 2 problems. You can use Python, JavaScript, Java, C++, Go. I used Python.
Problem 1: graph traversal. Specifically a shortest-path variant with some constraints on edge traversal. Felt like LC medium-hard. BFS with a twist.
Problem 2: string manipulation. Sliding window with some regex-adjacent logic. Honestly felt more like a medium once I saw the pattern, but I almost missed it because the problem statement was dense.
No MCQs, no debugging questions, no 'fix this code' stuff. Just two algo problems. I finished with about 10 minutes to spare.
Live coding rounds (there were two in the full loop): Virtual, one interviewer, shared coding environment (CoderPad or similar). Each round is 45-60 minutes. One problem each, with follow-ups.
What I noticed: They want you to talk through your approach before coding. If you start typing immediately, that's a yellow flag apparently (recruiter mentioned this in feedback). Edge cases matter. My second round, the problem was 'simple' but the interviewer kept adding constraints mid-problem. Standard extension pattern. Code quality: naming conventions, clean structure. Not obsessive, but it's noticed. I got called out for a variable named x in a context where remaining_budget would've been clearer.
Difficulty vs. LeetCode: the OA skews toward medium-to-hard. The live rounds are often 'medium that gets hard' via follow-ups. I wouldn't call it harder than Google, but it's definitely not easier.
Spent about 3 weeks doing focused LC practice: dynamic programming, graphs, trees, sliding window. That covered probably 80% of what showed up.