Snap, best-known for its popular social app, Snapchat, believes that "reinventing the camera represents our greatest opportunity to improve the way people live and communicate." This core belief drives Snap as both a tech company and a camera company, developing hardware and software. From fun filters to high-tech Spectables, Snap is an exciting environment for designers, engineers, and product managers looking to
Given the huge upward potential of Snap and opportunitites to work on both hardware and software, competition for SWE jobs at Snap is fierce, and the interview process reflects this. In many FAANG interviews for example, your coding questions will be (Leetcode) easy to medium. Not at Snap. Interviewees report multiple hard coding problems throughout the loop - don't let that scare you too much, though.
Hiring is not completely standardized across Snap, so depending on what team you interview with, your interview process may be easier or harder. Several interviewees report the difficulty-level being on par with Facebook, and others report harder questions being asked at Google.
Our best advice is to familiarize yourself with the process as best you can, and do plenty of practice! Read on to learn more.
After an initial recruiter screen (quite standard; answer a few questions about your experience to effectively prove you are who you say you are), you'll dive right into technical challenges!
First, you'll go through a technical screen with an engineer, or potentially even the hiring manager. At Snap, these are often over Google Hangouts, and they run approximately an hour long. You'll answer some more in-depth questions about your experience and your interest in Snap, and then you'll proceed to one or more coding questions.
Interviewees report relatively standard data structures and algorithms questions being asked at this stage, but some interviewees reported that they were asked Leetcode Hard questions right off the bat. The difficulty level will vary a lot based on what team you're interviewing for, but when in doubt, be sure to study data structures and algorithms questions thoroughly. Snap wants to see a correct solution, but they're also looking at code quality and speed.
If you pass the screening round, you'll be invited for an on-site interview loop where you'll complete four technical rounds and have lunch with a non-technical employee who will answer your questions - and assess you for culture fit.
The onsite includes several more coding rounds and at least one system design round. Logistically, Snap is quite flexible - if you prefer to use the whiteboard, you're free to do so. If you want to use your laptop, that's fine too. They are sticklers for code that runs though, so you can forget practicing pseudocode.
While Snap interviews are thought to be on the hard side, many interviewees we spoke to found the whole process incredibly smooth and hassle-free. Recruiters were direct, interview results were available hours after they were held, and next steps were accessible immediately.
Snap's interview loop is heavily technical, but you'll be asked behavioral questions throughout.
Technical questions at Snap fall into 2 categories: coding and systems design. As we've mentioned, coding standards at Snap are quite high, so in addition to writing accurate, fast, bug-free code, you should showcase strong problem-solving skills and flexibility.
You'll want to study fundamentals like:
We recommend practicing at a Leetcode medium-hard level in a simulated interview environment to make the most of your prep time. Many interviewees reported being asked infamously difficult dynamic programming questions, so be sure to study up!
Interviewees reported technical questions having to do with:
Check out Exponent's SWE interview question bank for more examples.
Systems design questions are more open-ended than coding questions and are designed to test your thought process as well as your knowledge of high-level technical concepts. If you can strike the right balance between structured thinking and creativity, your chances of acing these questions is good.
Some general example questions involve architecting a video distribution system or designing a mobile image search client, but Snap may ask you to work on a Snap product. For example, you may be asked to design a photo sharing service. Alternatively, your interviewers may choose to give you a problem from your domain - for example, if you worked on a payment system, they may ask you to design one.
The best way to prepare for system design interviews is to:
Snap's culture and values are important to the company, so you'll be asked behavioral questions throughout, as well as undergo a lunch "interview" with a cross-functional team member. Behavioral questions vary, but expect to be asked about:
To prepare, we recommend creating a story bank of stories and experiences that would be relevant to your Snap interview, based on their company values which include:
You may also want to review Snap's engineering values here:
When answering questions, we always recommend using the STAR format to avoid rambling. Of course, the best way to prepare is to practice behavioral interview questions.
Exponent is the fastest-growing tech interview prep platform. Get free interview guides, insider tips, and courses.
Create your free account