← Back to Directory

Voleon interview notes, page 1 of 4

Small

Most of these Voleon write-ups come from Software Engineers (24), then Data Scientists (10) and Machine Learning Engineers (2). The most reported rounds are the technical phone screen (28), the system design round (3), the multi-round onsite (2) and the take-home assignment (2).

37 interview notes · updated Jul 2026

Voleon·Software Engineer·Technical Phone Screen

Apr 2026
Voleon had me extend a Kac ring simulation with an O(1) multi-step jump, which is the kind of math-heavy systems problem I expected from a quant shop but still had to think carefully about. Single coding problem, no behavioral fluff.
  • Given a Kac ring model (balls moving clockwise around a ring, flipping color when passing a marked point), implement a function that advances the simulation by exactly k steps in O(1) time, without calling the single-step function k times. The color query function must also remain O(1) after any mix of single-step and multi-step calls.

“The core insight is that after N steps every ball is back where it started, so the net color state only depends on k mod N and how many marked points each ball crosses in that span.”

View Post

Voleon·Software Engineer·Technical Phone Screen

Apr 2026
Voleon coding interview with a physics-flavored simulation problem. The question looked like a fun puzzle at first but the O(1) color-count constraint is where it actually gets tricky, and I did not fully see that coming.
  • Implement a Kac ring simulation: N positions in a circle, some marked. Balls move clockwise one step per tick, starting white, and flip color whenever they leave a marked position. Implement step() to advance the simulation and color() to return white and black ball counts in O(1) time.

“My first instinct was to just maintain an array of ball colors and update them each step, which works for step() but completely falls apart for color() in O(1).”

View Post

Voleon·Software Engineer·Onsite - Coding / Algorithms

Apr 2026
Long OOP coding session at Voleon focused on building a market-data foundation layer for a broker-exchange simulation. The session was dense and clearly designed to test whether you can think in terms of API contracts, not just working code.
  • Design and implement a market-data feed that ingests a stream of ticks (timestamp, symbol, side, price, size) and maintains the current best bid and best ask per symbol. What data structures do you use and why?
  • Define the class hierarchy and public API for this system, including Symbol, OrderBookSnapshot, and MarketDataFeed. What does each class expose and what are the contracts?
  • What is the time complexity of on_tick and get_snapshot, and how do you ensure get_snapshot is O(1)?
  • How would you handle stale or out-of-order ticks in the stream?
  • How would you implement a subscribe mechanism so downstream trading logic gets pushed updates when the top of book changes for a symbol?

“This is the kind of question where you think you know what they want and then realize halfway through you've been thinking about it wrong.”

View Post

Voleon·Software Engineer·Technical Phone Screen

Apr 2026
Voleon software engineer interview that leaned heavily on simulation and math. The core problem was Kac's Ring, which sounds like a physics curiosity but turns into a pretty tight algorithmic exercise once they ask you to scale it up.
  • Given N balls arranged in a ring, each colored black or white, and M gates placed at certain gaps between positions: simulate K steps where every ball moves one position clockwise, flipping color when it crosses a gate. Return the count of white and black balls after K steps.
  • Now support queries for arbitrary K efficiently, ideally O(1) per query after some preprocessing. How do you scale the simulation without re-running it each time?

“Part one felt manageable.”

View Post

Voleon·Software Engineer·Technical Phone Screen

Apr 2026
Voleon quant engineer interview with a heavy stats/ML focus. The questions were dense and built on each other, so if you fumbled the first part you were kind of digging out for the rest of the conversation.
  • In a regression with correlated features, why would you regress each feature on the remaining features and use the residuals as your new inputs instead of the raw features?
  • How does orthogonalizing features reduce multicollinearity, and what is the connection to the Frisch-Waugh-Lovell theorem?
  • Re-fit the model using the orthogonalized features and compare the results to a direct regression on the original correlated features. What do you expect to see and why?
  • Why is a Generalized Additive Model a reasonable default baseline for a regression problem like this, compared to a fully linear or fully nonlinear model?

“I knew the basic idea here but struggled to articulate it cleanly under pressure.”

View Post

Voleon·Software Engineer·Onsite - System Design / Architecture

Apr 2026
Voleon put me through a system design round focused on trading infrastructure, specifically building out order management and strategy logic on top of a market data feed. Pretty deep into the weeds for a single question, they basically wanted a full design with real constraints around participation rate caps and rolling volume windows.
  • Design and implement the trading logic for a single client sitting on top of a market data feed, including an OrderManager, a Strategy class, and a rolling-window volume tracker to enforce a participation rate cap.

“This question is basically three problems duct-taped together and they want you to see the seams clearly.”

View Post

Voleon·Software Engineer·Technical Phone Screen

Apr 2026
Voleon Group technical screen for a software engineer role. The problem was a sliding window on a circular binary array, which sounds manageable until they ask you to handle arbitrary jumps in O(1). Took me a while to realize where they were going with part B.
  • Given a circular binary array of length n and a fixed window size w, define r(i) as the fraction of 1s in the window of length w starting at index i (with wraparound). If a cursor advances one position at a time, how do you report r after each step in O(1) time?
  • Now suppose each query gives you an arbitrary jump size k (k >= 0). How do you still return r(i) in O(1) per query after some preprocessing? Describe your data structures, how you handle circularity, and prove the time and space complexity.

“This part I actually felt okay about.”

View Post

Voleon·Software Engineer·Take-home Assignment

Apr 2026
Got a take-home style problem from Voleon that was more of a trading systems simulation than anything behavioral. The problem itself was dense and took a while to even parse what was being asked.
  • You are processing client orders and must execute trades on their behalf. Each order has a participation rate defined as a percentage of the previous minute's trading volume for that security. As you fill each order, output trade prints using the most recent trade price. How do you design and implement this system?

“This took me embarrassingly long to understand what was even being asked.”

View Post

Voleon·Software Engineer·Onsite - Multi Round

Apr 2026
Quant onsite at Voleon with two pretty dense technical questions back to back. Both were stat/probability heavy, which fits the role, but the depth they wanted on the MLE question surprised me a bit.
  • You're given a problem that doesn't look Bayesian on the surface. Walk through how you'd recognize it as a conditional probability problem and derive the posterior.
  • When does the maximum likelihood estimator fail to be consistent? Walk through the different failure modes.

“The sneaky part is that nothing in the setup screams Bayes.”

View Post

Voleon·Software Engineer·Technical Phone Screen

Apr 2026
Voleon quant engineer interview hit me with a pretty deep stats/linear algebra problem involving spiked covariance models. One question, but it had real teeth.
  • Suppose you have samples drawn from a multivariate normal with a spiked covariance structure (identity plus a rank-one perturbation). How would you estimate the spike direction from data, and what is the estimation error as a function of sample size, dimension, and signal strength? Use the Davis-Kahan theorem to bound the eigenvector perturbation.

“I knew the setup well enough to write down the sample covariance and point to the leading eigenvector as the natural estimator.”

View Post