You have 1 article left to read this month before you need to register a free LeadDev.com account.
No two engineering interviews are the same, but there are some common questions you can prepare for to put your best foot forward.
In a job interview, the hiring manager is trying to work out if you are a good candidate for the role, both in terms of your technical skills, and your overall fit with the team and company culture.
For the candidate, the key to a good interview is preparation. Before the interview, it’s important to fully research the company and role you are applying for. Look up what the company culture is like, what values they claim are important to them, and what products and features they’ve been shipping recently. This knowledge will help you tailor your answers to fit what the hiring manager is looking for.
Now let’s look at some of the most common kinds of questions you will get in an engineering interview – and tips on how to answer them.
While not every question you’re asked will fall into one of these buckets, they should help you prepare for common lines of questioning, freeing up mental capacity to think through problems and smart questions to ask them back. For an entry-level role, the interviewer will probably be more interested in your skills than your experience. If you’re applying to lead a team, they will probably want to know how you’ve managed interpersonal relationships in the past.
Questions about your background and experience
A resume can only tell your potential employer so much. It’s hard to fully capture who you are and how you work in a few pages of text. According to Dave Walters, the CTO of tech hiring platform Hired, the first kind of questions you are likely to encounter in an engineering interview will focus on your background, what skills you have, and what your experiences are as an engineer.
Some people pursue a software developer career through a college degree, some are self-taught, others do code bootcamps, and yet more find other interesting ways into computer engineering – these questions are all about finding out what you’ve learned on your particular path.
You might get questions like:
- Why did you become an engineer?
- What is the biggest challenge you’ve faced as an engineer?
- What do you like about software engineering?
- What projects have you worked on in the past and what did you learn from them?
- Did you like working for your last employer? Why did you want to leave?
Crucially, the hiring manager’s goal is to find out if your education, previous jobs, and other experience enable you to meet the team or company’s needs. You can have a PhD and loads of experience in a certain area, but if you haven’t worked with the tech stack that the company looking to hire you employs, then you might not be a fit for the role.
This means that the best way to answer questions about your background and experience is to tailor them to the specifics of the role and the hiring company. If you know they use a lot of open source frameworks, try and draw attention to your open source contributions.
If the role calls for someone experienced with agile, make sure to highlight any previous experience with this way of working. In short, try and do the hiring managers’ job for them and demonstrate how someone with your background and experience is exactly what they need for the role.
Questions that demonstrate your knowledge and skills
While it’s unusual for candidates to vastly overstate their abilities, it’s not unheard of. For any engineering role, you should expect to be asked some technical questions that require you to demonstrate your knowledge and skills.
These questions can frequently require you to demonstrate your technical aptitude in ways that are different from your day job and normal workflow. These questions require a different approach, one which displays familiarity with a broad range of basic concepts, rather than the nuances of navigating your IDE or finding answers on Stack Overflow.
These kinds of questions get much easier to answer with a little bit of preparation. Research what technologies you are likely to need for the role, and refresh your memory of basic software engineering concepts like user authentication, memory management, versioning, application security, automated testing, or whatever else feels relevant to the role and stack.
While these questions will always be specific to the company you are applying for, you may be asked things like:
- What is your preferred testing methodology and why?
- In your experience, what are the downsides to implementing mandatory two-factor-authentication?
- All else being equal, what programming language would you prefer to use for a project and why?
- Describe a time you had to quash a tricky bug in production. How did you go about doing it?
Questions about algorithms and design patterns
How you think can be just as important as what you know. Hired’s Walters says that questions about employing basic algorithms and design patterns are often more holistic than strictly skills-based questions. You might be asked how you would build out a certain kind of app, or to provide a solution to a specific problem.
For example, you could be asked things like:
- How many piano tuners are there in Chicago?
- How much does the Empire State Building weigh?
- Design an algorithm to identify palindromes.
- Write a program that prints the numbers from 1 to 100, replacing every number divisible by three with the word “fizz”, every number divisible by five with “buzz”, and every word divisible by both with “fizz buzz”.
With these questions, the hiring manager is seeking to understand how you break down and approach complex problems, rather than just checking you know where the semi-colons go in PHP.
The best way to think about this type of question is as an opportunity to demonstrate your experience, and show how you solve problems. Even if there isn’t a perfect solution, if you show that your thinking aligns with how the company approaches problems, you’re giving the hiring manager what they need.
Questions about your people skills
No matter where you stand in the org chart, your ability to work well with other people is incredibly important. Of course, the more leadership duties you take on, the more time you will spend managing people, but even the most technical roles require some measure of interpersonal skills.
In any engineering interview, you can expect to field at least a few questions about how you’ve worked with managers in the past, how you’ve dealt with conflicts, how you handle stressful situations, and generally how you interface with the rest of your coworkers.
Some of the things you are likely to get asked are:
- How do you handle failure?
- What would your last manager say is your greatest strength?
- What is your favorite thing about working on a team?
- Tell us about a conflict you had with a manager. How did you resolve it?
- Describe your ideal manager.
In any organization, some measure of conflict will be unavoidable, but the hiring manager needs to know that you won’t be an extra source of it. It’s okay to talk about difficult interpersonal situations at your previous companies, as long as you can show how you took steps to minimize their impact on your employer, and actively worked to solve the underlying conflicts. Someone who can work well with others is always going to be preferable to someone who can only work alone.
As well as all the questions that are trying to figure out if you’re right for the role, you’ll also get asked plenty of practical questions about your salary expectations and when you can start. The answers to these obviously depend on your current situation. Crucially, you will also get the opportunity to ask the hiring manager a few questions about the role and your potential employer. It’s a great way to find out if it’s a fit for you – after all, job interviews are a two-way street.