I was contacted by a recruiter because they found my resume on LinkedIn. I had a quick screening phone interview with the recruiter, before having two technical phone interviews, where we shared a collaborative text document so that they could see what I typed. Each of the two interviews lasted about 45-60 minutes. Finally, I had a somewhat shorter (30 minute) management interview.
At this point, they decided to fly me to Facebook for on-site interviews. I was passed from my recruiter to a coordinator who organized the on-site schedule. I flew down the night before and left the evening afterwards. All meals, transportation and lodging were paid for or expensed to Facebook.
The actual on-site interviews were fun. I was given a brief tour by my coordinator, then led into a (very) small conference room with whiteboards. I had four interviews total, with lunch in-between with my coordinator. Each interview was about an hour or so. One was with a manager. One was a coding interview. Two were systems-oriented, since this was an Applications Operations Engineering (aka Site Reliability Engineering, etc.) position.
Over the next several days, my coordinator was able to share a bunch of feedback from the interviewers. All four interviewers recommended a hire. I was told that there would be two meetings to make a decision. Once with the AppOps team, and once with some higher-ups for final approval.
I was informed that they would keep my resume on file, but that they wouldn't be making me an offer shortly after the designated time for the second meeting. Though the message also stated that my coordinator would like to chat with me to discuss why they came to their decision, to date we've had trouble scheduling a time. Understandably, I suspect I'm less of a priority for the coordinator now that I'm not a candidate.
Overall the experience was quite positive and everyone I spoke to was great. Facebook genuinely seems like a great place to work. My only complaints thus far (in chronological order) are:
1. My recruiter often took a week or more to respond to my messages. Partially (though by no means entirely) as a result of this, the interview process took several months.
2. I found the CS interview questions, especially those on-site, to be disappointingly easy. This may have been due to time constraints, though.
3. Because of the lengths of the interviews, I had relatively little time to ask questions of the interviewers. The one exception was my last interview of the day. Because there was nothing but a debrief with my coordinator afterwards, I was able to chat more with the interviewer. This gave me a lot more insight into Facebook, and also resulted in him more strongly recommending a hire.
4. To date I haven't been able to pin my coordinator down for why I wasn't offered the position.
Overall, if you're given the opportunity to interview with Facebook, go for it. At the very least, the process is a lot of fun. And maybe you'll get a job at a great company!