← Back to Directory

Harvey interview notes, page 4 of 6

Mid-sized

Most of these Harvey write-ups come from Software Engineers (46), then Backend Engineers (4) and Machine Learning Engineers (4). The most reported rounds are the technical phone screen (30), the system design round (17), the behavioral / leadership round (4) and the onsite coding round (2).

54 interview notes · updated Jul 2026

Harvey·Software Engineer·Onsite - System Design / Architecture

May 2026
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.
  • Design a system like Google Drive.

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

View Post

Harvey·Software Engineer·Technical Phone Screen

May 2026
Did a coding round for HarveyAI where the whole thing was RAG implementation in a notebook. Pretty hands-on, no LeetCode stuff, just build something that works.
  • Implement a RAG (retrieval-augmented generation) pipeline in a notebook environment.

“The whole round was basically this.”

View Post

Harvey·Software Engineer·Technical Phone Screen

Jun 2026
Interviewed for a software engineer role at HarveyAI and got a spreadsheet design question that looked manageable until the formula propagation part showed up.
  • Extend a spreadsheet's setCell method to support formula inputs like '=B1+5', where updating a cell must automatically propagate changes to all cells that reference it.

“The basic setCell part was fine but the propagation piece tripped me up for a bit.”

View Post

Harvey·Software Engineer·Onsite - System Design / Architecture

Jun 2026
System design round at Harvey for a software engineer role. The whole thing was one big question about designing a cloud file storage and collaboration service, think Google Drive or Dropbox, and they went deep on every layer. Brutal but fair.
  • Design a cloud file storage and collaboration service similar to Google Drive or Dropbox, covering file operations, hierarchical folders, sharing with fine-grained permissions, resumable large-file uploads, version history, multi-client sync, and search.
  • A user moves a folder containing 50,000 files into a new parent with different sharing settings. How do you make the move appear atomic, and how do you propagate the permission change without synchronously rewriting 50,000 rows?
  • Two desktop clients each edit the same file while offline, then both reconnect at the same time. Walk through exactly how your sync protocol detects the conflict and what the user actually sees.
  • How would you add block-level delta sync so that only the changed chunks of a large edited file are re-uploaded, rather than the whole file? What changes in the data model and upload path?
  • Storage costs are dominated by duplicate content across users, like the same PDF shared widely. How do you deduplicate safely, and what are the privacy and security risks of cross-user dedup?
  • The region hosting your metadata primary goes down entirely. What is your failover story, what is the RPO and RTO, and what might clients observe as lost or stale during the cutover?

“The scope of this was intimidating.”

View Post

Harvey·Software Engineer·Onsite - System Design / Architecture

Jun 2026
System design round at Harvey AI for a software engineer role. The whole thing was one big question about building a file storage service from scratch, and they wanted you to go deep on basically everything: APIs, metadata, concurrency, scaling, security. Felt like a 45-minute gauntlet.
  • Design a production-grade file storage service with addFile(path) and list(path) APIs, where each directory is capped at 5 entries and duplicate filenames are auto-renamed with OS-style suffixes. Walk through the full architecture including API layer, metadata service, and content store.
  • What metadata schema and storage backend would you choose for this service, and why relational vs NoSQL?
  • How do you handle large file uploads, and what changes when files are too big to buffer in memory?
  • How would you handle consistency, failure scenarios, and rollback in this system?
  • How would you scale this service? Talk through partitioning, sharding, and caching strategies.
  • What observability, rate limiting, and quota enforcement would you build into this service?
  • How would you approach security for this service, including authentication, authorization, path traversal protection, and encryption?
  • Define the key SLIs and SLOs you'd set for this service.

“This is a beast of a question.”

View Post

Harvey·Software Engineer·Technical Phone Screen

Jun 2026
This was a technical screen for a Software Engineer role at HarveyAI focused on a string processing problem involving interval merging and text annotation. Pretty algorithmic for what felt like a mid-level eng interview, but the problem itself was clean and well-scoped.
  • Given a body of text and a list of source strings, wrap every exact-match occurrence of any source string in the text with highlight tags. Overlapping or adjacent matches must be merged into a single span rather than producing nested tags.

“The merging part is where I had to slow down.”

View Post

Harvey·Software Engineer·Onsite - System Design / Architecture

Jun 2026
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.
  • Design a cloud file storage system like Google Drive, covering large file uploads and downloads, folder structure, permission management, and security.

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

View Post

Harvey·Software Engineer·Technical Phone Screen

Jun 2026
Did a technical screen for a Software Engineer role at Harvey. The whole thing was one coding problem about building an in-memory file system, which sounds manageable until you get into the deduplication edge cases.
  • Design and implement an in-memory file system class that supports creating files, creating folders, and listing folder contents. File name collisions should be resolved automatically by appending a numbered suffix before the extension, using the smallest positive integer that avoids a conflict.

“The basic structure clicked pretty fast.”

View Post

Harvey·Software Engineer·Technical Phone Screen

Jun 2026
One round at HarveyAI for a software engineer role, just a single coding question that I knocked out fast and then spent the rest of the time in awkward small talk with the interviewer.
  • Design and implement a file system.

“Recognized it from a forum almost immediately, which helped a lot.”

View Post

Harvey·Software Engineer·Technical Phone Screen

Jun 2026
Did a technical screen for a Software Engineer role at Harvey. The whole thing was basically one design problem: build an in-memory file system. Not the hardest thing I've done but it required more careful thought about edge cases than I expected.
  • Design and implement an in-memory hierarchical file system with createPath and get operations. createPath should return false if the path already exists, if the parent doesn't exist, or if the path is invalid. get should return -1 for missing paths. Also discuss your data structure choices and the time complexity of each operation.

“My first instinct was a trie and that turned out to be the right call.”

View Post