Phone round: https://leetcode.com/discuss/interview-question/617157/Facebook-or-Phone-Screening-or-cleared
After a long time, I'm getting to write this but I'm glad this happened :)
All thanks to Leetcode (for improving my coding skills) and a friend who literally taught me all about system design as I knew nothing like Jon snow :P
About the Onsite Interview (PS: It was all virtual)
-
4 rounds
- 2 coding rounds: Ninja Interviews at Facebook
- 1 System Design: Pirate Interview at Facebook
- 1 behavioral: Jedi Interview at Facebook
-
Ninja Interview :
- 2 LC problems (one easy and one medium question) ( cannot share the questions because of NDA signed).
- pretty doable but the interviewer counter questions on the complexity and prefers the most optimum solution
- do not make mistakes while writing the code and always dry run it before saying that it looks good. Trust me silly mistakes cause a negative impression.
- take 15-20 mins per problem. Code clean and dry run the code in comments.
-
Pirate Interview :
- A cab booking service was discussed.
- the discussion included a lot of discussion on Driver and customer matching service, map service, and load balancing.
- also included discussion on the type of connections (web-socket or Long poll)
- A discussion on scale and numbers, type of DB, and why that DB was chosen apart from other DBs took place.
- Schema was discussed as well.
- this interview plays a huge role in levelling so talk and drive this to your benefit.
-
Jedi Interview :
- Discussion on the projects in the current company.
- motivation behind the interest in Facebook
- some questions related to conflicts and how I resolved them.
- most recent feedback received?
- what sort of environment I like to work in?
- the discussion was very healthy and the interviewer was very polite. overall I was very satisfied with how it went.
About the timelines and keeping that patience
- April 2020: initial call with HR
- May 2020: Phone interview
- June 2020: Ninja, Pirate Interviews (E4 freeze so process did not continue)
- Sept 2020: Jedi interview (had joined another company in the meanwhile)
- received positive feedback for E4 position
- received offer letter 2 weeks later
About me
- I started Leetcoding this January and have currently solved ~700 LC questions
- Easy: 300, medium: 350, Hard: 50
- I have 3 years 3 months of experience
- A full-stack developer in a non-FANG company
- for System Design I followed G-R-O-K-K-I-N-G and d-o-n-n-e-m-a-r-t-i-n System Design Primer and a few YouTube tutorials
Overall experience of the process
- this was my first attempt at Facebook and I felt very prepared when I was going to appear for the onsite.
- at the time of onsite I had solved around ~450 questions on LC
- the point in the whole process from Jan to Sept was to stay regular. Take part in contests every week, assess yourself, and stay motivated.
- this regularity definitely pays off in one way or the other. I cracked interviews of 3 companies and believe me I was at ground zero in Jan. So If I can do it, Anyone else can do it as well.
- to prepare for System Design Interviews, don't stay at the surface and mug things up like in some youtube tutorials. Question the how and why of the choices and methods. Build your own design for a standard list of applications like Instagram, TicketMaster, Yelp, Netflix, Messenger, etc.
- for the Jedi Interview: revise all the projects to all the details. Have the numbers of each project handy to showcase the impact of that project. Stay honest and clear about your goals and aspirations, the interviewer appreciated that about me.
I would like to thank all the people who post experiences on Leetcode. You guys are gems. This is my way of giving back to this solid community :)
Cheers !!