Process:
This is for undergrad full-time software candidates in USA. Submitted resume at college career fair. Got email about on-campus interviews. At this stage, there are 3 possible outcomes: onsite invitation, a phone interview for an additional chance, or reject. I was invited to onsite interview.
Onsite was a "University Day" that included three interviews (not four like they said in the email) before lunch and then a tour, new-hire panel, etc after lunch.
All interviews were 45-mins length.
Interviews themselves:
On-campus interview: 3 coding questions. I don't remember signing any NDA at this point so, the questions were k-Nearest Points to Origin, finding a substring, and 3-sum.
On-site interview: 3 interviews, 45 mins each. 1st interview: 2 coding questions. 2nd interview: behavioral questions (about team conflict, etc.) and a coding question. 3rd interview: 2 coding questions. Coding questions were easy and required *no knowledge* of special algorithms or data structures (such as graphs, DP, trees, etc). Recursion and strings were common.
I did not get an offer from Facebook; however, I received offers from other companies. The interview questions themselves were considerably easier at Facebook than those asked at Google, LinkedIn, MS, Amazon, etc.
Since the questions are not very hard, my guess is the decision is based upon fit and most importantly how *quickly* you were able to arrive at your solution and how *perfect* your code was. Make sure you focus and are confident.
Advice: practice the easier questions and practice coding them. Also, looking at some of the other experiences on Glassdoor, it looks like a majority of the questions are re-used.