Tech Prep: Think Out Loud

Ace your technical interview

Everyone knows the hacker trope in the movie. They become completely focused on the code. They stare intently at the screen, while their fingers blur across the keyboard with that clacking sound that fills the room.

And you hear nothing else.

This is what most people think should be done in a coding interview. They have to block out all noise and try to figure out the problem presented to them. They shouldn’t ask for help; if you do, you have failed.

I’m here to tell you that this approach is wrong.

The interviewers aren’t just there to watch you sweat. They aren’t trying to pick apart your solution. They are there to see how you communicate. They want to see how you think and how you react under pressure.

You can’t do that if you are silent.

So, how do you engage your interviewer?

Let’s start with this example:

Find the index to the number in an array:

Before you start, pause and take a deep breath. You don’t need to start coding. There are several questions you can ask before you code:

  • Input Details:

    • What are the types of elements in the array? (e.g., integers, floats, strings)

    • Can the array contain negative numbers?

    • Is the array sorted or unsorted?

  • Output Requirements:

    • What should I return if the number is not found in the array?

    • If the number appears multiple times, should I return the index of the first occurrence, last occurrence, or all occurrences?

  • Array Characteristics:

    • Can the array contain duplicate elements?

    • What is the expected size of the array?

    • Are there any memory constraints I should be aware of?

  • Performance Considerations:

    • Are there any time complexity requirements or expectations?

    • Can I use built-in functions or should I implement the solution from scratch?

These are just some of the questions you can ask to make a great first impression. It shows that you are thoughtful and think before you leap. Now, as you begin to code, don’t clam up.

When you are coding, think aloud. Tell the interviewers why you are going in a certain direction. Tell them why you think one solution is better than another. Keep them engaged as you go along, especially if you get stuck.

This part is important.

When you are struggling to solve a problem and you keep trying without any luck, it shows the interviewers that you might not make a good team player. It shows that you would rather struggle than ask for help. It shows that you could slow down the environment because if you asked for help sooner, the problems could be solved sooner.

It’s okay to ask for help.

You are trying to show your interviewers that you would be a good fit for their company, not because you can solve code. It’s because, under stress, you remain kind. When presented with a problem, you try to understand what you are doing before taking action. And when you need help, you ask for it, pushing your ego aside.

So, during your next interview, pause, ask those questions, and get started on the right note!

Reply

or to participate.