I had one phone interview, before I was invited to on-site interview on their new office in Menlo Park.
They paid for all the expenses incurred during the trip (hotel, transportation, food, and any other non-personal expenses)
The on-site event lasted from 9 am to 4 pm. It started with a breakfast on one of their micro kitchen located on every floor of their building, and soon after the breakfast every candidate was taken to a room where they took three 45-minutes interview with Facebook engineers. One was behavioral, and 2 were technical.
In a behavioral interview, interviewer will look at your resume and ask you couple of questions related to it, so make sure you are able to talk about whatever you put on your resume.
Two technical interview is mainly coding on a whiteboard. They will ask some basic question like "why did you choose Facebook" at the very beginning, but the majority of your time there will be spent coding on a whiteboard.
After the interviews, candidates are taken to a lunch on one of the cafeteria on their campus. I really loved the food there, and they have lot of different choices (Italian, Chinese, grills, ...).
After lunch there was 45-minute tour around the Facebook campus.
The event concluded with two tech talks (one backend and one frontend) and Q&A session
Overall it was a great experience.