← HarveyAI Interview Insights

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

Senior
May 2026

Summary

Round 2 at HarveyAI for a Software Engineer role. Got paired with a founding engineer type who clearly knew their stuff and went deep on the design question. The conversation flowed well, which was a nice change from the usual interrogation feel.

Questions Asked (1)

Q1

Design a system like Google Drive.

System DesignData ModelingTechnical Trade-offs
Author's notes

Veteran engineer asking this one meant I couldn't get away with surface-level stuff.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying functional and non-functional requirements, then outline a high-level architecture covering storage, metadata, synchronization, and sharing. Dive into data modeling for files and permissions, and discuss trade-offs in consistency, scalability, and cost.

Pro tip: Emphasize how you would handle large file uploads with chunking and resumability, and discuss the importance of idempotency in sync operations to avoid data corruption.

1. Clarify Requirements

Ask questions to understand scope: user scale, file size limits, sharing features, sync needs, and consistency requirements. Define core entities like users, files, folders, and permissions.

2. High-Level Architecture

Sketch the main components: client apps, API gateway, metadata service, block storage, and synchronization service. Explain how they interact for uploads, downloads, and sharing.

3. Data Modeling and Storage

Design schemas for metadata (files, folders, versions, permissions) and choose storage solutions (e.g., object storage for blobs, relational DB for metadata). Discuss indexing for efficient queries.

4. Synchronization and Consistency

Detail how to handle file sync across devices, including conflict resolution, change notifications, and delta sync. Discuss consistency models (strong vs. eventual) and their trade-offs.

5. Scalability and Trade-offs

Address scaling challenges: partitioning metadata, caching, CDN for downloads, and handling hot files. Discuss trade-offs between consistency, availability, latency, and cost.

Key Points to Mention

  • Chunked and resumable uploads for large files
  • Metadata partitioning and indexing strategies (e.g., by user or file ID)
  • Permission model (ACLs, role-based access) and efficient sharing
  • Sync protocol with change logs and conflict resolution (e.g., last-write-wins, vector clocks)
  • Caching and CDN for performance
  • Trade-offs: strong vs. eventual consistency, storage cost vs. durability

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