Software Engineers (SWE) at Meta build new features and products that touch more than a billion people around the world. Our SWE interns are doing work that’s moving the needle for Meta: helping connect people, while solving unique, complex and impactful technical problems every day. If you’re interested in applying for a SWE internship—or just curious about the process—look no further. We asked two former SWE interns and SWE Intern Recruiter to provide a deeper look into our interview process, along with their top tips for putting your best foot forward.
The interview stages
“Our intern interviews are split up between stage one, which includes an initial phone screen, and stage two, an on-site (currently video chat) interview. What’s unique about intern interviews is both stages of the process have identical expectations, so the preparation is the same. Both interviews are led by a Meta engineer and are technical in nature, with you mainly solving coding questions,” Jessie, a SWE Intern Recruiter, explains.
Below is some insight on what to expect, how to prepare and some tips for a successful interview.
What to expect
1. Introductions: You’ll spend no more than five minutes introducing yourself with the engineer interviewing you. This will be short and casual.
2. Coding: The next 30 to 35 minutes will be spent on coding.
This takes place in an online collaborative editor shared between you and the interviewer for your phone screen and by hand during the in-person interview.
You’ll be given one to two coding questions to complete. Some are based on data structures, algorithms, binary trees, or topics pertaining to the scale of our technology. Don't stress if you need some time to think through the solution; this is expected. Just make sure to share what you are thinking so your interviewer can follow along.
There are many solutions to one problem. You can solve a problem any way you choose. Meta engineers use all types of languages, so use the language you’re most comfortable with.
3. Q&A: During the last five minutes, you’ll have the opportunity to ask questions. Come prepared with a few!
How to prepare
“An interview is typically different from the work you’ll be doing during your internship, so it’s important to brush up on skills you haven’t practiced recently. We recommend that candidates have either recently taken an introduction to data structures and algorithms or computer science class, or they spend a good chunk of time perfecting their skills on their own,” Jessie says.
Kanika V., a software engineer, adds, “Regardless of how good you are at coding, you need to practice. Data structures really matter. If you complete enough practice problems, you can usually problem solve your way through whatever the interview throws at you. I reviewed the major data structures and also did practice problems I found online.”
“I practiced topical interview questions online, which had really helpful explanations about solution improvements. I practiced answering questions in an IDE, which are environments that combine common activities of writing software into a single application, and also on paper, to prepare for both coding phone screens and white-board interviews,” says Melissa H., a software engineer.
Kanika adds, “Interviewing involves thinking and answering questions on the fly. To put ourselves in the interview mindset, my friends and I did mock interviews with each other. We did everything we could to mimic an interview environment—we gave ourselves time limits, asked each other tough questions, and practiced how we would talk through our thought process with the interviewer. We may not be interview experts, but the process helped me feel more prepared during the real thing.”
“I was quite insecure about interviewing. What helped me was to look within and ask myself why I wanted to work at Meta. This gave me the motivation to continue when the process got challenging. It was also helpful for me to think of the interview as a risk-taking opportunity with little downside and high reward. I knew that even if it didn’t pan out, I could take the interview skills I developed through the preparation process with me in future interviews,” Melissa says.
Top three tips for the coding portion
1. “Communicating during the technical interview is key. Take the time to speak to the interviewer as you’re coding. Explaining my different thought processes, verbalizing my intentions as I wrote code, and asking follow-up questions helped my interviewer understand how I problem solve,” says Melissa.
2. “Practice writing your code by hand with a pen and paper if your interview will be in-person and use CoderPad.io if your interview is via phone or video call. Schedule time to study and practice writing code so that you feel prepared,” says Jessie.
3. “Don’t worry if you don’t know the best answer immediately. If you find yourself stuck, start by thinking about a brute force solution and work on further optimizing after that. If the interviewer gives you hints along the way, that’s not a bad thing. Being able to understand what they’re saying and then applying it to your problem is what the interviewer is looking for,” says Kanika.
This post, originally published on September 14, 2020, was updated on October 6, 2022, to reflect our shift to Meta and new details about team members, roles and responsibilities.