I recently finished up (and flunked) a complete interview sequence for an iOS developer position at Facebook and thought it would be useful and helpful to recap the experience for the next candidates coming down the chute.
If you pass your phone interviews, you'll be invited to spend a day at the Menlo Park campus. Unlike other big name employers in the area (e.g. LinkedIn, SalesForce), Facebook travel coordinators have a better budget and more flexibility so you can work with them to get the airlines & flights & hotel that work best for you. I recommend staying close to the Menlo Park campus, such as the very nice Aloft hotel right just across the Dumbarton bridge in Newark. In my case I asked for — and was able to stay at — a San Francisco city hotel; while it took about 90 minutes of driving down 101 to get to Menlo Park, I was thankful to get to catch up with friends. There's two sides to the Facebook campus, the Disneyland-side (designed by the same architects who did the streetscape of Disneyland in Anaheim) and on the other side of Route 84, the ridiculously modern (and massive) Frank Gehry MPK20 building. The current building is 1/2 mile long (with at least five lobbies), and they're already building a new addition along the west side that will extend the building/campus there at least another 1/4 to 1/2 mile in length.
When you make your on-site arrangements, the recruiter will call to give you helpful information to prepare for your experience. Interviews consist of at least two Ninja interviews (coding & algorithms), one Jedi interview (culture & "icebreaker" coding questions, supposedly not as difficult) and one Pirate interview (systems design & architecture). When you arrive at the lobby for your interview, you might be handed a mini iPad listing the names, pictures and times of the people doing the interview (but you won't get to find out names until the actual morning you show up).
This was actually the second time in two years that I interviewed at Facebook and my experience the second time around felt somewhat more friendly and collaborative, which was a nice change of pace versus the usual (and exhausting) full days of technical interviewing you can experience at other big Bay Area employers. My interviews started at 10:45 a.m. and finished up at 3:45 p.m., and my previous experience had me starting at 9:45 and finishing around 2, so Facebook does not try to overload the candidates with "bonus rounds" at the end of the day like a traditional Microsoft interview would. If you are doing a 2nd (or beyond) set of interviews at Facebook such as I did this time, the interviewers will have a list of which questions you were asked the first time around (even years before) so they will not ask them again.
Other pieces of advice I would offer to you: try to take "bio" breaks between each session, just to catch your breath and possibly stop at the kitchens to pick up another can or bottle of sparkling water. Lunch interviews *do not count* to the hiring committee AFAIK, so feel free to ask the tricky team or cultural questions that might be tough to ask to an official interviewer (e.g. I'd ask about work/life balance, if the free food in the cafeteria is consistently good, etc.). I really liked that the bathrooms are stocked with useful accessories (toothbrushes & floss, feminine care products), and if you have any chance whatsoever, try to get escorted up to the rooftop gardens of the MPK20 building because it's gorgeous up there (trees and shrubs and picnic tables and a grilled cheese sandwich stand). My interview sessions were held in a tiny room dedicated to interviewing, and I was thankful the temperature control actually worked somewhat (it couldn’t be adjusted below 69F) so I didn't get overheated, and I was also able to set the lights to half strength, so I wasn't blinded.
I was very thankful to be able to walk out of the experience feeling positive this time around (a nice contrast to a typical Google interview, where the day is spent trying to shatter a candidate’s will to live). Unfortunately & unexpectedly, a week after my interview day at Facebook, I got the call from the recruiter with the sad news they weren’t going to move forward with me :-( The recruiter did provide me surprisingly detailed feedback from each interview though — if you look in my answer sections below, I’ll detail two places in my Pirate & Jedi sessions where I apparently goofed up enough to be rejected.
Hopefully my experience flunking the Facebook interview will help you to prepare properly to pass your interview day! If you find any of this information useful, PLEASE let me know by voting “yes” on the “helpful” button below. This helps to motivate me to be as detailed in my recaps as possible. Good luck to you!