I applied through a recruiter. The process took 3 weeks. I interviewed at Meta
Interview
I didn't end up getting an offer.
Due to NDA I cannot explicitly write down the questions, but look at the last 150 questions in Glassdoor and CareerCup and you'll do fine (I did fine in the coding rounds, get to that in a bit).
Usual advice: Do a lot of white-boarding for questions and be ready to talk extensively about your projects and architecture and design.
Screening Round:
I applied to Facebook by getting connected to a recruiter through a colleague and friend. The process started in Seattle and I opted for a in-person onsite interview for the screening round (they have this option for locals in Seattle/California).
The interview went well i.e. I figured out how to solve the question in optimal time and space complexity. I made some mistakes here and there while writing the solution down but the interviewer didn't seem to mind. Contrary to what I had heard, he wasn't too anal about syntax (also helped that I write in C# he wasn't very familiar with it)
Onsite Round:
I received an email from the recruiter that they wanted to move forward and call me onsite. I was like, cool!
I took around 2 weeks to prepare and also tried to do design questions. I felt a bit under prepared around design and tried to make up for it in the last few weeks by watching videos around cloud architecture (and open source stuff like Hadoop, Kafka and Storm).
Onsite was pretty straightforward. First round was a career fit/discussion and I did pretty well (I think). It was mainly some behavioral questions and a lot diagrams around the architecture in my current and previous projects.
Second round was the one that I messed up.
The question was around designing an existing Facebook feature (as a hint, think about the various add-dons you see on FB and instagram like Chat, Search, latest friend related news or popular links). When you really dig into designing this feature, its quite complicated and requires a reasonable amount of knowledge around distributed data storage etc. etc.
You need to nail this round to get into Facebook (in my personal opinion). I'm guessing they will adjust their expectations based on your years of experience.
There was a lunch which was informal and two more coding rounds where they asked questions that were very similar to the ones I had practiced. I made some silly mistakes here and there but again (due to practice) came up with optimal time/space complexity answers.
Got my result exactly one week from the my onsite date. No offer. But learnt a lot.
Overall, the process took a little over two weeks, which felt a bit longer than I anticipated. After a quick screening, I went through two technical rounds focusing on coding and DSA concepts. One of the questions was a classic palindrome check; mid-way through, I realized it was something I had practiced on PracHub just days earlier. The final step was a casual behavioral interview. I was relieved to get an offer shortly after, which I happily accepted.
Interview questions [1]
Question 1
Given a string, determine if it is a valid palindrome considering only alphanumeric characters and ignoring case.
I applied online. I interviewed at Meta (Menlo Park, CA)
Interview
It's honestly striaght from leetcode tagged
There are no surprises if you do tagged you would be good and do well.
System design is much harder. Would recommend using hello interview.
Interview questions [1]
Question 1
Design Twitter and consider if it was suddenly an extremely low latency env
Grateful doesn't even begin to describe how I feel about landing this role. The interview loop was smooth and friendly. They kicked things off with a technical round where I faced a DSA question about verifying an alien dictionary. Lucky for me, the time I'd spent on PracHub paid off, as it had the same type of problem just days before. After that, I had a system design discussion and a behavioral interview. Everything felt very collaborative, and by the end, I received an offer that I was thrilled to accept.
Interview questions [1]
Question 1
Given a list of words written in an alien language and the order of letters in that language's alphabet, determine whether the words are sorted lexicographically (Verifying an Alien Dictionary). Walk through the comparison approach using a character-to-index map, the O(C) time complexity where C is total characters, and how you'd extend it to handle words with mixed-case letters or words containing characters outside the given alphabet.