Interviewing and pattern matching

Hiring for Tech
January 18, 2021

An assortment of tools, like a hammer, plier and a wrench, lying on a wooden table.

A wide variety of readily-available tools is key to success in interviews. Photo by from Pexels

For candidates, a full day of interviews is grueling, but in the context of demonstrating your technical skills and how well you’ll perform on the job, it’s a short amount of time. There’s not enough time to invent completely novel solutions, or to prototype multiple different approaches. Instead, you’ll have to rely on previous experience.

Given this time constraint, the single most effective trick for an effective interview is pattern matching on a toolbox of common techniques.

Rapid pattern matching

Interviews become easier when you can look at a problem and quickly assess, at a high-level, what approach to take. Every problem is unique, but most are variations of the same common principles. It’s even okay to be wrong at first. When you go down one route and encounter some difficulties, just pattern match on the next technique based on those difficulties.

Let’s see how pattern matching plays out in a few scenarios:

In all these cases, you can build up the right techniques from scratch, often through trial and error. But if you can immediately pattern match to find the appropriate techniques, and you can name those techniques (“I’m going to use backtracking because we’re dealing with ambiguity”), then the interviewer quickly knows you’re on the right track.

Building a comprehensive toolbox

An effective toolbox of techniques consists of:

The latter two categories of tools become increasingly more important the more senior you are. Meanwhile, algorithmic techniques are more important for junior engineers with less industry experience.

The best way to build up this type of toolbox is to observe real-life applications, recognize the technologies and techniques used in those applications, and most importantly, understand why those technologies and techniques were used. Whether the application uses Kafka or RabbitMQ doesn’t matter, but the fact that a queue is used for reliability is key.

Is this the right approach?

I don’t think an interview that relies only on pattern matching is ideal, though it’s not completely unfounded either.

Interviewers often talk about assessing a candidate’s problem solving skills. There’s the type of interview where you’re expected to not come up with a perfect solution, but to think through a hard problem from the ground up. To some extent, that type of interview is more reflective of a software developer’s day to day work. But some amount of pattern matching is important for any senior engineer, whose past experience plays a large part in making solid technical decisions.

Still, regardless of what interview style is ideal, pattern matching will still help you succeed in the types of interviews you’ll encounter in practice.

Real-world development is done collaboratively over the course of weeks, months and years. Interviews need to evaluate candidates in a matter of hours. For that reason, candidates benefit from pattern matching problems to common techniques. By quickly recognizing the type of problem and what techniques are applicable, you can demonstrate to the interviewer you’re going in the right direction early on. Then, you can spend the rest of your time focusing on the particulars of the given problem.

This post was sent out on the January 18, 2021 edition of the Hiring For Tech newsletter. Subscribe to get future editions sent to you by email, once a week.

powered by TinyLetter