Triplebyte Interview Guide
We don't believe there's anything to gain by surprising candidates in an interview. Programmers don't typically code under pressure at real jobs. We want to see how you do when fully prepared, not when nervous.
To that end, this guide describes the types of questions we ask and what we're looking for.
Note: once you schedule an interview time, we'll email you an even more detailed interview guide with suggestions for how to prepare for your specific interview track.
The Triplebyte interview is just talking to and sharing your screen with one of the Triplebyte engineers over Google Hangouts. The interview is confidential, takes two hours including a short break, and has four sections:
- Short-answer discussion
- Working with an existing codebase
- System design
For generalist engineers, the practical programming section involves writing a small console application.
For mobile and front-end engineers, we'll have you build a small mobile or web app, starting from an empty boilerplate project of your choice.
In both cases, we'll give you a straightforward spec to build step-by-step, and you can ask questions if you like. Nobody gets through all the steps—just get as far as you can! You can use your own development environment and programming language of choice.
We're looking for your ability to write clean, correct code, while productively making progress against our specification.
You can prepare by practicing building small, well-defined programs in a limited amount of time.
We don't believe in asking hard algorithm questions or brain teasers, but we do think there's value in measuring your knowledge in a wide range of technical topics. Depending on your interview track, we'll ask questions about topics like data structures, low-level systems, web systems, security, and algorithms. We do not expect anyone to be strong in all of these areas.
We're looking for which topics you know the most about, and your ability to communicate with another engineer about technical topics.
This section is difficult to prepare for specifically. A wide range of experience in building software is the best preparation. We do recommend you practice speaking concisely about technical topics you already know about.
Working with an existing codebase
In the generalist interview, we'll give you a medium-sized codebase with a few failing test cases. We'll ask you to find and fix the underlying bugs, one at a time. We'll give you a detailed description of what the software is intended to do ahead of time.
We're looking for your ability to read and understand someone else's code, and your process and intuition around debugging. Experience troubleshooting small issues within a shared codebase is the best preparation for this section.
We'll describe a hypothetical software product or service, and then ask you to describe how you'd break that down into a system you could actually build.
We're looking for your ability to talk about the architecture of a software project, and show your understanding of how all the pieces fit together. Experience building software and making design choices is the best preparation for this section.
Personal interview feedback
We believe feedback is important, so after the interview, we give everyone detailed feedback on each section with concrete suggestions for improvement.
After the interview
If we find a bunch of matches between your skills and the companies we work with, we'll say "great, let's work together", and introduce you to a Triplebyte Talent Manager, where the matching process will begin. We'll ask you a lot more questions about what you're personally interested in, and we'll show you a list of 10-20 companies where our data predicts you're a great technical fit. After that, you'll narrow down your favorite five to be introduced to for final interviews with each company!
Sign in to https://triplebyte.com/ to continue with our process.
Also see our Frequently Asked Questions.