Whether you’re the interviewer or the interviewee, here are some questions to help pick the right developer for the job.
It seems like anyone who knows how to copy code from an Internet search or put a semicolon at the end of a line calls themselves a developer. However, how do you sort those who understand development from those who just want to? The answer may be in these ten interview questions that every developer should know.
It seems like anyone who knows how to copy code from an Internet search or put a semicolon at the end of a line calls themselves a developer. However, how do you sort those who understand development from those who just want to? The answer may be in these ten interview questions that every developer should know. Developer is the workhorse role in the software development process, as the “Anatomy of a Software Development Role: Developer” article points out.
No author listed, from startupstockphotos.com
Q0: How do you validate user input?
A: A candidate’s answer should include that validating user input should happen client-side to provide instant feedback, and server-side to ensure that malicious data isn’t injected. For methods to be safe, they need to validate any input parameters they get, particularly if they can be coming from a user.
Q1: How do you manage caching of information?
A: The answer here focuses on the need for some caching to improve scalability and performance, as well as the problems with cache coherency and staleness. Candidates should be aware of these problems and understand that they require special architectural considerations. Developers aren’t asked to address major architectural issues, but need to know when they might occur.
Image source: https://www.flickr.com/photos/redjar/113152393/
Q2: How do you handle exceptions in your code?
A: Every candidate should be aware of basic error handling, including the idea of wrapping errors in more context and throwing them up the stack until they can be logged. Developers understand that exceptions should not be allowed to bubble back up to the user.
Q3: How do you improve your development skills?
A: The answer may vary, but should include online forums or local community groups, as well as reading books, articles, Web sites, or other materials and online videos. The intent of the question is to ensure that the candidate will continue to improve over time through continuous learning.
Q4: What kind of development do you most enjoy?
A: Some developers prefer working on slick user interfaces. Others are at home writing data processing logic. Still others love complicated logic puzzles. This question seeks to get a sense for what excites a candidate.
No author listed, from skh-careers-in-technology.wikispaces.com
Q5: What have you developed just for fun, to play, or to test?
A: One way to know how excited a developer is about their craft is to ask them what they do for fun. Good developers connect the proverbial toaster to the Internet. Employers want employees who enjoy what they do—because they’ll be better at it.
No author listed, from startupstockphotos.com
Q6: How do you build reusable objects?
A: The best reusable objects have a single focus and do it—whatever that is—very well. The candidate’s answer should talk about the objects that have been built and why they were so valuable. The thinking behind building reusable objects helps developers be better at all kinds of development.
Author: David Niblack
Q7: What are your favorite debugging tools?
A: The goal of the question is to discover some of the hidden tools that developers use to debug. Answers can be “old school,” such as outputting information or logging. They might be tools integrated into the development environment, or third-party tools. Debugging is a substantial amount of the time spent developing code—so knowing how to debug is essential.
Image source: https://www.flickr.com/photos/brungrrl/10987315355/
Author: Stacy Brunner
Q8: How do you decide when to make something configurable?
A: Developers are often called upon to make decisions as to which settings should be configurable—and which shouldn’t—as well as how default values should be handled. A candidate should be prepared to talk about how they make values configurable, default reasonable values, and how they document those that are changeable.
Image source: https://www.flickr.com/photos/longzheng/3492524719/
Author: Long Zheng
Q9: How do you feel your technology, industry, and function experience matches the job?
A: Development isn’t just about where the semicolons go. Candidates have to have basic skills and language/platform knowledge. However, it’s just as important to understand the industry they’re in or the departmental/functional needs.
No author listed, from stackoverflow.com