Katkat

Design a File Backup System

NetflixSoftware Engineer · Technical Screen

Last updated

This question evaluates understanding of scalable system design, file synchronization and metadata handling, data consistency, fault tolerance, and performance trade-offs involved in designing a file backup system.

Design a scalable file backup system.

You are given access to basic file-system primitives such as listing directories, reading file metadata, reading file contents, creating directories, writing files, and deleting or moving temporary files. The system should back up a source directory tree to a destination storage location while preserving the same directory structure at the destination.

Discuss:

  • How the backup process discovers files and directories.
  • How it ensures the destination has the same structure as the source.
  • How it detects changed, new, and deleted files.
  • How it scales to large directory trees and large files.
  • How it handles failures, retries, partial writes, and consistency.