Interview
A Jane Street Software Engineering Mock Interview with Grace and Nolen
Jane StreetGrace, Nolen, Nolan, Emily Fortuna, Colton Ogden, Todd Kerpelman, Jen Person, Colt McAnlisley, Dan Galpin, Mark Mirchandani
- Nolan (6.5 years at Jane Street) and Grace (2.5 years at Jane Street) co-created a mock interview to simulate Jane Street's process and advise candidates on expectations.
- The interview is conducted via a shared online editor (cpad.io) with a focus on code clarity and correctness over immediate optimization.
- Interviewers will not execute the candidate's code; minor syntax errors or missing standard library function names are acceptable if the candidate defines a reasonable API.
- Candidates are encouraged to use their preferred language, with syntax highlighting available for popular options.
- The specific coding challenge involved building a unit conversion system given a list of conversion facts and a query.
- The candidate proposed a graph-based approach, treating units as nodes and conversion rates as weighted edges.
- The candidate's initial algorithm design included a
parse_factsfunction to build the graph and ananswer_queryfunction to perform traversal. - The candidate suggested using Breadth-First Search (BFS) to find the shortest path between units to minimize floating-point rounding errors.
- Grace corrected the candidate's queue tuple ordering (unit, amount) and the timing of when to add nodes to the visited set.
- The candidate identified a critical flaw in the graph construction: it was not bi-directional, meaning reverse conversions (e.g., inches to meters) would fail without explicit inverse edges.
- The candidate resolved this by adding both the direct conversion and its reciprocal (1 / multiplier) during graph construction.
- Grace noted that the candidate's code would return
Noneif a unit was not found in the facts dictionary. - Post-interview, the interviewers emphasized that the primary goal is assessing collaboration and communication, not just flawless problem solving.
- Jane Street values clear communication to ensure alignment, but explicitly advises against talking through every line of code or writing full pseudocode first.
- Candidates are encouraged to ask for silence to think if speaking while thinking is a barrier.
- Code clarity is prioritized over cleverness; interviewers generally do not expect optimization unless specified in the prompt.
- Effective code structure includes clear control flow, useful helper functions, and descriptive variable names.
- Jane Street acknowledges that interviewing is a learned skill and recommends practicing with timers and simulated aloud communication.