If you're a solid developer with years of experience working on high visibility products used by millions of people (and references to back it up) don't expect the interview process at Facebook to just work. It really comes down to how much you prepare yourself mentally to code within the context of an interview, and how much you study Career Cups as well as the other resources given to you by the recruiter. Sadly, you don't have to be a great developer at all.
What's interesting is that none of these skills have been necessary during my 17 years of real world experience. I never had to write code on a whiteboard (except for other interviews) and I don't see how "writing code fast" should be considered a measurement of someone's productivity and code quality. That sort of thinking seems naive and haphazard to me.
What frightens me is that I think Facebook truly believes they're "raising the bar" with this system. But they're not always hiring good people, and they're probably turning down a lot of great folks.
The coding tests were super easy. Two were questions I've actually asked myself while conducting interviews for another company which was aimed towards entry level developers. I really wish they would have asked more challenging questions. I was able to finish them before the end of each panel, and with optimal solution.
The design question they gave me actually aligned with something I developed and designed for a product used by millions. I felt good with how everything went at the end of the day, but somehow I failed at *both* coding and design. Interesting... whatever.
Two of my friends--whom of which I mentored at my last company--were able to get offers at Facebook (same office, same interview process) but they were *not* the best coders nor the top performers, so if you get turned down at Facebook, don't take it seriously. They say there is some "randomness" in the interview, but it just seems strange that common sense didn't kick anywhere to question the obvious, or just the fact I was interviewed by a few people with only 5 years experience. Smart, but inexperienced (and somewhat arrogant) wanting to judge you with entry level coding questions.
Half of the people that interviewed me didn't go through the interview process themselves. They were brought in by acquisitions. Specifically for a product that isn't doing very well right now.
I was excited about the idea of working there initially, but after the interview, I wasn't so sure anyway. They do try to put a lot of emphasis on finding great developers, but many of the folks who interviewed me mentioned the codebase was a mess (probably from writing code so quickly and not thinking through it) And their open office (no cubes, no walls, just wires and computers everywhere) is a bit distracting. Not something genuinely appreciated by the people working there who used to have their own office. When you need to focus and get quality work done, there are only so many dedicated rooms to use and they're usually taken.
Coupled with the fact that they're Seattle office is located in one of the worst traffic areas, I wasn't so sure I would have accepted anyway.