Hello leetcode community.
I just want to share my experience interviewing with Facebook for E4. Unfortunately, I didn't received an offer.
I applied arournd January 2021 and recruiter reached me around the first days of February. I can't discuss the specific problems due to NDA.
My background: Backend engineer with 2 YOE
I've been leetcoding for a year and a half but this year I decided to put the extra work, so daily I spend around 4-5 hours on solving problems
First technical phone screen:
I was asked one of the easy top FB tagged question and another question related to sorting some numbers. I proposed several implementations but I was asked to get the most optimal one. I didn´t had the chance of coding the full solution but I explained my approach to the interviewer.
Second technical phone screen:
Recruiter contacted me a few days later saying that the interviewer wasn't able to get some "signals" and they wanted to schedule another phone screen.
On this round I was given two FB tree questions. I got the solution fast and the interviewer asked me another tree question that I haven't found on LC but its pretty similar to the top tree questions with a small tweak. I was able to code the solution.
OnSite
Few days later the recruiter reached to me to let me know I made it to onsite. I scheduled it over a month to have time for preparing.
First round: Coding
I was asked a FB hard tagged question and was able to come up with the result. Interviewer seem satisfied and then we jumped into a FB medium tagged popular question. I let my interview know that I had solve the question before and we just discussed the algorithm, then I was asked some palindrome question.
We had around 5 minutes and I just explained the algorithm to him. I think this was my best round
Second round: Coding
I think this was the worst one. I was asked a FB medium tagged question. As before I let my interviewer know that I had solve that one before and we just discussed the algorithm.
Then I was asked another question similar to a FB medium tagged one. I started discussing my approaches but the interviewer was always rushing me. He wanted the optimized solution ASAP.
I started coding the optimized solution and he told me: "We got like 10 more minutes for this problem so we can jump to another question", so he put a lot of pressure on me and I coded the problem with a lot of bugs, then he told me that we were just going to focus on finishing this problem, which was very frustrating.
I had to change some parts and I explained to him how it was going to work and the TC and SC but at that time I was very confused and I wasn't able to explain the complexities well.
Third round: behavioral
This one went well. The interviewer was very friendly and in the last 10 minutes I was given a FB tagged easy popular question. I coded it with no problem.
Fourth Round: System Design
This one was a bit difficult because I couldn't understand a word that the interviewer said. It was very difficult because he didn't spoke clearly.
This wasn't one of the regular questions you get on GSDI, it was related to some FB functionality. At the beginning I struggled to understand well the system and the estimations, but from there on I proposed what I think its a good system for that functionality.
The interviewer didn't say a word after the estimations.
Fifth round: behavioral
The interviewer didn't seem satisfied with my stories and in a few of them he interrupted me to tell me that it wasn't a good example. At the end I had another FB easy tagged question, he wanted the optimal solution straight away and I had some complications to get to it. He gave me a few hints and I was able to coded it up.
Result
Recruiter contacted me after a week to tell me that I was rejected. He mentioned that my code was the most affected part. So I don't really know if telling your interviewers that you had solve the questions before really matters. My feedback for my behavioral was good and for System design was on borderline.
It really sucks after the amount of hours that you spend studying apart from having a full-time job. But I will not let this failure get in my way.
We're prepared to endure 100 losses for 1 win
I hope this post helps you in your future interviews. Best of luck to all of you! Stay hard!