Design Large-Document Uploads and Multi-Device Synchronization

Read the full interview experience this question came from →

Quick Overview

Design resumable document uploads and reliable multi-device file synchronization. Separate immutable content from metadata commits, handle offline conflicts, and use durable change cursors for recovery.

Design Large-Document Uploads and Multi-Device Synchronization

Company: Apple

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Onsite

Design a document-sharing service that supports uploading documents, including large files, and synchronizing changes across multiple devices. ### Clarifying Questions Clarify whether documents are opaque files or collaboratively edited content, how sharing permissions work, and how concurrent offline edits should be resolved. No file-size limit or traffic target is supplied. For a baseline, treat documents as versioned files with explicit conflict copies rather than real-time character-level collaboration. ### What a Strong Answer Covers Resumable uploads, metadata and object storage, version publication, change discovery, device cursors, permissions, deletions, and concurrent-update handling. ### Follow-up Questions - How do you avoid exposing a partially uploaded file as the latest version? - What happens when two offline devices edit the same base version?

Overview: Design resumable document uploads and reliable multi-device file synchronization. Separate immutable content from metadata commits, handle offline conflicts, and use durable change cursors for recovery.

Read the full Apple Software Engineer interview experience this question came from

Apple logo
Apple
Jul 25, 2026
mediumSoftware EngineerOnsiteSystem Design
0
0

Design a document-sharing service that supports uploading documents, including large files, and synchronizing changes across multiple devices.

Clarifying Questions Guidance

Clarify whether documents are opaque files or collaboratively edited content, how sharing permissions work, and how concurrent offline edits should be resolved. No file-size limit or traffic target is supplied. For a baseline, treat documents as versioned files with explicit conflict copies rather than real-time character-level collaboration.

What a Strong Answer Covers Guidance

Resumable uploads, metadata and object storage, version publication, change discovery, device cursors, permissions, deletions, and concurrent-update handling.

Follow-up Questions Guidance

  • How do you avoid exposing a partially uploaded file as the latest version?
  • What happens when two offline devices edit the same base version?