Interview Process and Resources

·

4 min read

Intro

I spent the last month redacting my curriculum, preparing for interviews, and doing a few.

Most of the interviews that I've been doing were focused on algorithmic questions as a first step followed by open discussions with seniors slash more algorithmic questions and finally a general behavioral aspect.

And I want to share with you a general outline of the process and the resources that I've been using. Enjoy !

Interview process that I've experienced

The structure has been a variation of:

  • Recruiter screening regarding future employee/job position match from a very basic point of view

  • Initial screening with algorithmic questions usually on HackerRank and done asynchronously: basically you receive a question via mail and you have 5 days to 2 weeks

  • In this next step the process branches into :

    • An interview with a senior regarding previous projects
    • A take-home assignment (heard of these but never
      received)
    • Whiteboarding with more algorithmic questions (for
      more senior roles I've also heard of System Design questions
  • And finally, a behavioral step to understand better
    cultural fitness, some companies like Amazon take this step very seriously as it is an indication of how you could possibly meld with your future team

Resources

I assumed that MAANGA companies would have the most strict process and every subsequent company tier would be easier.

What I experienced was a mix of my expectation and each company having its own nuances nonetheless, an algorithmic step has always been there!

Here are the resources that I've been using during the preparation.

First of all a generic Software Engineer preparation handbook.

Interview Preparation Handbook This resource gives a good and detailed overview of the process and what is generally expected for each level.

There is a variation specific to Front End Engineers Front End Interview Handbook.

These resources also have a detailed overview of the whole process, necessary preparation, and a question bank.

For the algorithmic parts I've been following the down below ones

Curated List of LeetCode questions called Blind 75 These are the most used questions over the years, it is somewhat old but still used for introductory preparation.

The full question base is this one Leetcode - Free and Paid, the platform gives questions and practice for free, on the discussion tab it is possible to have free community redacted solutions but if you're more comfortable with a step by step explanation plus multiple solutions you can get that by paying them (not even that much).

There is also a tool that selects for you a few ones to concentrate on based on how many days and hours you agree on Grind 75 - Free Tool.

Another platform to prepare on that I've been considering but haven't still used is InterviewBit, it seems to have nice pre-packed and interactive processes to prepare for any software and data related position.

Given that the question base for these interviews has been either growing or changing altogether and half of these interviews are about time management and the use of predefined patterns, it is also useful to consider courses that focus on patterns being applied.

Two of them that I've found useful:

Interview Cake - Paid service with free mailing list service.

Educative.io - Paid platform both annually and single course purchase.

Lastly, to get more comfortable with the platform and format that I've been doing my interviews in, there are a few questions left to try directly on HackerRank HackerRank Interview Preparation Kit.

The behavioral part

For the behavioral part, I've been mostly practicing explaining my previous experiences and key situations with the S.T.A.R technique.

Some good practice would be preparing beforehand a list of situations that you've been part of and going over the context-problem-resolution narrative with the S.T.A.R technique.

Here's a youtube link that explains how to carry behavioral interviews with the S.T.A.R technique, if you look up "behavioral interview software engineer" on youtube you can find plenty of concrete examples. S.T.A.R techniques and examples.

Lastly

During the interview, you should also try to get your question answered, it is important to remember that the interview to a certain extent is a two-sided process and you should also assess if the company satisfies your needs, after all you will be spending a large portion of your days together with your team in the context of your company.

On this point, I have a sweet repo linked to me by Pietro L. that has a list of questions that you would want to ask in an interview at whichever step you can.

Here's the repo Reverse Interview

I wish you luck on your interviews or as they say in Italy "In bocca al lupo"