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

Example database schema and Endpoints