We need to talk about Job Interview Questions
Acing a job interview is remarkable easy. In fact, there are books with titles such as "Top 100 job interview questions". However, acing these interviews, says NOTHING about your skills as a software developer
Join the DZone community and get the full member experience.Join For Free
Let me ask you a question; When was the last time you implemented Quick Sort? If you're an experienced developer, there's a 99% statistical probability of that you'll answer "at university." Still, no job interview seems to be complete unless you can correctly describe the pivot value in a multiple choice type of question. Ignoring the fact of that you could probably program your calculator to answer these questions, the relevance of these types of questions is; ZIP, NADA, NOTHING, NULL!
98% of my job as an enterprise software developer is composition, architecture, class design, and similar things. In fact, even if I try, I cannot imagine one single real world use case that involves me needing to know Quick Sort - But then again, what do I know? I only have 20+ years of professional experience. If some problem actually do need me to remember Quick Sort, I can probably copy and paste Jon Skeet's code from StackOverflow faster than I can twist my brain for the correct solution anyway.
Here's a suggestion, how about asking the developer to answer questions that actually shows you he knows his trade? Give him a unique task such as "create an app doing x, y and z." It doesn't need to be a big app, in fact one of the better ones I was ever given myself was to create a TamaGotchi system as a console app. The focus here was my ability to create a class hierarchy that made the thing testable, was extendible, and allowed for easily understanding my code. It took me about two hours to wrap up a timer that would make the thing more hungry and tired over time, with a Console.ReadLine resolving to an integer, which allowed me to feed it, sleep it, etc ...
Facts are, if you spend one week teaching yourself the most common job interview questions you're asked as you apply for a job as a software developer, you could probably ace 95% of every single job interview in the world - At which point later as you actually start working though, you'll still be about as useful as a noob having taught yourself for loops and if statements over the weekend.
Don't get me wrong, you should have some for loops and if/else types of questions/problems you throw at the subject - But if Quick Sort is what you measure the individual from, you're setting yourself up for failure! And such companies are not that interesting to me to work for to be honest. I would much rather want to work with successful companies - Simply because I care about my trade!
Hence, if you ask me about weird algorithms I will never need in my job, or implement Quick Sort, or another (sigh!) palindrome question my answer as of from now will be ...
No thanks, I'll pass!
Not because I can't read through "100 stupid job interview questions" in a weekend, but because I don't want to work for companies that are measuring my ability to do my job according to these types of criteria. I'd much rather want to work for somebody who cares about quality, recognises ingenuity, and allows me to work creatively, using my best abilities, to the common good of the company as a whole!
Opinions expressed by DZone contributors are their own.