Here's my opinion from my experience interviewing at Facebook.
They tell you the process in advance. One phone interview, 5 in house interviews (3 coding, 1 design and 1 behavioural). All interviews are 45 minutes each and one-on-one, and you have to write code in all of the coding interviews, and possibly in the design one too. In the first round, one person decides whether you get through or not. In the 5 rounds, each interviewer provides their feedback after you have finished the interviews which means that if you do badly in one then the other interviewers won't actually know.
Be fully aware, and make no mistake about this - there is an incredibly high possibility that you will get rejected. That sounds harsh but consider it from their position - huge numbers of people apply, huge numbers get interviewed, and they have to pick people out somehow. They also say that they prefer to avoid hiring the wrong person so ultimately they end up inadvertantly rejecting good candidates incase they turn out to be a bad hire, so the risk of getting rejecting is even higher. Basically, this means you are most likely going to be wasting a ridiculous amount of your time and effort. Perhaps because of this, they are incredibly nice and friendly. This really was the nicest and most pleasant interview I have had.
Also, once you understand the scenario, it really helps to kill your nerves if you suffer from that. After all, why stress about something you have practically no chance of succeeding in? Negative, true, but the odds are really stacked against you and you would do well to understand that and just be yourself.
The questions are not that hard, I found. In fact, I solved the first one so quickly I even surprised myself. You do have to write on the whiteboard, but that of course means that there can not be much code to write since a whiteboard is not that big. Indeed the questions are not that hard really. I felt that they do expect you to talk about what you are doing but also to get it right very quickly and without any mistakes. They want to see how you approach the problem etc., but get real - they don't want to see you fumbling around, they want to see that you know the answer and can bang it out.
Ultimately, even if you know the answer to the technical questions and you get them right you will still likely fail over something you can't really control or even know about. In my case, they said I didn't have management experience, but you know what, I didn't apply for a manager role and they never even asked about management or leadership at all. I was pretty annoyed to be honest, it felt like a complete waste of my time and I felt like an idiot for worrying so much about the interviews.
They do provide you with some preparation links which are useful. There is also a book called Cracking The Coding Interview. It doesn't have their questions in it of course, but it gives you plenty of examples on how to solve these kinds of questions so if you read up on it you should be able to bang them out quite easily.
Overall, it is worth going just to see if you can handle it because you probably can! Just make sure that you feel good about what you achieved even if they say no.