Since so many people have laid out the structure and stages of the interview, I will just try to cater to the audience who came here for tips.
- In the code challenges, follow your TDD instincts. Don't just read the problem description and start working on it. The suites of Rspec tests have a pattern where requirements change and complexity increases as one suite passes and moves on to another. Read ALL the test cases first, anticipate the scope changes, and then code it out. Also, it's very important to discuss different approaches, tradeoffs with the interviewer. Know that he cares about how well he can work alongside you as a colleague rather than your ability to get to the answer quick.
- In the architecture session, utilize all your system design knowledge. Don't be afraid to bring up even the craziest ideas if you think they beat the traditional design. The interviewers are very receptive, and as long as you can lay out to them your reasoning soundly, you'll be fine.
If they like you, you'll hear back in no more than three days with a generous offer.
Here's my personal take on the interview and the particular group of people that I talked to. From the in-house senior recruiter to the Director Of Engineering and everyone in between I had to dealt with, they were all extremely professional, timely, friendly, transparent and supportive. The interviews themselves are not hard at all, and not too much out of context(no you dont need to memorize graph algos).
I cancelled my other on-sites once I got the offer. I cannot wait to start.