
Tower Research Capital software engineering interviews reported a mix of difficult coding, deep C++ fundamentals, object-oriented and low-level design, and behavioral project discussion.
$228K
Avg. Base Comp
$350K
Avg. Total Comp
5-6 rounds
Typical Rounds
2-4 weeks
Process Length
Tower Research Capital software engineer candidates most often describe a process that tests more than routine coding fluency. C++ depth is the clearest recurring theme. One candidate encountered templates, smart pointers, networking basics, and testing questions; another was asked to design an object-oriented C++ system and discuss operating-systems concepts. Prepare to explain how language and design choices work, not just name them.
Coding can still be demanding. One online assessment contained three difficult programming problems, including binary exponentiation, and a later technical round emphasized data structures, algorithms, and competitive-programming-style problem solving. Another candidate described a shorter live-coding segment focused on C++ reasoning. Practice communicating your approach, correcting mistakes, and making tradeoffs explicit as you work.
Design discussion appears practical and implementation-oriented: reported prompts included a file system, a book-management service and database schema, low-level system design, and recent-project tradeoffs. Behavioral conversations may ask you to walk through a project, its challenges, implementation decisions, scalability, and motivation for changing roles. Candidates described different interview structures, so treat the sequence below as a preparation map rather than a fixed itinerary.
Synthesized from 4 candidate 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 Tower Research Capital process.
I wanted to share my interview experience with Tower Research Capital in Montreal because the process caught me off guard in a few ways. A recruiter reached out to me on LinkedIn, and even though I was not actively job hunting, the role sounded strong enough that I decided to explore it. I already work at a major bank in the U.S., so the main reason I kept going was personal: I have family near Montreal, and the possibility of being closer to them made the move worth considering.
The process started with two virtual coding interviews, and I passed both. After that, I was invited to Montreal for what I understood would be five in-person interviews, each about an hour long. Based on that, I expected the onsite to shift toward more senior-level topics like system design, architecture, scalability, or production experience. Instead, after waiting in a conference room, I was told the first interview would actually be virtual. That was already a little confusing since I had traveled for an onsite. The first interviewer opened with a very basic but tricky Python question, which made me think the rest of the round would stay in that style. The second interviewer was much better from my perspective and gave me a more realistic engineering problem, closer to what senior engineers deal with in practice. I solved that one and felt much more comfortable there.
What stood out most was that after the second interview, the remaining three interviewers never came out to speak with me. By then I had the feeling the first round had already set the tone, and that the rest of the process had effectively stopped. I left feeling like the interview was more about isolated tricky coding questions than about evaluating the broader experience I would bring as a senior engineer. I had already made real trade-offs to be there, including travel and salary expectations, so the mismatch was disappointing. In the end, I did not get an offer. My main takeaway is to clarify the exact onsite structure before traveling, especially if you have already passed earlier coding rounds. I would specifically ask whether the later rounds are still coding-heavy or whether they will cover system design, architecture, and real production trade-offs.
Prep tip from this candidate
Before an onsite, ask the recruiter to confirm whether the later rounds after initial coding screens are still basic Python-style questions or whether they move into system design and production engineering. If you’re interviewing for a senior role, be ready for a tricky first-round coding question even after passing earlier technical screens.
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 Tower Research Capital
Select the 2nd highest salary in the engineering department
| Question | |
|---|---|
| Employee Salaries | |
| Merge Sorted Lists | |
| Subscription Overlap | |
| Closest SAT Scores | |
| Empty Neighborhoods | |
| Top Three Salaries | |
| Monthly Customer Report | |
| Rolling Bank Transactions | |
| Find the Missing Number | |
| Bagging vs Boosting | |
| String Shift | |
| Comments Histogram | |
| Prime to N | |
| Top 5 Turnover Risk | |
| Like Tracker | |
| Maximum Profit | |
| Find the First Non-Repeating Character in a String | |
| Total Spent on Products | |
| Google Maps Improvement | |
| Cumulative Distribution | |
| Rectangle Overlap | |
| P-value to a Layman | |
| Size of Joins | |
| Top 3 Users | |
| Over-Budget Projects | |
| Slacking Employees Salaries | |
| Hurdles In Data Projects | |
| Sum to N | |
| Over 100 Dollars |
Synthesized from candidate reports. Individual experiences may vary.
Candidates report an online assessment in one process and initial virtual coding interviews in another. One assessment had three hard questions, including binary exponentiation, and was described as closer to competitive programming than routine coding practice.
Technical rounds may combine data structures and algorithms with C++ fundamentals. Reported areas include templates, smart pointers, networking basics, testing, and explaining how C++ choices work under the hood.
Candidates report object-oriented C++ design, operating-systems questions, and low-level system design. Other reported prompts involved designing a file system or a book-management service with a database schema.
A hiring-manager or behavioral conversation may cover past projects, internship experience, cultural fit, and motivation. Candidates report being asked to explain challenges, implementation choices, scalability, and tradeoffs.