Technical interviews test how you think as much as what you know. Good preparation means the interviewer sees your real ability, not your nerves.

Before the interview

  • Know the format. Ask whether it's a take-home task, live coding, pair programming, system design or a conversation about past projects. We always brief our candidates on this.
  • Research the product and the stack. Use the product if you can, read the engineering blog and look at the job description for the technologies they mention.
  • Refresh the fundamentals. Data structures, complexity, your main language's quirks and the core ideas of the frameworks you list on your CV.
  • Prepare two or three project stories. A problem, what you did, the trade-offs you made and the result. Interviewers love specifics.
  • Test your set-up for remote interviews: camera, microphone, screen sharing and a quiet room.

During a coding exercise

  • Repeat the problem back and ask questions before you start. Clarifying edge cases is a good sign, not a weakness.
  • Think out loud. If you get stuck, explain what you're trying, so the interviewer can follow and help.
  • Get a simple version working first, then improve it.
  • Test your code with a couple of examples, including an edge case.

System design questions

Start with requirements and scale, sketch the main components, then go deeper where the interviewer shows interest. Talk about trade-offs openly: there is rarely one right answer.

Questions to ask them

  • How does the team plan, build and release work?
  • What does a good first six months look like in this role?
  • What are the biggest technical challenges in the next year?

Afterwards

Write down what went well and what you'd do differently, while it's fresh. If you're working with us, we'll get feedback from the hiring manager for you, whatever the outcome.