Interview started with a phone screen with the group's director. Pretty standard "getting to know you"/behavioral questions, with some high-level technical questions as well, mostly focusing on my background and things I already had on my resume.
After the phone screen, went to an on-site interview. For that, I had to prepare a presentation on a technical subject. Wasn't a ton of guidance on what exactly that should be, but seems like a previous project or something similar is a good fit.
Pretty long day of interviewing -- I was there for several hours. There was a technical "challenge" to build a simple application, and then a lot of technical questions, but no other coding challenges (no "reverse the string" or traverse this tree-type stuff). The managers were pretty direct/abrupt with the technical questions -- if they didn't like your answer, they just told you that, and more or less moved on to the next one. So, about half way through I didn't think things were going that well, but I think being a little rough is just the style of interview they want to do, for better or worse.
The presentation was followed by some Q&A where the panel (who should be your future team) will hit you with questions (sometimes critical) and see how your respond.
Finished up the day meeting the CEO, who was extremely warm and engaging. She did try to put me off balance a little bit (by asking questions in the line of "what should we do differently?"), but overall that was a very friendly interview.
Overall, much less coding challenges than expected, but a lot of general programming questions (difference between pass-by-reference and pass-by-value, what is the Internet in as few words as possible).