OpenAI·Software Engineer·Onsite - System Design / Architecture
- Design a scalable system to orchestrate AI text-to-video generation. Users submit prompts, need to track job status throughout the day, and get notified when a job finishes or fails.
- The generation backend calls a webhook on completion, but webhooks can be lost or duplicated. How do you guarantee a job eventually reaches a terminal state without relying solely on the webhook?
- GPU capacity suddenly drops by half. How does your system handle the load fairly, keep paid users served, and prevent the queue from growing unbounded?
- A user submits the same prompt three times in quick succession due to a flaky connection and double-clicks. Walk through exactly how your system avoids generating the video three times, and where the idempotency check happens.
- You're seeing many jobs stuck in the running state well beyond the p99 generation time. How do you detect them, figure out what's wrong, and recover without double-charging or double-notifying the user?
“This is the main question and it ate the whole session.”