My TripleByte Data Science Experience

Ben Ewing


Categories: personal Tags: job-search

What is TripleByte?

TripleByte aims to simplify the hiring process for candidates and companies by conducting background-blind interviews to certify candidates (seriously, you can get a certificate) based solely on their skills. The TripleByte process is meant to replace every interview except the final round, in theory easing the burden on job-seekers, who need only prepare for a single standardized interview (plus the final round), and speeding up the hiring process for companies.

Around April 2020, as I was preparing to graduate and ramping up my job search, I started the TripleByte Data Science process. There are four steps which I will cover in the following sections: the quiz, the interview, going live, and final round interviews. Note that the thing had just started to pick up steam in the U.S. when I started; my experience may very well be atypical (but what’s normal now anyways?). I should also note that I am very invested in continuous learning, the weaknesses I discuss in this post are areas where I am actively working to develop more comfort.

Note: TripleByte offers a pretty generous referral bonus (currently $3000). I’m conflicted about including my link, and so I will err towards leaving it out. If you truly feel like this post is helpful, email me and I can share the link.

The Quiz

The first step in the process is a straightforward online quiz which consists of about 30 minutes of multiple choice questions, where each question has a two to four minute time limit. The questions consist of seemingly random trivia covering bits of linear algebra, calculus, probability, and machine learning, as well as small web, SQL, and Python-esque programming problems (e.g. what will this program output? what is wrong with this code?). I think these questions were mostly fair (if not a little arbitrary). My only complaint is that, while the programming puzzles were not intended to be language specific, they did rely on some knowledge of Python that may not be common or intuitive for Python-as-a-second-language programmers. For example, does range(3) give [0, 1, 2] or [0, 1, 2, 3]?

I did not feel particularly great about my quiz performance, but I did pass, apparently in the 80th-100th percentile of a ll quiz takers (quite a range). Regardless of passing, TripleByte will also give you feedback about which areas you scored well in (‘Academic CS’, ‘Machine Learning’, and so on), and where you did poorly (‘Back-end Web’).

The Interview

Passing with a sufficiently high quiz score got me to the next step: a ~2.5 hour technical interview. This interview is also meant to be background-blind, the interviewer will know nothing about you except your first name. TripleByte provides a technical interview guide, if you care about doing well in the interview I advise you to follow it closely. Had I been more deliberate in polishing my weak areas, I think I would have performed much better.

The interview consists of a few parts: exploring some data, implementing a ML algorithm from scratch (seriously, the interview guide hints heavily at what this looks like, also see my data science interview questions page for some similar questions), a rapid-fire set of questions, and finally talking through your data science and modeling process given a hypothetical dataset.

The data exploration section went well for me. There are a few hurdles that I think anyone who has dealt with ‘real-world’ data will be fine with (e.g. weird or missing values). Be prepared to produce some basic summary statistics, plot some data, and do some light modeling.

I stumbled quite a bit during the algorithm implementation section. While I was given algorithm I am familiar with, and TripleByte provides step-by-step implementation instructions, I found myself struggling with differences in how I would intuitively implement the algorithm and how TripleByte wanted me to. I don’t want to give any advice that will give away details that are too specific, but make sure to be comfortable manipulating matrices and vectors.

I think the rapid-fire question section went alright. The interviewer seemed to be trying to assess the depth of my knowledge across the same areas the quiz covers. He asked deep questions about areas where I was confident in my answers, and shallow questions about areas where I was notably weaker (hello back-end web my old friend). For example, we talked more about linear model validity than SQL indexing (which I am learning about!). This section was pretty conversational, for example, questions were phrased as “Tell me about …” or “What about …?”. Data science interviews are notoriously difficult because of how broad the field is, but I think TripleByte did a reasonable job asking questions that will be relevant to most data science positions.

The final data-science process was pretty straight forward. The interviewer gave a hypothetical dataset and problem to solve, and asked me to talk through my process. The interviewer challenged me on several points throughout with questions in the form “What if…?”.

The final few minutes of the interview were used to discuss my goals, timeline, and so on.

I felt that my interviewer was very empathetic, at no point did it feel adversarial or tense. I passed the interview, but only in the 60th-80th percentile (since revised down to the 40th-60th, ouch!). Again, TripleByte provides feedback on which sections went well (‘Professional code’), and where improvement is needed (‘Back-end Web’). This feedback is more specific than what is given after the quiz, though I don’t think it’s actually personalized. It took me about 12 hours to hear back from TripleByte.

Going Live

After passing the interview, TripleByte invited me to fill out a profile with the typical details: work experience, education, and projects, as well as information about what you value in a job. Using this information and the interview results TripleByte matches you to a set of employers, and encourages you to ‘favorite’ those you are interested in and write them notes. Your profile is not visible to companies (I think I had about a week) until you “go live” for about two weeks during which time interviewers are free to reach out and set up introductory calls. If there is muttual interest a final round interview is scheduled.

Final Round

Well, I had absolutely no response from employers. I think there are several possible reasons for this:

  1. A global pandemic and impending lockdowns surely impacted employers appetite for hiring. Several companies with postings on TripleByte have recently experienced large layoffs.
  2. My profile or interview experience were not appealing to employers.

This was definitely a dissapointing step, but that’s life.

Final Thoughts

Overall, I can say that my TripleByte experience was positive. I started the TripleByte process before I had any other interviews lined up, and I do think the interview experience and feedback allowed me to better prepare for interviews down the line. From my perspective, the experience of “Going Live” was very frustrating, absolute radio silence is pretty disheartening, however, it’s completely possible that the pandemic factored into this.

While the standard interviewing process (of 4-5 interviews) is certainly more painful for candidates, I do think that the additional interviews do allow candidates to better understand company and team culture.

If you’ve got any further questions about TripleByte feel free to reach out, though I won’t be discussing the interview questions in any more detail!

>> Home