1. Phone screen with recruiter. Typical stuff about your current situation, the job itself, the team and company. Nothing technical.
2. Online coding challenge. A few multiple choice questions and a few programming questions.
Question may involve coding up an algorithm to process some data or involve indentifying issues given a piece of code. Time limit was around 2 hours for everything.
3. Final interview. Split into a few 1-hour sessions, with fellow engineers, quality assurance engineers, and team manager. Topics covered the online coding challenge, a few network related questions, and other techinical stuff.
Note:
I did pretty well on the coding challenge basically hitting 100%, and the interviewers also confirmed as such during the interview. I also felt I did pretty well on the interviews in general. However, I have never heard back from the recruiter after the interview. I waited one week to send a reminder asking for an update, but still never heard anything back from them.