I applied online and got a response via email within a week. I had a conversation with the lead data scientist at the company, which went really well. I was then asked to complete an at-home coding and analysis challenge that involved parsing and analyzing user behavior logs, which was interesting and a nice insight into the real data the company works with on a day-to-day basis.
Upon completion of the coding challenge I had another round of phone interviews with another data scientist on the team, which tested a bit more of my data analysis and applied machine learning knowledge. Nothing crazy - just straightforward questions about model validation, parameter tuning, and some domain-specific questions about NLP (this is a favorite area of mine, and I brought it up).
I was then invited for an on-site set of interviews. Software engineers and data scientists work fairly closely at the company, so I talked with a number of engineers about my past projects, what I was looking for in my next move, and then asked if I had any further questions about the company. I didn't have to complete an in-person coding interview, but your mileage may vary. I also interviewed with the CTO about more product-driven questions, which I found helpful.
Overall, the experience was really smooth. I've done a number of interviews, and this is the nicest group of people working at a tech company I've ever met. No one seemed to have an ego, and everyone seemed genuinely engaged in the on-site interview, which hasn't always been the case in my experience (checking cell phones/emails). This made it all the more disappointing when I heard back that the lead data scientist was interested in making an offer to me, but couldn't due to some internal conflicts that needed figuring out. Either way, this was a great experience and I'm grateful I got the chance to interview and meet such talented, awesome people.