

Snap Software Engineer (SWE) Interview Guide
Updated by Snap candidates
Snap, best-known for the 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 Spectacles, Snap is an exciting environment for designers, engineers, and product managers alike.
Given the huge upward potential of Snap opportunities to work on both hardware and software, competition for SWE jobs at Snap is fierce, and the interview process reflects this. Compared to other FAANG companies, past interviewees report going through harder coding problems.
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. 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.
Interview Process
Snap's interview loop is heavily technical, but you'll be asked behavioral questions throughout.
The initial recruiter screen is quite standard. Prepare to answer a few questions about your experience to effectively prove you are who you say you are. Afterward, 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 getting very difficult questions right off the bat. The difficulty level will vary 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. You'll also 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 provided immediately.
Coding
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:
- Data Structures: Arrays, stacks and queues, linked lists, hash tables, etc.
- Algorithms: BFS/DFS, searching and sorting algorithms, etc.
We recommend practicing coding questions 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 also reported technical questions having to do with:
- Recursive algorithms
- Building a basic calculator
- 2D arrays
- Hash tables
Check out Exponent's SWE interview question bank for more examples.
System Design
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 are 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:
- Review the fundamentals including web protocols, API design, replication strategies, etc.
- Watch a few system design mock interviews such as "Design TikTok."
- Try a few self-guided practice problems, like this one on designing a web crawler.
- When you're ready, sign up for a peer-to-peer system design mock.
Behavioral
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:
- Your background: Any experience listed on your resume is fair game.
- Your impact: Specific examples and the resulting impact of previous work.
- Your ability to self-reflect and learn: What did you learn from past experiences? Successes? Failures?
- Your motivations: Why engineering? Why Snap?
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:
- We Are Kind: We operate with courage, show empathy, and instill trust through honesty and integrity.
- We Are Smart: We solve problems through action, make high-quality decisions, and think with a strategic mindset.
- We Are Creative: We gracefully manage ambiguity, cultivate innovation, and demonstrate an insatiable desire to learn.
You may also want to review Snap's engineering values:
- Customer Focus: We do what is right for our customer, Snap, and our team, respectively. Positive and successful teams commit to the mission and to each other. Instead of serving themselves, they serve one another.
- Execution: We focus on the key inputs and deliver them with the right quality and in a timely fashion. We never settle. Ideas are easy, execution is everything.
- Craftsmanship: The care we put into our work is what delights our customers and makes them love Snap. Fast and good are not mutually exclusive. We are curious and always seek to learn and improve our skills.
- Creativity: Software engineering is a creative process. While our key metrics are vital in how we manage our business, sometimes the right solution can't be achieved just by optimizing metrics. We take risks and don't let setbacks derail our pursuit of innovation. We learn from our customers, iterate early and often and learn from our mistakes.
- Accountability: We understand how our work impacts others and we own our mistakes. We write code with the future reader and maintainer in mind and realize a project is not finished when shipped; 80% of execution happens post-launch.
- Empathy: We assume the most favorable interpretation and give the benefit of doubt, listening and seeking to understand why people have the positions they do in order to come to the best conclusions. When we disagree, we are respectful and humble towards each other. We create a safe and inclusive workplace and embrace different thoughts, people and backgrounds which allows each of us to be uniquely ourselves. Diversity makes us better.
- Integrity: We are consistent between our words and actions, regardless of the situation or audience. We are not afraid to speak up or disagree. Once the decision is made, we commit to its success fully even if the decision wasn't what we wanted.
- Audacity: Thinking small is a self-fulfilling prophecy. We create bold objectives that inspire results.
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.
FAQs
- What is it like to interview with Snap as a SWE? Much like any other large startup or even FAANG SWE interview loop. You'll have a recruiter call, a technical screen, and an onsite loop with coding questions and a system design round. You'll be asked behavioral interview questions which interrogate your background and your motivations. Snap interviews can be quite difficult technically, so we recommend drilling plenty of data structures and algorithms questions and getting familiar with their engineering culture via their engineering page.
- How long does the process take? Many interviewees report that Snap is very efficient. Some interviews concluded in as little as three weeks! Be sure to be friendly and responsive with your recruiter, and you'll likely find the experience positive.
- How hard are technical interviews at Snap? Answers vary because the process differs from team to team. Most candidates reported receiving medium- to hard-level coding questions, and code quality standards are high (no pseudocode, everything is expected to run) so take your time prepping.
Learn everything you need to ace your Software Engineer interviews.
Exponent is the fastest-growing tech interview prep platform. Get free interview guides, insider tips, and courses.
Create your free account