Interview at amo

amo is committed to an objective hiring process based on skills and qualifications. For this reason, we use structured interviews, an interview format that uses predetermined questions and a reliable rating scale. Structured interviews help us moderate interviewers’ biases and give every candidate the same opportunity to succeed.

We want your time interviewing with amo to be as smooth and comfortable as possible. So we created this guide to go into detail on what to expect and how to prepare best for d-day!

Interview Process

The interview process at amo is composed of 3 steps:

1. Technical Screening

The purpose of this interview is for you to speak directly to an engineer working in the same org as the position that you are interviewing for (iOS, Android, or Backend). There will be a mix of targeted questions about technologies to understand your depth of expertise in a given domain, and also a live coding assessment to get a sense for your problem solving skills.

Here are some details about what to expect during the interview:

  • Technical Questions: 2-3 questions assessing general computer programming knowledge. These are basic questions against the speciality you are applying for.
  • Coding Exercise: We want you to consider a technical problem and test your ability to come up with a robust and performant solution in code. We will be more interested in your approach to resolution than 100% compilation correctness.
  • Candidate questions: Your turn to ask us anything you want (more on the life of a Software Engineer at amo, the tech stack, upcoming challenges...)

Tips & tricks:

  • Dust off your knowledge on basic frameworks and daily tools.
  • Practice coding on LeetCode - a great platform to help you prepare!
  • Most importantly, we've got your back if you need a hint or two.

Technical screenings are conducted by a full-time member of our engineering team engineer and will happen remotely using coderpad.io for the coding part.

2. Core Tech Assessments

Typically after a successful technical screen, we’ll move on to the core tech assessments, which may be done onsite or remote depending on where you are located.

iOS or Android

You’ll have one of each of the following interviews:

Concurrency

We will focus on your understanding of concurrency problems in close to real-world components.

Debug

We will provide you with a buggy project and assess your ability read and debug code in an unfamiliar codebase, eventually providing a robust fix and corresponding non-regression tests.

Data structures

We will dive into concrete usage of common data structure and test your ability to come up with solutions using them efficiently.

Backend

You’ll have one of each of the following interviews:

Concurrency

We will focus on your understanding of concurrency problems in close to real-world components.

Debug

We will supply you with a project containing some issues. Your task will be to navigate this unfamiliar codebase, identify the problems, and implement solid solutions.

Architecture

We will architect a backend system, drawing inspiration from actual features we've successfully implemented and shipped at amo.

For on-site technical interviews, we will provide you with a MacBook Pro for the entire duration of the interview. We will also provide test projects (already setup VSCode or Xcode projects).

3. Final Round

The final interview(s) will be non-technical and will focus on your personal history and how you got to where you are today. We want to hear about your biggest achievements/failures, toughest challenges, and the smaller details that make up the bigger picture of your journey to this moment in your career. This is also a time for you to ask any questions that you may have - the more questions the better!

During the final rounds you’ll have the chance to meet with cross-functional team members and some of our co-founders. Depending on the availability of the team, these conversations can occasionally be split into two interviews on separate days. Your recruiter will inform you about your specific case, but don’t be alarmed if there is more than one interview here — we just want to make sure you get to meet as much of the team as possible!

Decision and offer

We strive to make the time from interview to decision the fastest possible. The final step is for us to review your performance during the interview and perform reference checks from former colleagues or managers you agree to provide us with.

As soon as both are done, we will be ready to inform you with our final decision and offer!

You can expect to hear from us within 72 hours on average.

How to prepare:

Technical Interviews

As you will be coding remotely on coderpad.io during the Technical Screening, we recommend taking a few minutes to practice using it beforehand.

Non-Technical Interviews

This is our chance for us to learn more about you, your story, and your interests. It’s also your chance to learn more about amo from early employees directly and make sure we’re a good career fit for you.

Come up with questions for your interviewers, consider expectations for your next job, what you’d like to get out of your next work experience and what you’d like to see and avoid. Don’t hesitate to ask about company goals, challenges, team work, etc.

During the interview

Ask clarifying questions, communicate with your interviewer, think aloud. Long moments of silence are ok — consider taking a minute or two for critical thinking where necessary.

Thank you again for taking the time to interview with amo! We want to make your experience as smooth and comfortable as possible, so please let us know if there is anything else we can do to make the process better.

We are all excited to get to know you!

Made by friends for friends from Paris