I normally don’t ask those questions, but for this specific role, the candidate in question was an embedded SW guy…And they were open ended questions, not some brain teaser textbook type of question. What led me to ask this question was he couldn’t even answer the previous easier questions we asked. That called into question his credibility and what he put on his resume.
He brought up that he was very experienced in Android O/S framework (not many people are, I’m one of them), and I asked a few questions as to the APIs he’s designed on the Android framework. He couldn’t answer. They weren’t even tough detailed questions: there were open ended questions like what part of the Android O/S where you working on, and can you explain to me what were some of the components you added/modified to support this….Dead silence. Strike 1….
That led to the easier basic question: “in all the Android framework projects you worked on, you mentioned you created public APIs and libraries for clients/users… Can you give me examples of when you designed interfaces and abstract classes, what led you to chose one versus the other?” I asked this question, because we need people to design APIs for our development kit given to customers, and wanted to see how he went about designing customer facing APIs..Again, it was an open ended question, not those stupid brain teaser question.. The guy didn’t know the difference between the two…Hello? Someone working with java for 13 years, and claiming to have worked with Android since the first 1.0 beta release, and you can’t say 1 thing that’s different between an interface or abstract class, or show me examples of when you used both in all the libraries you claimed to have created? Strike 2
He finally said “well I don’t really work that much at the Android java framework layer, I’m more at the hardware HAL layer on Android O/S, and Bluetooth stack layer and kernel drivers”, despite what his 1.5 pages of resume says…..That lead to him bringing up how he worked with memory management, and hence my very basic question what is heap and what is stack and what are they used for…(because I had a suspicion he didn’t know that either)….And he didn’t.
We ended up terminating the interview 15 minutes into it, because none of us had any confidence anything on his resume reflected what he actually knew.
If all we needed was a programmer to implement a well defined/well designed/already spec’d out module, where all the integration and touch points to our hardware was already done, and the only remaining work was to implement a function or method or two to implement some basic logic that was already well speced out, we could use guys in Bangalore or China to do that at a cheap cost., so we could focus on the really difficult parts to do. That’s not what we needed.
I was annoyed.
And you would be surprised how many people can’t even code a simple program. The guy who wrote this. is pretty accurate…We’ve personally have seen this time and time again.
The “Fizz-Buzz test” is an interview question designed to help filter out the 99.5% of programming job candidates who can’t seem to program their way out of a wet paper bag. The text of the programming assignment is as follows:
“Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”.”
Source: “Using FizzBuzz to Find Developers who Grok Coding”