1) Phone screen with hiring manager. This is your chance to ask questions about the position and make sure that the job you're applying for is one that you want to do. The manager wants to make sure that continuing the interview is worth the time. They'll take your temperature on the job, your experience, etc.
2) Technical screen at home. You will get homework. It will involve programming something simple, but might take you out of your comfort zone a bit. You have unlimited time to complete this. We've noticed that we rarely get the screen back after two weeks, but we would still accept it later. It will probably take you several hours of concerted work to complete.
3) Several skype or in-person interviews with members of the team and at least one "outsider" from a different part of the company. These people may have verbal technical questions, but the interviews are generally focused on whether the candidate is a good fit for the position and company.
4) Final negotiations between the internal recruiter, the candidate and the hiring manager.