Four stages: recruiter screen, 30-min call with the hiring manager, a 2-3 hour take-home, and a 60-min live round with the hiring manager and a Senior Director of Product — half walk-through of the take-home, half live extension where you add an unannounced feature to your own code in 20-30 min. Recruiter communication was excellent and they shared real written feedback after rejection. ~2 weeks end to end.