Started with a phone interview, about 15-20 minutes, where they asked questions about me and my programming skills and personal interests, then let me ask technical questions of one of their developers.
This led to an on-site interview. The interview started with a 15 minute history lesson on the company (which, while informative, was rather tedious), followed by a tour of their office, both led by an HR guy/recruiter. At the end of the tour, I was taken to the developers' office to do a technical interview with four programmers including the one I spoke to in the phone interview. They started with a "programming captcha" - a question any programmer could answer but a non-programmer would never be able to answer. They then asked about my programming experience, and had me do a whiteboard design for a program to track parking spaces and vehicles in a parking structure.
3 days later I received an email letting me know they had gone with another candidate.