I applied online through the Facebook website and heard back from HR within 2 weeks. After speaking with the recruiter, we setup a phone interview with one of the engineers. The phone interview was about 20 minutes long and consisted of 2 questions which were algorithmic in nature, one of which was reversing a linked list. I heard back from them about a week later and we setup a time for an on-site interview. I was alotted $1000USD for travel expenses to travel from Toronto, ON to Palo Alto, CA. The on-site interview lasted 4 hours and was split up into 1 hour interviews with a different engineer. The questions were mostly abstract, and language independent. Content of the questions varied from riddles to database design. My impression of the first three engineers was good, they seemed like nice guys, and knowledgeable. The last interviewer came off as pretentious, I felt as though he wanted me to fail -- just my opinion!
Overall, the office culture seemed relaxed and the problems they are solving there are interesting ones. I'd recommend interviewing with them if only for the chance to visit Palo Alto!