• Sloth Bytes
  • Posts
  • 🦥 The Software Engineer Interview Process

🦥 The Software Engineer Interview Process

Hello friends!

Another week of Sloth Bytes and summer is starting yayyyy.

Here’s the catch

Many of you are on summer break and I KNOW you’re spending time watching brain rot or being unproductive, so…

I’m going to stress you out.

Companies are going to post internships and new grad positions soon
face nerd GIF by JoyPixels

Gif by JoyPixels on Giphy

You’re welcome.

wtf thanks sloth… what do I do?

Don’t worry, I’m here to help.

For the next 3 months…

I want to give you all byte-sized information to prepare yourself for software engineer interviews.

but I want your advice

How would you like me to add interview prep?

I'd like your opinion on how I should add this information.

Login or Subscribe to participate in polls.

It takes sloths 30 days to digest a leaf

Sloths have the lowest metabolic rate of any mammal, which means that it takes them a long time to digest anything… even a leaf.

The Software Engineer Interview Process

Something everyone will have to do if they want that job.

Keep in mind this is based off my experience.

I’ve only interviewed for software engineer/web dev positions.

So I’m not sure what the process is for game dev, cybersecurity, embedded, etc.

However, I’m positive they do at least one of these steps.

Enough yap get to the point

Getting a software engineer position involves multiple steps, each designed to evaluate different areas of your skills and fit for the role.

Here's what to expect:

1. Applying for the job (obviously)

Any advice for a good resume sloth?

Yep! Later on I’ll dedicate an issue to a good resume, but for now here’s a simple overview:

  • Make your resume concise (1 page only)

  • Highlight relevant experience

  • Include keywords from the job application to pass the annoying automated resume system (ATS), so if the job wants Python, you better put Python on that resume.

2. Online Assessment (OAs)

The next step involves a coding challenge on platforms like HackerRank, CodeSignal, Codility, CoderPad, or some other platform.

These are the type of questions I’ve seen from OAs:

  • Data Structures and Algorithms (most common): You’d be given multiple LeetCode like problems.

  • SQL: Use your SQL skills to solve some problem.

  • Multiple choice: Multiple choice questions that would test you on a programming language, CS concepts, or data structures and algorithms.

  • Practical Questions: You’d be given a practical task related to the role you applied for. Ex: a web dev role might ask you to use an API for some task.

3. Technical Interviews

If you pass those 2 steps you move on to the scary part… technical interviews. You could have either one technical interview or multiple.

I’ve heard of people having to do up to 4 or more technical interviews for a job.

That’s bananas.

There’s multiple types of interviews:

  • Data Structures and Algorithms (most common in my experience): You’ll be given multiple LeetCode like questions. You have to solve them while an engineer is there watching you.

  • Take-home Assignments: Some companies will give you a project to finish on your own time where you need to implement certain features.

  • Practical Coding Sessions: Sometimes you'll be given a practical problem related to the position, such as creating a web app or making a program for a specific task.

  • Quiz you on your programming language: These interviews they’ll quiz you about certain concepts related to a programming language, so if it was JavaScript you’d get something like what is a promise?

4. System Design Interviews

These type of interviews are mainly for new grads or senior positions, but still good to know.

As the name suggests, these interviews require you to design a system at a high level.

So the questions could literally be something like design YouTube or design Twitter. Here’s an example.

5. Behavioral Interviews

This is usually the final step in the interview process.

These interviews assess how well you fit with the company’s culture and team. You’ll get asked questions about your past experiences to demonstrate your teamwork, leadership, and problem-solving skills.

So it would be a question like this:

Tell me about a time when you had to work closely with someone whose personality was very different from yours?

So I have to pass all these interviews to get a job?

uhhh yeah, it’s a difficult process.

Did you really think becoming a software engineer would be easy?

Shout out to one of our readers for completing last week’s challenge!

Here’s their submission, it’s pretty cool and puts you all to shame.

Fizz Buzz

This is a classic problem that some companies even use as a warm up before an interview.

Given an integer n, return a string array answer (1-indexed) where:

  • answer[i] == "FizzBuzz" if i is divisible by 3 and 5.

  • answer[i] == "Fizz" if i is divisible by 3.

  • answer[i] == "Buzz" if i is divisible by 5.

  • answer[i] == i (as a string) if none of the above conditions are true.

Example 1:

Input: n = 3
Output: ["1","2","Fizz"]

Example 2:

Input: n = 5
Output: ["1","2","Fizz","4","Buzz"]

Example 3:

Input: n = 15
Output: ["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz"]

How To Submit Answers

Reply with this:

  • A link to your solution (github, personal blog, portfolio, etc)

  • A link to your post on Twitter, Linkedin, or any social platform you use.

A whole bunch of nothing😴 

Yep… that’s all from me!

Have a great week, be safe, make good choices, and have fun coding.

See you all next week.

Reply

or to participate.