First is something called HireVue. You basically record yourself in front of a camera responding to about 5 or 6 behavioral type questions, with 2 minutes of prep before each question. Afterwards there is 1 relatively easy programming question.
Next you talk to with someone from HR and this mainly logistical, perhaps also used to screen candidates but I'm not completely sure.
Final step is the technical interview portion, which can be done on-site or over phone/skype. This is about an hour long and 2 team members ask you about your experience with certain technologies, some technical related questions, and some general OO concepts and general programming concepts. This was for a position requiring strong Java experience, so naturally my questions were mostly related to Java, but I also was asked my background and projects in ML and also my experience with Linux/DevOps.