Just finished the Two Sigma ML engineer loop and I'm finally far enough from it to write something useful instead of just venting.
Five rounds total. Phone screen with the recruiter, then a 45-min coding round that was solidly Leetcode medium (graph traversal, nothing exotic), then a probability and stats round which honestly caught me off guard. They asked about conditional probability, maximum likelihood estimation, and one question about designing a fair A/B test when your randomization unit isn't the user. That last one went long.
Then systems design, then a behavioral/culture round with a director. That one was conversational, not structured STAR. He just wanted to see if I could talk about tradeoffs without buzzwords.
The ML-specific round was the most interesting. They gave me a partially specified problem, something like building a signal for a time-series prediction task, and walked through it together. No formal coding. More like a whiteboard collab. They asked which features I'd consider, how I'd validate, and then pushed on whether the validation approach would hold under distribution shift.
Total timeline was about 5 weeks from first screen to verbal offer. They don't rush.
One thing nobody told me: the prob/stats round is real. Don't skip it because you're a software person who does ML.