Skip to content

ONE QUESTION. YOUR REASONING.

Design a cloud IDE

Design a cloud IDE: each user opens a workspace in the browser with their project files and a terminal, and builds and runs code there.

System designCollaborationSeniorStaff

YOUR BRIEF

What to work through

Work through a cloud IDE as a spoken system design interview. Start by clarifying the scope, sketch a working design and explain the trade-offs behind your choices.

  • Create a workspace and open it in the browser
  • Edit the project’s files
  • Use a terminal, and build and run code inside the workspace
  • Stop a workspace and resume it later with its files intact

BEFORE YOU START

Constraints to discuss

  • Each tenant’s code is isolated from every other tenant and from the platform
  • Workspace files survive a restart or the loss of a host
  • Idle workspaces give their compute back
  • Starting or resuming a workspace is quick
Need a starting point?

Watch for these common gaps as you prepare:

  • Plain containers on a shared kernel with no word on the risk
  • Workspace files only on the host’s local disk
  • No fencing, so one workspace can run on two hosts
  • Designing the editor screen instead of the platform behind it
  • No idle shutdown, so compute grows with every workspace ever opened
Read: System design questions and who asks them

Why this question is in the collection

These sources connect the problem to company interview reports or preparation guides. They do not guarantee what a company will ask you.

KEEP GOING

Your next question

Storage, files and linksDesign BitlyInfrastructure and platformDesign a rate limiterInfrastructure and platformDesign an A/B testing platformInfrastructure and platformDesign an ad click aggregator
Browse the collection
01

Pick a question

Read the brief and choose what you want to work on.

02

Talk it through

Explain your thinking. Respond to follow-ups. Draw when a design needs it.

03

Find your next improvement

Use the feedback from your interview to decide what to practise next.