Design a Multi-Tenant Cloud IDE: Isolation, Workspaces, Run/Build, Failure Modes

Quick Overview

Design a browser-based cloud IDE where many untrusted users each get a workspace with files, a terminal and the ability to run and build code. Cover multi-tenant isolation, workspace start, stop and resume, the run and build path, and concrete failure modes. It tests sandboxing, lifecycle design and reliability.

Design a Multi-Tenant Cloud IDE: Isolation, Workspaces, Run/Build, Failure Modes

Company: OpenAI

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

Design a cloud IDE: a browser-based development environment in which each user gets a workspace containing their project files, a terminal, and the ability to run and build their code, with an editor that feels responsive. Focus on four areas: **multi-tenancy** (many untrusted users sharing infrastructure), **workspace management** (creating, starting, stopping and resuming workspaces), **running and building code**, and **failure modes**. ```hint Untrusted code by design Every user runs arbitrary code, including code that is malicious or simply buggy; decide what boundary contains a workspace, and what it must be unable to reach. ``` ```hint Most workspaces are idle Think about what state a workspace must keep while nobody is using it, and how fast it must come back when its owner returns. ``` ### Clarifying Questions - How many users and concurrently active workspaces, and what resources does a typical workspace need? - Which languages and toolchains must be supported? Do users bring their own container images? - Must running applications be reachable over the network, for example to preview a web server? - How quickly must a stopped workspace resume, and must files survive indefinitely? - Is real-time collaboration (several users in one workspace) in scope? ### What a Strong Answer Covers - An isolation model for untrusted code, covering compute, network, storage and noisy neighbors - The workspace lifecycle, persistence of files and environment, and fast start and resume - The architecture of the run and build path: resource limits, build caching, and how output and preview ports reach the browser - Connectivity for the editor, terminal and language services, and routing of traffic to the right workspace - An analysis of concrete failure modes, with detection and recovery for each - Capacity estimates, cost controls for idle workspaces, and abuse prevention ### Follow-up Questions - A host running 50 workspaces dies. What does each user experience, and what is lost? - How would you stop users from mining cryptocurrency or launching attacks from their workspaces? - How would you make a workspace for a large repository start in seconds? - How would you add real-time collaborative editing to a workspace?

Overview: Design a browser-based cloud IDE where many untrusted users each get a workspace with files, a terminal and the ability to run and build code. Cover multi-tenant isolation, workspace start, stop and resume, the run and build path, and concrete failure modes. It tests sandboxing, lifecycle design and reliability.

|Home/System Design/OpenAI
OpenAI logo
OpenAI
Sep 20, 2026
hardSoftware EngineerOnsiteSystem Design
0
0

Design a cloud IDE: a browser-based development environment in which each user gets a workspace containing their project files, a terminal, and the ability to run and build their code, with an editor that feels responsive.

Focus on four areas: multi-tenancy (many untrusted users sharing infrastructure), workspace management (creating, starting, stopping and resuming workspaces), running and building code, and failure modes.

Clarifying Questions Guidance

  • How many users and concurrently active workspaces, and what resources does a typical workspace need?
  • Which languages and toolchains must be supported? Do users bring their own container images?
  • Must running applications be reachable over the network, for example to preview a web server?
  • How quickly must a stopped workspace resume, and must files survive indefinitely?
  • Is real-time collaboration (several users in one workspace) in scope?

What a Strong Answer Covers Guidance

  • An isolation model for untrusted code, covering compute, network, storage and noisy neighbors
  • The workspace lifecycle, persistence of files and environment, and fast start and resume
  • The architecture of the run and build path: resource limits, build caching, and how output and preview ports reach the browser
  • Connectivity for the editor, terminal and language services, and routing of traffic to the right workspace
  • An analysis of concrete failure modes, with detection and recovery for each
  • Capacity estimates, cost controls for idle workspaces, and abuse prevention

Follow-up Questions Guidance

  • A host running 50 workspaces dies. What does each user experience, and what is lost?
  • How would you stop users from mining cryptocurrency or launching attacks from their workspaces?
  • How would you make a workspace for a large repository start in seconds?
  • How would you add real-time collaborative editing to a workspace?

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...