Applied for a mid-to-senior SWE role at Two Sigma earlier this year. Not quant research, the engineering side. Here's what the coding interview actually looked like.
The OA I got was through HackerRank, two problems, 90 minutes. One medium-tier graph problem (BFS, nothing exotic), one harder problem involving intervals and sorting that I'd classify as LC medium-hard. The constraints were tight so brute force wouldn't pass. You do need to think about time complexity before you write a line.
What surprised me: there was a third, optional "stretch" problem. I only had 15 minutes left after the first two so I didn't attempt it. I have no idea if not finishing it hurt me. I moved on to a phone screen so maybe not.
Phone screen coding: 45 minutes, one problem. More interactive because the interviewer could see my screen. This one was algorithmic, not domain-specific. Think graph traversal with a twist in the problem statement. They asked me to talk through my approach before coding, which I wasn't expecting. Made sure I understood the problem first, then asked me about edge cases before I started. That structure felt deliberate.
Final onsite coding: two separate 45-minute rounds. One was more algorithmic (dynamic programming, 2D, not trivial). The other was closer to real-world: implement a specific data structure with certain performance guarantees. I had to reason about why a hash map wasn't good enough for the constraints.
Difficulty compared to other companies I've interviewed at: harder than most product companies, on par with Google L5 prep, softer than the actual hard Citadel OA I've seen shared around. The quant-track loops (for research roles) reportedly go much harder but I wasn't on that track.
One thing worth noting: they ran the coding rounds in their own environment for the onsite. Not Coderpad. You write code in a browser-based editor and it has a terminal. Get comfortable in that kind of setup.