Skip to main content

10 Tower Research Capital Software Engineer (New Grad) Interview Questions (2026)

Tower Research Capital's new-grad SWE loop in 2026 emphasizes systems engineering, C++ proficiency, and low-latency design. The firm runs multiple trading groups (Latour, Spire) with semi-independent engineering teams. Expect coding rounds, system design questions, and a behavioral component evaluating collaboration and ownership.

By Alex Chen, Founder, InterviewChamp.AI · Last verified

Loop overview

Recruiter call → 75-min HackerRank coding test → first-round phone (coding + systems, 45-60 min) → onsite of three to four rounds: two coding rounds (one focused on data structures, one systems-oriented), system design, behavioral. Timeline 4-6 weeks. Tower has multiple groups with semi-independent hiring — confirm which group you are interviewing for.

Behavioral (2)

Tell me about a time you debugged a memory issue.

Frequently asked

Outline

STAR. Pick a real bug — segfault, leak, corruption, use-after-free. Walk through diagnosis (gdb, valgrind, sanitizers, strace, code review), the root cause, the fix, what you learned. Tower values systematic debugging — heroic guesses score lower than tool-assisted analysis.

Source: Glassdoor Tower Research SWE behavioral round, 2026 ·

Why Tower Research's SWE role rather than another firm?

Frequently asked

Outline

Specific reasons: multiple trading groups offering career flexibility, technology focus (low-latency systems), global presence (NY, London, Singapore, Mumbai), broad asset class exposure. Avoid 'high pay' as the lead. Reference Tower's specific group focus if you have one in mind (Latour for equity HFT, Spire-X for new strategies).

Source: Glassdoor Tower Research SWE fit round, 2026 ·

Coding (LeetCode patterns) (4)

Given a linked list, reverse it in place.

Frequently asked

Outline

Iterative: maintain prev=null, curr=head. Loop: next = curr.next; curr.next = prev; prev = curr; curr = next. Return prev. O(n) time, O(1) space. Walk through with example. Mention recursive alternative — recurse on rest, then point rest.next.next = current.

Source: Glassdoor Tower Research SWE coding round, 2026-Q1 ·

Implement a function that returns the maximum profit from buying and selling stock with at most k transactions.

Occasionally asked

Outline

2D DP. dp[t][i] = max profit using up to t transactions through day i. dp[t][i] = max(dp[t][i-1], max over j<i of prices[i] - prices[j] + dp[t-1][j-1]). Optimize inner max: track best (dp[t-1][j-1] - prices[j]) seen so far. O(k·n) time, O(k·n) space (or O(n) with rolling). Walk through the optimization.

Source: Levels.fyi Tower Research SWE coding round, 2026 ·

Implement a hash table with chaining.

Frequently asked

Outline

Array of linked lists (buckets). Hash function modulo array size. Insert: append to bucket's list (or skip if exists). Lookup: scan bucket's list. Delete: remove from bucket's list. Load factor > 0.75 → resize. Walk through; code cleanly. Discuss alternatives: open addressing (linear probing, quadratic, double hashing) with tradeoffs.

Source: Glassdoor Tower Research SWE coding round, 2026 ·

Implement a function that checks if a string can be rearranged to form a palindrome.

Occasionally asked

Outline

Count character frequencies. A palindrome has at most one character with odd count (the middle one if length is odd). Count odd-frequency characters; return true if ≤ 1. O(n) time, O(k) space where k is alphabet. Walk through example.

Source: r/cscareerquestions Tower Research coding round, 2026 ·

Technical (3)

What is the difference between heap and stack memory?

Frequently asked

Outline

Stack: grows down from high addresses, fast allocation (just adjust SP), automatic cleanup at function return, limited size (~8MB default on Linux). Heap: grows up from break or via mmap, manual allocation (malloc/free or new/delete), can fragment, much larger. Lifetime: stack tied to function scope; heap until explicit free. Walk through a function call showing stack frame layout. Discuss why stack allocation is preferred for short-lived data in hot paths.

Source: Glassdoor Tower Research C++ round, 2026 ·

What is the difference between volatile and atomic in C++?

Frequently asked

Outline

volatile: tells compiler not to optimize away reads/writes (e.g., for memory-mapped I/O). Does NOT provide thread safety. atomic: provides thread safety with defined memory ordering (acquire, release, seq_cst). Use atomic for shared variables across threads; volatile is for hardware interfaces or signal handlers. Common bug: using volatile for thread synchronization — compiles but is broken on modern memory models.

Source: Glassdoor Tower Research C++ concurrency round, 2026 ·

What is the false sharing problem and how do you avoid it?

Occasionally asked

Outline

False sharing: two threads write to different variables that share a cache line. CPU coherence protocol invalidates the line on every write, even though the writes are independent — causes severe performance degradation. Avoid: padding (alignas(64) or alignas(std::hardware_destructive_interference_size)) to ensure variables don't share lines. Discuss this is critical in multi-threaded trading code where multiple threads touch hot counters.

Source: Glassdoor Tower Research systems round, 2026 ·

System / object-oriented design (1)

Design a system that processes a stream of trade events and produces a real-time order book.

Frequently asked

Outline

Components: (1) Ingestion: parse exchange feed (FIX, ITCH, custom protocol). (2) Order book data structure: sorted price levels (red-black tree or array per side). (3) Updates: add, modify, delete orders, maintain top-of-book. (4) Snapshots: periodic checkpoints for recovery. (5) Distribution: publish updates to consumers (risk, execution, analytics). Discuss tradeoffs: latency vs feature richness. Walk through an example update flow.

Source: Glassdoor Tower Research SWE systems design round, 2026 ·

Tower Research Capital interview tips

  • C++ proficiency matters at Tower. Brush up on RAII, move semantics, atomic operations, and memory ordering.
  • Coding rounds test medium-hard LeetCode patterns. Practice arrays, strings, trees, graphs, and DP.
  • System design rounds emphasize correctness and latency tradeoffs in real-time systems.
  • Tower has multiple semi-independent groups. Confirm with recruiter which group you are interviewing for — affects question style.
  • Behavioral round at Tower tests collaboration and ownership. Real stories with measurable outcomes score better than abstract claims.

Frequently asked questions

How long is Tower Research's SWE interview process in 2026?

Most candidates report 4-6 weeks from initial contact to offer. Onsite-to-decision is often within a week.

What are Tower's main trading groups?

Latour Trading and Spire-X are the major groups. Each operates semi-independently with separate teams and strategies. Engineering recruiting can be coordinated or group-specific.

What programming languages does Tower Research use?

C++ is dominant in production trading systems. Python for research and tooling. Some Rust adoption in newer projects.

Does Tower Research sponsor visas?

Yes. NY HQ supports US H1-B with standard lottery odds. London, Singapore, and Mumbai offices offer alternative paths.

Can I reapply to Tower Research after rejection?

Yes, after a 12-month cooldown.

Practice these live with InterviewChamp.AI

Real-time AI interview assistant that listens to your loop and helps you structure answers under pressure.

Practice these live with InterviewChamp.AI →