Submitted resume online. I think it said there were so many people who apply that I could a multi-hour programming challenge online and if it was successful I'd get a phone screen call. Reviewing the sample problem, it might have been an NP-Hard problem or at least one that would require several hundred lines of mind-breaking code. I program all day for a living and even off hours for other projects. Resumes should qualify one for a phone screen. I submitted just that and got a canned rejection email a couple days later, presumably for not doing the quiz.
A couple weeks later I was contacted by a FB recruiter. We spoke approximate 30 minutes and emphasis was placed on how fun a place it is to work. They do a single 45-minute in person technical interview, and if that goes well they do 4, 45-min technical interviews in a single visit.
The single 45-min session started with about 3 minutes of initial talk about my resume and what I work on now. I don't get the sense they cared at all about experience or what I was or have worked on. After that charade was done, we jumped right to the whiteboard.
Two programming questions were asked. The first was an array reordering one that was almost trivially easy but I worked through it cleanly. He seemed quite happy with that. The second was significantly harder than the first, a complex array algorithm. I worked my way through it on the board but my solution was non-ideal in time complexity after analysis. He suggested we rework it. While I was able to and understood the logic, I relied on his feedback a bit much to come to the final solution in the last minutes.
Got rejection email the next morning from recruiter. Apparently others in their interview pool for the position had got a more optimal answer faster.