fbpx

Nailing the Software Developer Intern Interview at Facebook

1_5AqfJN-HDSMlEhL8sAxs2g

ARTICLE SUMMARY

Anjali Viramgama shares her tips for success when it comes to nailing the software developer intern interview process at Facebook.

Interviews can be scary, but knowing what to expect can help a lot! I have tried to sum up the Facebook intern interview process for software developers in this article.

1. Apply

Build an awesome resume and apply online on the careers website! I have had several people DM me about how unfortunate it is that Facebook doesn’t come to their college, that’s okay! You can always apply online, they do go through your resume and select you if they find you a good fit, I promise. That’s how they got back to me!

2. Prepare

Practice, practice, practice! They ask questions about data structures and algorithms, and I asked a few Facebook engineers how this works. Turns out they have a database with tons of interview questions, and your interviewer picks any random question to ask you. So just because someone was asked about trees and arrays, doesn’t mean you will be asked the same. If you really want to be selected, you have to master everything; no excuses, no exceptions, do it for your dream 🙂

3. Nail It!

The Facebook interview! It consists of two rounds:

Technical interview: This takes place online, and is about 60-75 minutes long. You are given a link to an online collaborative editor, where you code while talking to your interviewer. During the first 15 minutes, your interviewer goes through your resume and asks you about your projects and career. The next 60 minutes are spent solving 2 coding questions. The first question is generally easier. The last 5 minutes are for you to ask them any questions you may have about life at Facebook.

Onsite interview: This can also happen online instead of onsite depending on your location and the circumstances. If your interview is onsite, have fun! You’ll get a tour of Facebook’s headquarters and talk and network with a lot of people. Mine was online though, so I can’t elaborate further. The coding part had the same structure as interview one, but it was longer with harder questions. There will be design and behavioral questions also asked in the second round.

The optional third interview: This doesn’t usually happen unless the interviewers are really unsure whether they want to accept you or reject you. If it does happen, it’s the same level of difficulty as the second one.

Difficulty wise I would say they ask Hackerrank/Leetcode medium and hard questions. I had a lot of people ask me about where to practice from, my answer is, do whatever suits you! You can use Hackerrank, HackerEarth, CodeForces, Codechef, Leetcode, etc. I used Hackerrank and Leetcode a lot. Working on tons of projects helps too, I used to do really weird projects on weekends. I once built a Thanos browser extension, clicking on it made 50% of your tabs disappear :D. It’s very helpful when I have too many tabs open. These simple projects helped me apply my coding skills and learn a lot than the usual competitive coding. I plan on writing another article to elaborate on my one-year of coding strategies.

Some useful tips:

  • Know your resume inside out, and never lie or exaggerate on your resume.
  • Prepare for general questions like one failure and how you overcame it, one project you are most proud of, one time you worked with a team, one time you led a team, etc. Note that not all of your answers need to be technical. I talked about my failure as the time I lost a football match at the state level because of my overconfidence 🙂
  • Code fast. Keep track of time, you should be done with the first question in about 20 minutes because the second one is going to be harder. I managed to solve both my questions and we still had 15 minutes left. That really impressed my interviewer and he asked me a third question which I solved within time also, and I got the offer letter a week after that 🙂
  • Your interviewer will mention this, but if not, ask him/her how many questions you will be asked right before you start your interview, to ensure you know how to manage time.
  • Talk out loud while solving your code, they are interviewing you to know your thinking process, not to test whether you can solve a question. They can also warn you early on if you are going in the wrong direction if you clearly enunciate your thoughts.
  • Test your code yourself out loud taking different example cases before telling your interviewer that you are done. The number one reason I have been rejected by companies in interviews is that I wrote buggy code.
  • Look for exceptions or specific cases where your code might not work. And constantly ask questions back to clarify that you understand the question correctly.

Here’s a very simple example:

Find the two largest numbers in an array of numbers.

  1. Does the array have ints or floats?
  2. Can the numbers be negative?
  3. Can the numbers be repeated?
  4. What do I return if the array has 0 or 1 element only?
  5. What do I return if the array is [7,7,7,8,8,6]? [7,8] or [8,8]?

More tips!

  • Even a question as simple as the one stated above can have several weird situations, which you need to address.
  • You will always be asked, “Why Facebook?” in the end. Know why you want to work for the company, and have an answer ready for that question.
  • Practice coding on a whiteboard.
  • You will always be asked what the time complexity of your code is, so understand complexities well.
  • Choose your favorite language and practice competitive coding in only that language.
  • If you are stuck, do not panic, it’s better to ask for hints instead of staring at the question for 20 minutes and not solving it. The interviewers want you to succeed, they are not trying to trick you.

For first and second-year students, there is something called Facebook University, which is basically an internship only for students in the first and second year of college, it’s easier than the usual internship, and your competitors while interviewing will only be people your age! I didn’t know about it when I was in first/second year, I REALLY wish I did, so I just wanted to put this out there.

RELATED ARTICLES

Preparing for a job interview can feel daunting, but with the right approach, you can turn your anxiety into confidence. Whether you’re a seasoned professional...
Neha Srivastava, a seasoned software engineer, highlights the pivotal role effective communication plays in securing coveted tech positions. She provides invaluable insights to excel beyond...
Paige Coulthurst, the Operations Director at Soap Media and a Technology category shortlisted candidate in the 2024 Campaign Inspiring Women Awards, offers invaluable insights for...