Out of all the companies I applied to this round, Flatiron had hands-down the best interview process by far. I was on a tight timeline because of another pending offer, and my recruiter was very cognizant of this and not only said he was going to speed up the process - but actually did it! (In contrast, the process with Google took about 3x as long at each stage, though that was also "sped up.") Flatiron told me their hiring decision literally an hour after I left the building. Major props. I also loved the idea of the reverse interview (see below).
Here's what the interview process looked like for me:
1. I applied online, unsure of what to expect.
2. Online timed take-home test. They give you test examples so you can practice beforehand in your own time. For me, this was very helpful as it convinced me to switch languages.
3. Technical phone screen. We used an online coding collab tool. My interviewer was very nice and very smart. By this point I was really liking Flatiron.
4. Day of onsite interviews. I had four interviews, plus a "social break" in the middle. One interview (in my case my first) was a "bar raiser" interview (borrowed from Amazon) where the focus was more on communication and teaching. I had two algorithms interviews and an OOD interview. I was very impressed with all my interviewers and it went well, though appropriately tough.
5. Once I had gotten an offer, Flatiron had me come in again for a "reverse interview." This is an amazing practice! You get to meet with a few different folks (in mine this included a co-founder of the company) and ask questions you didn't feel you could ask in your interviewers. By the end of the day, I was ready to sign.