Facebook | Intern | Menlo Park | April 2020 [Offer]

Status: CS Student (not prestigious school), working part time as a software engineer at a local startup for the last 1.5 years
Position: Software Engineering Intern at Facebook
Location: Menlo Park, CA
Date: April 10th 2020

I was initially contacted by a Facebook recruiter on Linkedin, who asked for my CV and after reviewing that, came back to me and scheduled a phone call. During the phone call, we discussed the available internship positions, and decided on the position in Menlo Park. Following this, there was a 45 minute technical interview (more detail below). After I passed this, the next interview is meant to be onsite, but Facebook has moved their onsite interviews to video conferencing (VC) due to COVID-19, so there was a 1 hour interview with 15 minutes of behavioural questions and 45 minutes of technical questions. A few days later I got a call from a recruiter and they gave me an offer.

One interesting point about the technical interviews with Facebook is that your code is never compiled or run, so you have to be attentive to catch bugs and edge cases. Something that helped me with this is walking through the code logic with an example. It's important to make sure that each line of code is working as it should, and not just as you assume it should. e.g. if you're calculating the mid index of a string or array for binary search, follow the maths to make sure you're getting the right answer instead of just assuming it's correct.

Technical VC interview (45 minutes):

  • 2 LC medium questions
    • First question was LC 380: https://leetcode.com/problems/insert-delete-getrandom-o1/. I struggled with getting the optimal solution for this question and required a few prompts and the interviewer had to catch a few edge cases and bugs for me. I eventually wrote out a complete working solution.
    • Second question was LC 22: https://leetcode.com/problems/generate-parentheses/. I ran out of time before completing the code for this question, but I gave a valid and logical solution to the interviewer and had a basic structure of the algorithm, so I was given the benefit of the doubt and the interviewer commented that we would have reached a complete solution if we'd had more time. There are two tips that helped me pass this question. Firstly, clear and logical communication with the interviewer allows them to understand where you're going and can save you if you don't get to finish the question. Secondly, using helper functions in your code without explicitly writing them out can save you crucial time. For example, I used an isValid helper function in my code to determine whether a closing or opening bracket was valid at the next point in the string. As long as you can explain what that function would logically do, you don't need to write it out immediately.

Final VC interview (1 hour):

  • 15 minutes of behavioural questions. Be prepared to talk about your previous projects/work and what challenges you had and how you worked through them.
  • 45 minutes of technical interviews with two LC medium questions.

Result: Offer!

Best of luck with your interviews!

Comments (2)