Software Engineering Interview Questions
- Published on
This post on /r/ExperiencedDevs asks for favorite interview questions to ask candidates. A few old favorites are there, along with some newer questions and some awful ones. I want to highlight a handful of these questions and provide other good questions to ask.
What does good code look like to you?
What does good code look like to you? Junior engineers focus on the tactical aspect: code. Senior engineers shift into maintainability, reliability, complexity, reusability, etc. This question finds the scope the candidate often works at.
What do you think is the difference between a good engineer and a great engineer?
What do you think is the difference between a good engineer and a great engineer? It is of a cultural question, but it does help to square expectations. If the candidate doesn't know or know of a great engineer, do they know what excellence means?
What problem are you most proud of solving?
What problem are you most proud of solving? I’m a huge fan of this question. This question gives the candidate a chance to speak on something that excites them and that they should know pretty deeply. It provides the interviewer plenty of opportunity to ask deep follow-up questions and firm up the candidate’s scope. If they aren’t proud of anything, are they solving problems?
In the course of a project, you find a major risk. What do you do with it?
This question pivots well from What problem are you most proud of solving?
as the candidate can dive into technical debt management, risk-reward-impact-effort discussions and tracking, and getting issues in front of the right people at the right time.
How do you handle disagreeing with your manager?
How do you handle disagreeing with your manager? Read the thread for the lowdown. A senior engineer who does not speak up when or in appropriate ways isn’t at the senior level.
How do you convince other engineers to work on a good idea?
How do you convince product, external teams, and executives? This question goes after senior+ engineers and how they build excitement, commitment, and expectations in an organization. This question is also an opportunity to see if the candidate is willing to back down from an idea when they can’t get buy-in.
This app/system will soon receive 10x the traffic. How would you go about preparing for that increase in load?
As a follow-up question, this question tests the candidate’s understanding of the total system, second-order effects, and scaling constraints—hopefully, the candidate asks about the confidence of the 10x and the business reason for it.