👓The Technical Interview

In technical interviews you will most likely be asked technical questions about programming in general and the type of questions you will receive depend on what role you are applying for (front-end/backend/etc), and whether it’s for an internship or for a junior developer role.

Prepare yourself by studying the job description and all the information you can find regarding the tech stack listed. You don't need to have practical experience with all of it, theory should be enough for more junior role, if you can provide practical examples that's an extra point.

Research the company on Glassdoor and within software communities. Often, candidates share details about their interviews and commonly asked questions. Use this information to prepare yourself, but don't rely solely on it.

To prepare for this interview, we strongly recommend you go through the Most Common Technical Questions and not only check that you can answer all the theoretical questions but also that you can do some of the challenges in the additional resource.

Make sure you really study these questions. What does this mean? To answer that question you have to know what a technical question is aiming at:

  • Can you recognise which concepts are involved?

  • Have you ever been exposed to this use case?

  • Do you know what the problem statement actually is?

It’s up to you to be able to answer these questions. If you can do that, you’re able to apply your understanding to new problems and show that to the interviewer. If you can’t do that, there’s still work to be done. You have to go back to the study material and practice!

The second thing to practice is your way of answering the questions. The way you answer any question, whether technical or not, is just as important as the content. Here are some tips for how to deliver your answers:

Don’t be afraid of asking clarifying questions 🙋‍♀️

Sometimes you don’t completely understand the question. This is an opportunity for you to show your curiosity! Ask the interviewer about the context and/or relevant variables.

Asking clarifying questions is very important to ensure your code meets the task requirements. It also demonstrates your ability to communicate with different types of stakeholders, which is a crucial aspect of stakeholder management for a software engineer.

Practice active listening 👂

Your interviewer might often make a suggestion or guide you towards a solution. Make sure you are open to feedback and apply it if possible.

Think of a simple solution first 🦋

Often, interviewers want to see if you can think quickly and if your coding is efficient. Always implement the simplest and most efficient solution first. Avoid over-engineering. If you want to propose a more complex or elegant solution, ask the interviewer if it is necessary before proceeding

Make problems more concrete (write pseudocode) ✏️

When presented with a coding problem, it always seems like a big, intimidating challenge. Break it up into smaller pieces! Share your approach of dividing the problem into smaller problems with the interviewer. Or alternatively, write pseudocode and share this with the interviewer.

Think out loud 💭

When answering technical questions, an interviewer doesn’t just want to know the answer. They want to know how you came to that conclusion. What are the logical steps you’re making? Based on which assumptions are you making those steps? By thinking out loud you are showing why you think something is the case.

Explain as if the interviewer doesn’t know JavaScript/programming 📣

You don’t know the technical skill of the interviewer. Therefore, it’s safest to assume they don’t know JavaScript. When answering, explain concepts from the ground up and take the interviewer by the hand to help them understand.

Be honest and open (if you’re stuck or don’t know the answer, etc.) 😇

By being honest and open you show that you’re easy to talk to. It also means you’re trustworthy, as no one knows all the answers. However, this is not easy: it requires some faith and belief that everything will work out.

Double check your solutions ✅

When presented with a coding problem, do your best to make it the best you can. Make a plan of action and then execute. Before you submit it, however, always double check your solution: did you make any spelling mistakes? Did you write the code clean? Is the logic sound? If done right, this shows the interviewer that you take your work seriously.

Explain code from high level to low level 🛝

Often a interviewer will take a piece of code from one of your projects and ask some questions about it. It's important to keep in mind to explain from a high level to a lower level. First start of with stating the context of this code, where is it located? Why is it relevant there? Then continue with why this code had to be written. Once you explained those things it's time to go into more detail, what is exactly happening? Which functions are used and what do they do?

An example:

const activeUsers = users.filter(user => user.active);
const filteredUsers = activeUsers.map(user => ({ id: user.id, name: user.name }));

"In this route we are sending user data to the client, we don't want to send hidden user data and we don't want to send data of inactive users. So this code first filters out the active users, and then takes some whitelisted properties that can be shared with the client. To go in more detail, I've used the Javascript filter function to filter out users based on their active status, all the active accounts will be combined in a new array and stored in activeUsers. This new array is then used for a map loop, every user is a Javascript object and the map makes sure to only take two properties from the original object and put those properties in a new object. The results is filteredUsers which has only active users and consists of an array of user object with only an id and name property."

And to finish, here some tips on overcoming impostor syndrome in Tech Interviews.

Last updated