I have read several informative posts on LeetCode regarding FAANG interview experiences, so I figured it was my turn to contribute.
I made it pretty far. After the "vitual onsite" interview, my "packet" (containing the feedback of my 4 interviewers) was given thumbs up by an initial group of reviewers and then passed on to a more senior group who rejected it. While I am not totally sure why, between my wife and myself, we have some theories. For starters, the weakest feedback came from the "System Design" portion. I had actually opted for a "Product Design" and received good feedback on that. However, there were some comments about I did not design certain aspects of the system "to Facebook scale". I knew that I was missing a component and asked the interviewer for help. Overall, the feedback was good, but not great for that portion. My wife has a theory that Facebook likes to have "brand champions" in its employee base. I do not have a Facebook account, I had actually deleted it a while back quietly. Perhaps when the upper level execs were deciding whether they wanted to hire an experienced engineer like myself, and my application was kind of on the fence, this played a factor. It is hard to say for sure, but I did think that was an interesting take.
The recruiters that I worked with were really top notch. I was contacted through LinkedIn and asked to do an initial phone screening. The expectation is that you complete 2 coding questions in 45 minutes. I am not going to give the exact questions, but needless to say, you can easily find most/all of these questions on LeetCode. Something to note for interviewers, Facebook interviewers are more ore less "discouraged" from asking Dynamic Programming questions! How do I know? I watched some recorded prep videos provided by Facebook and they said as much. I can confirm, that out of the 7 coding questions I received in total, 0 of them required Dynamic Programming. This was a bit of a relief to discover because once I started digging into that subject, I realized it was not my strong suite.
Back to the initial phone screen. I did well! I answered both questions well enough for the interviewer to recommend me to the next round. One of the questions was an array-type searching question and another was related to binary tree traversal. Again, you can find the exact questions or ones like it easily on LeetCode. Although something that I learned over the course of my interview, memorizing solutions is not good enough. I had seen/solved about half of the questions that I encountered during my interview. Every single time, the interviewer asked follow-up questions, asked for explanations, asked for my thought process, etc. A huge and understated component of this type of interview is communication and explaining things. You must be able to show that you are able to critically think on your feet.
A while back, I actually had an interview with Amazon and one of the major things that I took away was that in order to do a 4 hour interview, you need stamina! I kind of petered out toward the end of my Amazon interview, so for Facebook I decided to drink some Zipfizz. It is similar to 5 hour enery drink and they sell it at Costco.
The format for the "virtual onsite" interview was 4 x 45 minute interviews with a 45 minute break in the middle.
In case folks ask, I have solved 250+ LeetCode questions. I did subscribe to Premium for a while and did several Mock interviews that I believe helped in terms of getting my timing down.
Not sure what else there is to say other than I hope some of you find this helpful.