Technical Interview Questions
Hopefully you’ve already read our article ‘How to Interview Technical Candidates’ – if you have and you’re now looking for some examples of technical questions, great – read on (if not, we’d recommend that you have a look here). We’ve asked a handful of particularly successful CTOs and development managers for their top technical questions and have added a few of our own.
1.. What is an interface?
Toby Widdowson, CTO at SeeLocal, believes that this is a really good way to explore how much someone really thinks about what happens when they write code.
Toby says ‘If the interviewee says ‘an interface is a contract guaranteeing that a method will be present at run time’ then they just get a tick and we move on to something more advanced and interesting. But it’s surprising how many people don’t really get this concept. At least I would be expecting some sort of discussion about polymorphism, loose vs tight coupling, avoiding inheritance, compiled vs uncompiled languages and run time errors, or some other aspect of coding that shows they really understand what these interfaces that they use every day actually do.’
2. Give me an example of a SaaS application that you have recently built – what technologies were used to create it? Why did you choose to use that technology stack?
This question gives you an indication of how flexible a candidate is when choosing technology, and ensures that they understand the differences between similar tools. A good candidate will be able to explain in detail why they chose to use a particular language, the benefits of it, and will show that they are able to pick up new ideas quickly.
3. How do you ensure that you write clean and reusable code that meets modern standards? What design patterns do you know?
A good developer will write code efficiently and so that others can read it, and will care about the quality of their code. Checking this helps you know if they have a good grounding in development and how detailed-oriented they are.
4. How do you ensure that you are keeping your knowledge fresh with modern ideas and current thinking?
A good candidate will talk about reading blogs and using forums; a great candidate is likely to talk about the cool project they’ve built on GitHub and how developing a new tool has improved their productivity.“
5. What do you understand by the acronym CD? What challenges does it bring?”
Simon Pearcy, Director of Software Engineering at Amdocs, likes this question because he wants to see if developers have a broader understanding of the full software/product lifecycle or just bash out code in complete isolation – in modern software development it’s essential to have a customer focus to remain relevant.
6. How do you manage source control?
This is an interesting question that gives an insight into a candidate’s views around the development process – do they view source control as a hindrance, or do they find it useful? What system do they use and what do they like and dislike about it?
7. Do you test your own code?
Are they part of a cross-functional team, or do they have a siloed mentality? Asking candidates this helps you determine if they are flexible enough to get involved with areas that might not traditionally be seen as tasks for developers and finds out how serious they are about the quality of their code.
8. What do you look for when you review other peoples’ code?
It’s harder to read through other peoples’ code than your own – this question should prompt candidates to talk about clean and reusable code, as well as bug-checking.
9. How would you go about building a new application from scratch? What software would you use and why?
A wide-ranging question that gives you an insight into how a candidate would begin a project, and what they consider before starting work.
10. “Do you prefer to use relational or non-relational databases? What are the pros and cons of each?
Guy Lewis, Co-Founder of Sprint Education, asks candidates this – it gives him a good understanding of whether candidates understand issues around architecture. We like it because it also shows whether candidates consider the cost and business implications of particular technology choices.
11. How do you ensure that confidential data entered through a web app is kept secure?
Security is of increasing concern to consumers and businesses – and this question helps you see if candidates consider a wide range of security issues.
12. What was the greatest technical challenge that you have encountered? How did you resolve it?
Don’t just look at the complexity of the challenge they describe, but also their resolution of that problem. How quickly did they find a solution, and what did they do?