[NDA] Facebook | E5 | Jul 2020 [Offer]
Anonymous User
1653

Hey!

I have learnt so much from Leetcode and like a lot of people I promised myself that I would share my interview experience if I end up with an offer from FB.

Background

I graduated from a Tier 1 college from India with a CS degree. FB has been my dream company ever since I started my career in early 2010s.

Attempt #1 (Phone Screen Reject)

  • I was working in a startup and I was one of the star performers in the company and I was under the assumption that I could land any job. So, few years into my first job I interviewed with very little to no preparation. I did very poorly in this interview.

Attempt #2 (Onsite Reject)

  • Tried again after 2 years, I brushed up on the basics and did a few classic problems, this time I passed the phone screen but did very poorly in the onsite. Looking back it was fairly easy and I was being evaluated for E4. I had never leetcoded at this point.

Attempt #3 (Phone Screen Reject)

  • 3 more years later, I decided to interview again. Saw a few problems on leetcode prior to the interview and FB was the first interview, I was very rusty and huffed and puffed to a solution for 1 problem, I failed the phone screen. That year I interviewed with at least 25 companies across USA and Europe mostly Tier 1 and Tier 2 companies, and ended up with 4 offers.

Attempt #4 (Offer)

Few months in to my new job, It's a very good company and I was making pretty good money as well. I decided to go all in on the process and try and give my best for FB. Looked at all the mistakes I made in the past, didn't rush to give the interview, I decided to fully spend time on prep. So spent about 2 hours everyday on leetcode, worked my way from Easy to Mediums to Hard. Focused on speed as FB requires you to solve 2 problems in 45 minutes. Did about 250 LC in total.

Phone Screen

  • Question 1: Fairly common problem related to strings [Medium]

  • Question 2: Again a top problem related to arrays with a twist [Medium]. Figuring out the twist part was the hardest. Spent about 15 minutes thinking about the optimal solution and coded it in the last 3 minutes.

    I felt I did well and I was called for an onsite after few days and I had 5 rounds

Onsite Coding 1 [HIRE]

  • Question 1: Common problem related to heaps [Medium]

  • Question 2: Not a top problem but this is easily solvable [Easy]

    Did Really well on this round.

Onsite Behavior [Strong HIRE]

Questions about my past experience etc. I spent about 4 hours thinking and writing down all my past work. That helped me do really well on this round.

Onsite Coding 2 [NO HIRE]

  • Question 1: A DP Question, not a popular one [Medium] - I came up with a slightly optimal version than the brute force. Spent all my time here so did not have time for another coding question.

Onsite System Design 1 [Weak Hire]

I felt I got a tough design problem here. I didn't do particularly well here. Explained the concepts and everything but my design was not race condition free.

Onsite System Design 2 [Hire]

This was a fairly simple related to ranking items. I had worked on similar systems in the past so it was pretty straightforward for me.

Verdict

After the interview, I was pretty confident that I will be rejected again and decided to chart a plan to make another attempt next year. But to my surprise the recruiter contacted me and mentioned that I will be getting an offer from FB. yay!

Final Thoughts

Preparation is super important. Interviews can be stressful, try to stay calm. Use the resources of Leetcode extensively. I saw about 100 FB tagged problems with a mix of easy, medium and hards. Regarding system design, practice with a pen and paper and do a lot of mock interviews with your friends.

Comments (5)