← Back to Directory

Harvey interview notes, page 6 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

Jul 2026
System design interview at Harvey for a software engineer role, centered entirely on building a RAG pipeline for legal research. The problem was meaty and touched basically every layer of the stack, from crawling to eval. Felt like a real product they're thinking about.
  • Design a retrieval-augmented generation system that answers legal questions by grounding responses in publicly published memos and client alerts from large law firms, with citations back to source documents.
  • How do you design the crawling and ingestion pipeline to keep the corpus fresh across roughly 500 heterogeneous law firm websites without re-crawling everything constantly?
  • Walk through your chunking strategy and how you'd structure the retrieval index to maximize both recall and precision for legal queries.
  • How do you constrain the LLM to only answer from retrieved evidence, and how do you verify that citations in the generated answer actually support the claims being made?
  • How do you evaluate this system offline and online, and how do you isolate whether a bad answer is a retrieval failure or a generation failure?
  • A memo gets corrected or retracted after you've already indexed it. How do you detect this and make sure users aren't getting answers backed by stale or withdrawn guidance?
  • Your retrieval recall looks good in offline eval but users are still reporting wrong answers. How do you figure out where the failure is happening?
  • How would you extend this system to support comparative queries, like asking how different firms differ in their guidance on a specific topic?

“This is the main question and it's a beast.”

View Post

Harvey·Backend Engineer·Onsite - Behavioral / Leadership

Jul 2026
Behavioral round at Harvey for a backend engineer role. Just one question but it had a lot of moving parts, basically a full conflict-resolution story they wanted unpacked in detail.
  • Tell me about a time you had to coordinate between two teams that were seriously at odds. What caused the conflict, how did you bring stakeholders together, what did you personally do, and what happened?

“This one required a real story with actual texture, not just 'we had a disagreement and resolved it.' They wanted to know what I personally did versus what the group did, which tripped me up a bit because my instinct was to say 'we' the whole time.”

View Post

Harvey·Backend Engineer·Technical Phone Screen

Jul 2026
Interviewed for a backend role at Harvey and got two coding problems. Nothing too wild conceptually but both had more edge cases than I expected, and I don't think I handled them as cleanly as I should have.
  • Given a sentence and a list of tags, return only the tags that appear in the sentence as whole-word matches (case-insensitive). Partial matches don't count, so a tag like 'blue' should not match the word 'blueprint'.
  • Design and implement an in-memory file system that supports creating directories, listing contents, writing to files, and reading from files.

“The partial-word thing is where I fumbled a bit.”

View Post

Harvey·Software Engineer·Technical Phone Screen

Jul 2026
Interviewed for a software engineering role at Harvey and got a design question that looked simple on the surface but had a pretty nasty follow-up baked in. The core problem was interesting enough that I actually enjoyed working through it, though the cycle detection part is where things got real.
  • Design an in-memory spreadsheet that supports setting cells to either integer values or formula expressions (referencing other cells), and implement getCell and setCell APIs. As a follow-up, detect and reject circular dependencies.

“I started with the data structure: a map from cell name to either a raw int or a list of dependencies plus an expression string.”

View Post