← HarveyAI Interview Insights

HarveyAI·Software Engineer·Onsite - System Design / Architecture·Senior

Senior
Jun 2026

Summary

System design round at HarveyAI for a software engineer role, focused entirely on building something like Google Drive. The scope was pretty broad and they pushed into some corners I wasn't fully prepared for.

Questions Asked (1)

Q1

Design a cloud file storage system like Google Drive, covering large file uploads and downloads, folder structure, permission management, and security.

System DesignTechnical Trade-offsAPI & Integrations
Author's notes

I started with chunked uploads and felt okay about that part.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and scale, then design the high-level architecture covering storage, metadata, and APIs. Dive into the critical components: large file uploads/downloads with chunking and resumability, folder hierarchy, permission model, and security measures. Discuss trade-offs and justify your choices.

Pro tip: Emphasize how you would handle large files efficiently with chunked uploads, parallel transfers, and integrity checks, and discuss how permissions propagate through the folder hierarchy without sacrificing performance.

1. Clarify Requirements and Scale

Ask about expected user base, file sizes, upload/download patterns, and security/compliance needs. Define functional and non-functional requirements.

2. High-Level Architecture

Outline core components: client apps, API gateway, metadata service, blob storage, and CDN. Explain how they interact for uploads, downloads, and metadata operations.

3. Large File Uploads and Downloads

Describe chunked, resumable uploads with parallel chunks and integrity checks. For downloads, discuss range requests, CDN caching, and parallel downloads.

4. Folder Structure and Metadata

Explain how to model folders and files in a database (e.g., adjacency list, materialized path) and handle operations like move, copy, and list efficiently.

5. Permissions and Security

Design a permission model (e.g., ACLs, RBAC) with inheritance, and cover encryption at rest/in transit, authentication, and audit logging.

Key Points to Mention

  • Chunked and resumable uploads with parallel chunks and checksums (e.g., MD5) for integrity.
  • Efficient folder hierarchy representation (e.g., materialized path or closure table) for fast queries.
  • Permission inheritance and propagation with caching to avoid recursive checks.
  • Use of CDN and range requests for efficient large file downloads.
  • End-to-end encryption, at-rest encryption, and secure access tokens (e.g., JWT).
  • Trade-offs between consistency and availability in metadata operations (e.g., eventual consistency for permissions).

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.