OpenAI — Software Engineer ❌ Failed
Level: Senior-Level
Round: Full Journey · Type: Multiple Types · Difficulty: 7/10 · Duration: 600 min · Interviewer: Unfriendly
Topics: BFS, HashMap, System Design, Infection Simulation, Data Structures, Algorithms
Location: San Francisco Bay Area
Interview date: 2026-01-15
Got offer: False
Summary
Interview Rounds Overview
- Round 1: Coding
- Round 2: Chat Message
- Round 3: Toy Language
- Round 4: GPU Credits
- Round 5: KV Store
- Round 6: Message Tree
- Round 7: Design SQL
- Round 8: IP CIDR
- Round 9: Memory Allocator
- Round 10: Pokemon
- Round 11: System Design
Details
I recently completed the interview, but unfortunately, I was rejected. I want to share my experience to help others.
Coding Round:
The coding question was about an infectious disease problem with multiple parts:
- Part 1: Given a matrix representing a field of plants, where 'X' indicates an infected plant and '.' indicates a healthy plant, determine how many days it takes for all plants to become infected. Infected plants can infect their eight neighbors each day. I used BFS with a queue to track newly infected plants. The BFS terminates when there are no newly infected plants.
- Part 2: The matrix now contains 'I' representing immune plants that cannot be infected. The goal remains the same: to find the number of days until a balanced state is reached. Again, I used BFS, but I added a condition to only add neighbors to the queue if their original value was not 'I'.
- Part 3: Infected plants become immune after being infected for D days. I implemented this using a HashMap where the key is the day and the value is a set of (i, j) coordinates that can recover and become immune on that day. I struggled with this part, and my test cases did not pass.
- Part 4: (Discussed by experts online) What if the matrix is very large?
- Part 5: There was a fifth part, but I don't know what it was, and I couldn't find it online.
I think I needed to solve the first three parts to pass this round.
Chat Message
Toy Language
GPU Credits
KV Store
Message Tree
Design SQL
IP CIDR:
Memory Allocator: The requirement is to achieve logN complexity. In Python, sortedcontainers's sortedDict can be used. I need to investigate why it has logN complexity.
Pokemon: I couldn't find the original problem, but it seemed to be an implementation task.
System Design: I felt that the first six topics are frequently asked, while the rest are less common.
- chess.com design: An online chess game, focusing on how to match players, handle gameplay, and implement a countdown timer for each player's moves.
- Payment System
- Slack
- CI/CD system
- Webhook
- Place of interest
- YouTube
- Calendar (like Apple Calendar, Google Calendar)
I also saw people being asked to design ChatGPT, an online IDE, a short URL service, and a web crawler.