My Facebook interview process might be described in a single word... lengthy :) The process could drag on at times, but to be fair, this all happened around the time of the IPO and the campus move to Menlo Park, so in a very real sense it's a wonder it moved along at all. My (generally very positive) experience went like this:
1. Recruiter phone screen with questions about my background and a few simple technical questions.
2. 8-hour programming test to be completed within one week.
3. 2 or 3 (I forget exactly) 1-hour online coding tests, where the interviewer watches you code remotely in real time.
4. 4 more technical interviews at the Menlo Park Facebook HQ.
Everyone was very polite and helpful throughout the process. By the end I felt like I had forged a new friendship with my recruiting team, who were all great about keeping me informed, especially towards the end of the process. Travel to Facebook HQ for the onsite was well-managed - I stayed at a nearby hotel and all local travel was reimbursed. The onsite lunch was very good :)
The four onsite interviews all had the same format: maybe 10-15 minutes on interviewer/interviewee backgrounds, 20-25 minutes for a technical interview (all involved coding with a marker on a whiteboard), and some time reserved at the end for general questions the interviewee might have about FB. All interviewers were technically very sharp, as one might expect, though I experienced absolutely none of the of supposed Facebook arrogance that some reviewers have reported. They're very good and expect you to be very good, which is fair, but nobody was rude.
I won't reveal any particular questions, but I'll say that none were terribly "computer sciency" in nature. You'll obviously want to be able to write hand-coded Javascript/HTML/CSS with some facility, to understand how different browsers load & interpret your code and render pages, to explain how the web works in general, etc. You should be prepared to discuss various tradeoffs between different approaches to solving UI Engineering problems. You should be able to defend the code you write, predict how it will behave, and make amendments if the requirements change a bit.
The 8 hour programming test was by far the most difficult coding question. I don't know if my submission was perfect but I sure wrote a hell of a lot of tests and tried to break it every way I could think of before sending it in.
There were no "gotcha" questions, which I've seen on almost every other interview I've been on in my career (e.g., add the numbers 1-100 in your head; name as many table-related HTML elements as you can, what are all the HTTP verbs, etc). Questions were mostly of the "implement this" format, with a somewhat broad description of some interaction model.
It's worth noting that I was explicitly invited to provide feedback on Glassdoor, which I feel reflects positively on the FB culture.