A Guide to the
Backend Interview
Applying to our team should be accessible to anyone, so we've put this guide together so you know what to expect during your interview.
General Advice
Focus on the approach. We’re more interested in seeing how you think about problems rather than whether or not you can solve them.
Be your authentic self. We value new perspectives and will do our best to create a comfortable, unstressful environment.
Ask questions if you need clarification. It shows that you know how and when to ask for help.
First Round
Behavioral
The goal of this interview is to better understand you as a person and teammate. We want to learn more about you as a person and how you work in a team setting.
We may ask you to recall a certain situation from your past experiences or describe how you would mediate different conflicts in various technical settings.
We may also assess your fundamental backend knowledge by asking a few conceptual technical questions.
Tips for the interview
Details of anecdotes aren't as important as talking about your thought process and learnings
Final Round
Technical
As outlined below, the technical interview is composed of two sections: the system design and the coding question.
Coding Question
The goal of this part of the interview is to simulate the real environment in which you might work as a backend developer so we can better understand how you code and debug.
Be prepared to answer 1-2 coding questions on a whiteboard using the language that you are most comfortable with such as Python, Java, etc.
Tips for the interview
Explain your thought process while coding so we can understand your problem-solving approach
After you code up your solution, we will ask you about the time complexity so be mindful
Talk about test cases and improvements for edge cases that you might have missed
If you’re confused about the task, don’t be afraid to ask clarifying questions
System Design
The goal of this part of the interview is to better understand how you think abstractly about backends. Generally, we will ask you how you would design a backend for a particular application.
Be prepared to draw diagrams, explain model data and relationships, and talk through your thought process.
You will not need to code during this question.
Tips for the interview
This question is meant to open ended, so think of it as a brainstorming session
Talk about tradeoffs – we want to know the reasoning behind your design decisions
Example Question
Imagine you are a backend developer that’s been contacted by Kylie Jenner to make a food social media app, where users can foster a community around sharing food and recipes
Q1: How would you design a database schema for your app?
Your database should reflect relevant entities, fields, and relations for a food social media app. For example, one entity you may want to implement in your app is a Recipe. Feel free to ask clarifying questions and we would recommend that you plan out your tables before going into the fields.
Q2: What about these extra features?
Forking off of recipes of another user
Detecting ingredient replacements
Q3: What are some key endpoints?
Be more specific than the usual CRUD endpoints.
Q4: How would you implement an endpoint for these features?
Retrieving the average stars (reviews) of recipes from a given user
Finding the most popular recipes among users