Passing Your Senior Engineering Coding Interview

Passing Your Senior Engineering Coding Interview

Love them or hate them, coding interviews are often a necessary part of getting a software engineering job. The format used to be writing solutions to algorithmic problems on a whiteboard.

Love them or hate them, coding interviews are often a necessary part of getting a software engineering job. The format used to be writing solutions to algorithmic problems on a whiteboard. Lately, with the pandemic, this has all moved to online platforms. Many people despise this part of the interview since the questions asked can be very different from the day to day work of a typical engineer.

For senior engineering positions, the questions are more challenging, and interviewers expect a higher standard. I enjoy this extra challenge and received several offers for senior positions during my last round of interviews. As a result, I keep getting asked for advice on how to pass these harder interviews. Now, after forwarding my friends the same email a bunch of times in the past year, I’m sharing my advice more broadly.

The intended audience for this post is people who have passed basic coding interviews before but want to up their skills. Therefore I’ll skip the discussion of the interview format and instead focus on:

  • How to get prepared

  • Choosing the right practice problems

  • (plus my list of the 12 best problems to practice with)

  • Knowing the right things

  • A recommended study plan

    Image for post

Photo by ThisisEngineering RAEng on Unsplash

How to get prepared

There are many online interviewing platforms out there, but I highly recommend using Leetcode for the following reasons:

  • It has 1000s of sample problems

  • Many of the problems have come up in real interviews

  • Most problems include multiple sample solutions with detailed explanations to help you sharpen your skills

  • There is a grading scale which you can use to identify the harder problems more likely to come up in a senior engineering interview

    Image for post

Leetcode’s difficulty levels

Leetcode classifies its problems into three difficulty levels: easy, medium, and hard. The classification system isn’t perfect. It depends on your background/strengths as to what you consider easy or hard. I’ve encountered “easy” problems that I got completely stuck on and couldn’t solve, and I’ve also encountered “hard” problems that I blazed through no problem. Still, these classifications are a good starting point. You can also always look at the number of solves vs. number of attempts to get additional info on the difficulty level.

Where should you focus your time? Solve many easy problems or focus on a few hard ones? In my experience interviewing at 15 companies, I’ve never encountered more than a Leetcode medium questioneven when interviewing for L6 level positions. The hard problems usually have one of three flaws which prevent them from being good candidates for an actual interview question:

  1. The problem takes too long to describe
  2. The solution requires a lot of code
  3. The solution requires knowledge of a relatively obscure data structure or mathematical theorem, or it requires a “trick” which you either see or you don’t

Should you just avoid the Leetcode hard questions entirely? Not at all! Just because they won’t come up in a real-world setting doesn’t mean there is no value to practicing them. In fact, in my opinion, solving a couple of hard problems was a better use of my time preparing for interviews than churning through many medium problems. There are a few reasons for this:

  1. The hard problems often teach you multiple concepts at once. Rather than just using a single data structure, you’ll need to combine various data structures creatively.
  2. Solving hard problems gives you a huge confidence boost. If you solve a few hard problems, you’ll be shocked at how easy the actual interview questions feel.

Overall, I advise starting with medium problems, then adding harder problems as time permits. If you don’t have time to progress beyond medium problems, you should be fine — that’s all you’re likely to see in an interview. However, if you make an effort to solve harder problems, you will boost your understanding and confidence — making your interview success inevitable.

programming interview computer-science software-engineering leetcode data science

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

How To Build A Data Science Career In 2021

In Conversation With Dr Suman Sanyal, NIIT University,he shares his insights on how universities can contribute to this highly promising sector and what aspirants can do to build a successful data science career.

'Commoditization Is The Biggest Problem In Data Science Education'

The biggest problem we face today is the commoditization of education. Individuals and corporations alike would like quality courses to be offered by the best faculty at the lowest price

Best Free Courses For Computer Science, Software Engineering, and Data Science

Best Free Courses For Computer Science, Software Engineering, and Data Science. Become an Expert for Free! Learning Programming, Software Engineering, and Data Science Has Never Been Cheaper

Is Software Engineering a Prerequisite for Data Science?

Find out here. Although data science job descriptions require a range of various skillsets, there are concrete prerequisites that can help you to become a successful data scientist. Some of those skills include, but are not limited to: communication, statistics, organization, and lastly, programming. Programming can be quite vague, for example, some companies in an interview could ask for a data scientist to code in Python a common pandas’ functions, while other companies can require a complete take on software engineering with classes.

Data Science Course Online - Top Data Scientist Training Program

Data Science courses online taught by best data scientists & IBM experts will masters you in data analytics. Get IBM Data Scientist certification course training!