I applied online, because they frequently post listings to Craigslist. I got a quick response from their technical recruiter, and had a telephone screening a few days later. From there we scheduled a half hour call with one of their engineers, and he had me do a live programming exercise online.
After that we scheduled a four hour on site interview for the following week. I had two rounds of technical interview with other engineers, and a final round with the hiring manager. The technical rounds featured programming exercises where they just watched me develop on a common screen, and surreptitiously hit me with interview questions while I was distracted with some thing else. The hiring manager was mostly interested in how I might fit into the team culturally.
What bugged me the most about the process is that the team found that I am technically competent, but rejected me because they felt that I "just wanted a job" and was not passionate about my work. I am not sure where they got that from, and that is a bit of an insulting assessment, plus it wasted four hours of my time for no thing.