Google Drive

Design Google Drive as a permissioned file platform — folder hierarchies, shared drives, and access control that scale across billions of files and third-party integrations.

00

Practice checkpoints

The requirements are open as a taste. From the numbers onward, the full guide opens in the app.

  1. 01
    Clarify scope
  2. 02
    Requirements + scale
  3. 03
    API + data modelUnlocks in the app
  4. 04
    Draw architectureUnlocks in the app
  5. 05
    Deep diveUnlocks in the app
  6. 06
    Trade-off decisionUnlocks in the app
01

Requirements that shape the design

Do not only state requirements. Ask for them. Each card pairs the design constraint with a clarification question you can say out loud before drawing the architecture.

Functional requirements

01What are the table stakes — what can a user do with a file?

Upload and download files of any type: upload writes bytes to blob storage plus a metadata row; download checks permission first, then hands back a short-lived signed URL.

02Is a folder a real container, or just a label?

Folders form a tree via parent pointers, so organizing and moving are metadata operations — moving a 100K-file folder rewrites one pointer and no bytes move.

03How does sharing actually work — who can see what?

Owners grant viewer/commenter/editor roles to users or groups on files or folders; a folder grant inherits down the subtree, so one grant shares a thousand files.

04What does “anyone with the link” really mean?

A share link carries a random token mapped to a server-side grant (anyone-with-link or domain-only, with a role) — the server still checks every request, and revoking the grant kills every copy of the URL.

05Does saving over a file destroy the old contents?

No: each save creates a version — a small metadata row pointing at an immutable blob — so history browsing and restore are cheap, and retention rules prune old versions.

06I edit on my laptop — what happens on my phone?

Changes propagate to every device via a change log and sync clients — the chunking and delta machinery is the file-sync sibling’s design; here the sync client is one more consumer of metadata changes.

Out of scopeChunking, delta sync, and content-hash dedup internals (the file-sync question — referenced, not re-derived) · Real-time collaborative editing inside a document (the Google Doc question) · Preview/thumbnail rendering internals — an async consumer of uploads, acknowledged but not designed here

Non-functional requirements

01How much latency can the permission check add to every read?

The permission check adds single-digit milliseconds at roughly 350K checks/s: reads hit a cache of computed effective access; only a miss walks the folder chain.

02I remove someone from a folder — when does their access actually die?

Revoke takes effect within seconds everywhere: it invalidates cached access explicitly instead of waiting out a TTL — stale access for a removed user is a security incident, not a staleness bug.

03Can search ever show me a file I am not allowed to open?

No read path — search, folder listing, or API — ever returns a file the requester cannot open; permission filtering runs at the query layer, never only in the UI.

04What are we promising about never losing a file?

Bytes sit in replicated blob storage built for eleven-nines durability; metadata changes like a move commit atomically, so a subtree is never half-moved.

05Does moving a giant folder block the user who dragged it?

Folder operations feel instant regardless of subtree size: the synchronous work is one pointer flip and a tuple write; cache invalidation and reindexing fan out asynchronously.

Keep asking — the interview is a conversation

Real interviews probe far more than a tidy list. These are the scope questions that separate candidates who interrogate the problem from those who recite it.

  • Personal My Drive only, or shared drives where the organization owns the files and members come and go?
  • How fresh must a revoke be — is a minute of stale cached access acceptable, or must access die in seconds?
  • Is search in scope — filename only, or full-text with permission filtering applied at query time?
  • Do we account storage quota, and who pays for a file that lives in a shared drive?
  • Are desktop sync clients in scope, or may I lean on Dropbox-style sync machinery and spend this session on permissions?
01

Unlock the full playbook for Google Drive

Numbers, architecture diagram, API and data model, deep dives, expected topics, self-check, whiteboard starter, and common mistakes unlock inside the app.

02

Numbers that force architecture decisions

Locked in the app

03

Architecture path

Locked in the app

04

API and data model

Locked in the app

05

Deep dive directions

Locked in the app

+Series

Practice the related series