
Relativity Software Engineer interview typically runs 4 rounds: HR screening, technical interview, technical interview, hiring manager. The process takes about 2-4 weeks and is broad, practical, and edge-case focused.
$118K
Avg. Base Comp
$187K
Avg. Total Comp
4
Typical Rounds
2-4 weeks
Process Length
We’ve seen Relativity lean less on algorithmic trickery and more on whether candidates can turn a practical prompt into clean, maintainable code. In the experience we reviewed, the most important technical round started with a simple class implementation and quickly expanded into persistence, searching, and comparisons across collections. That pattern suggests the team is watching for sound object-oriented structure and whether you naturally think about how data lives and moves through a system, not just whether you can produce a correct answer on the first pass.
A recurring theme is the emphasis on edge cases and explanation. The candidate was asked to compare two book lists, then talk through testing and improvements, which tells us Relativity values people who can reason about correctness and failure modes in plain language. We also saw a broad spread of topics — inheritance, polymorphism, queues, and a lightweight system-design prompt — which points to a team that wants engineers who can connect fundamentals across layers. The non-obvious signal here is clarity of tradeoffs: candidates who can justify structure choices and discuss how they’d extend the solution tend to align better than those who only optimize for speed.
Synthetized from 1 candidates reports by our editorial team.
Had an interview recently?
Share your experience. Unlock the full guide.
Real interview reports from people who went through the Relativity process.
I had four interviews for the internship software engineer process, and the technical part was more practical than I expected. The first round was a standard HR screening where they mostly walked through my resume and checked whether my background matched the role. The second round was the one that mattered most technically: I was asked to implement a book class and then build a bookList that would persist books in a list. From there, the interviewer pushed into searching logic and basic data structures, so I had to think about dictionaries, sets, arrays, and simple searching approaches that felt closer to easy-to-medium LeetCode than anything advanced.
What stood out to me was that they cared a lot about how I structured the code and how I reasoned about edge cases. One of the questions was to define a method that takes two bookLists and returns true if they contain books with the same values, and then talk through testing and possible improvements. In the other technical round, the focus was more on object-oriented basics like polymorphism, inheritance, and a Queue, plus a system design-style prompt about a robot kitchen that takes orders, assigns them, and handles them. The final interview was with the hiring manager and was mostly about previous experience and the software development pipeline. Overall it felt straightforward but very broad, with a mix of coding, OOP, and design fundamentals rather than deep algorithmic pressure. I didn’t get an offer, so I’d prepare by practicing class design questions and being ready to explain tradeoffs and edge cases clearly, not just write code that works.
Prep tip from this candidate
Practice designing small classes like Book and BookList, then be ready to compare two collections by value and explain edge cases and test cases out loud. Also review basic OOP concepts such as polymorphism, inheritance, and Queue behavior, since those came up alongside the coding prompt.
Share your own interview experience to unlock all reports, or subscribe for full access.
Sourced from candidate reports and verified by our team.
Topics based on recent interview experiences.
Featured question at Relativity
Select the 2nd highest salary in the engineering department
| Question | |
|---|---|
| Empty Neighborhoods | |
| Top Three Salaries | |
| Merge Sorted Lists | |
| Subscription Overlap | |
| Rolling Bank Transactions | |
| Random SQL Sample | |
| Prime to N | |
| Upsell Transactions | |
| Raining in Seattle | |
| Customer Orders | |
| String Shift | |
| Top 3 Users | |
| Comments Histogram | |
| Closest SAT Scores | |
| Download Facts | |
| P-value to a Layman | |
| Monthly Customer Report | |
| First Touch Attribution | |
| Find Bigrams | |
| Google Maps Improvement | |
| Find the Missing Number | |
| Job Recommendation | |
| Size of Joins | |
| Scrambled Tickets | |
| The Brackets Problem | |
| Minimum Change | |
| Hurdles In Data Projects | |
| Cyclic Detection | |
| Daily Retention Summary |
Synthesized from candidate reports. Individual experiences may vary.
A standard recruiter or HR screen focused on resume walkthrough and basic fit for the internship software engineer role. They checked whether the candidate's background matched the position and likely covered logistics and general interest in Relativity.
The first technical round centered on practical coding and class design. The candidate was asked to implement a Book class and a BookList that persists books in a list, then extend the discussion into searching logic, dictionaries, sets, arrays, and simple edge cases.
A second technical round focused more on object-oriented fundamentals and applied design thinking. Topics included polymorphism, inheritance, and a Queue, along with a system design-style prompt about a robot kitchen that takes orders, assigns them, and handles them.
The final interview was with the hiring manager and was mostly behavioral and experience-based. It covered previous experience and questions about the software development pipeline before the final decision.