Six Coding Interview Formats to Replace LeetCode Bullshit

AI-generated image of an oil painting of a dog staring intensely at a laptop.

LeetCode-style interviews are bad.

You can tell that engineering interviews are broken because there is a burgeoning industry that’s sprung up around interview prep. Services such as AlgoExpert, Interview Kickstart, Coderbyte, HackerRank, and of course LeetCode promise to help you ace the coding interview. Engineers with many years of experience writing code professionally are turning to these services to help them succeed. I know because I just did so myself.

Are LeetCode-style interviews falling out of fashion?

The good news is that the tide may be turning. Or at least that’s how it felt, anecdotally, based on the small and specific sample of interviews I encountered in my October 2022 job search.

1. Solve a Problem with Code

The interviewer presents a prompt that describes a problem the candidate must solve using code, with an emphasis on behavioral correctness, speed of execution, and code style.

2. Integrate with an API

The candidate must accomplish a task that requires making requests to an external API. The interviewer provides API documentation.

  1. The candidate makes a simple (probably GET) request to an API and does some work with the data the API returns. Here, the work is focused on parsing and transforming the response to solve a problem.
  2. The interviewer provides the candidate with a dataset from which the candidate must construct a (probably POST) request to an API. Here, the work is focused on parsing and transforming the provided data prior to making the request that will solve a problem.
  • Stage 1: Parse and filter provided data into specified a structure (one that would later be used in an API request).
  • Stage 2: Make a relatively trivial POST request to a specified API.
  • Stage 3: Put it all together by using the work of stage one and some additional logic to make a POST request to the API with a complex body.

3. Investigate a Bug

The interviewer presents the candidate with the codebase for an application that has a defect identified by a failing test. The candidate must search for the source of the bug and, if they can, fix it.

4. Write a Technical Proposal

The interviewer presents the candidate with a codebase and a product spec for a feature. The candidate must write a technical proposal describing how they would implement the spec in the codebase. (Take-home / async)

5. Implement a Feature

The candidate is given access to an existing codebase and a spec for a new feature they must add to the codebase. (Could be take-home / async)

6. Review Code

The interviewer presents the candidate with a pull request and the candidate must review it.

Why do LeetCode-style interviews still exist?

Given the wide variety of superior alternatives, why do some companies persist in screening candidates using LeetCode-style algorithms and data structures interviews? The likely answers are boring: inertia and laziness. They’ve been doing it this way for years and algorithms interviews are easy to design and administer. As noted above, many of the more practical interview formats require significant up-front and maintenance work for the companies that offer them.

Conclusion

If your company gives LeetCode-style interviews, reflect on whether they’re evaluating the skills you want you colleagues to have. If not, propose replacing them.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store