As others have said, the first stage of the interview is a 2-hour coding test that you do remotely and submit via email.
However, based on the fact that they have been posting this job for several years straight, I believe their methods are extremely ineffective (that's the polite way of putting it). First of all, they haven't changed their questions in a while, thus putting cheaters at a distinct advantage. Secondly, the test is difficult enough that only fast coders get through. I believe they're losing out on software developers who don't code all that fast but are nonetheless very knowledgeable and do put a lot of thought and effort into crafting clean, efficient code. This is probably especially true for Junior developers.
Also, because they haven't changed their test in a while, I do wonder if perhaps the bar has been raised really high by people who have prepared answers beforehand (possibly spending much longer than the allotted 2 hours). Therefore if you didn't, your answers are going to look quite poor in comparison.
After getting contacted by a recruiter, I took the test and was told that they decided to pass. However, I then got contacted by 2 other 3rd-party recruiters for the same position and THEN a few months later, I got contacted again by the first recruiter who apparently had forgotten that he had already contacted me. So instead of putting all this time and energy on mass-testing, perhaps they should spend more quality interview time, IMO.