The interview process started out with a screening, which I did in person over coffee, just to learn a bit about the company and introduce myself. The next stage was a challenge project covering an area related to the position I was applying for. This project was actually a lot of fun -- and did prove to be a good indicator of whether I would enjoy the type of work in the position. The request was to spend 8-10 hours; it would've been possible to spend a lot more, but it was possible to produce something successful in the suggested time-frame. It was primarily coding, with some questions to answer about my approach and possible directions.
After a phone call reviewing my challenge project, I went for an in-person interview. Since they had a coding sample from my challenge project, there was no Google-style whiteboard questions, which made it feel much more relaxed. One interview was technical, aimed at diving into my understanding of the sorts of problems they work on (and I have worked on in the past). There were additional non-technical interviews for behavioral and team fit. In addition, lunch was provided.
Later on I had a follow-up phone call to cover some other questions, and finally an in-person meeting with the founder & CEO which helped me to better understand the level of risk I'd be facing taking a job at this startup.