3 ms·
The real problem is what knowledge the question is supposed to test - is it testing whether you know the answer to the question, or is it testing something else
by chimeracoder 15y ago
The real problem is what knowledge the question is supposed to test - is it testing whether you know the answer to the question, or is it testing something else altogether?
Put another way, the problem is less the specificity of the questions and more the ease with which you can expect to earn them.
I haven't used Swing/AWT in two years, and I couldn't really tell you what inherits from what. But after a weekend of breaking through the rust, I'd get back into it, so it's of no consequence to any potential employer.
However, some language-specific questions are very telling. For example:
How many arguments does type() take in Python?[1]
If you answer '1' or 'either 1 or 3', that tells me two very different things about you. The latter tells me that you may understand that Python uses prototypical inheritance, rather than 'pure' class inheritance, and it tells me that you may have done a non-trivial amount of Python metaprogramming before. If you understand Python's inheritance structure in this way, you're a much more valuable candidate to some companies than you are for simply knowing syntax errors and interpreter-specific quirks... and the opposite may be true at another company).
(Of course, it's possible that you know that and have simply forgotten, or were confused by the phrasing, etc. - no question is perfect, but after enough of these, you start to piece together a picture of the candidate).
The point is, the former question is something that you can reasonably learn during a training period and which asks little more than face value. As for the latter question - you all know that now, so you can also learn it during a reasonable training period. But actually applying that knowledge (which comes with the followup questions) is something that would require a significant level of familiarity with the subject in question, which is what they are really trying to get at.
[1]This may not be the best wording for the question, since it tips the interviewee off to the trick beforehand, but I can imagine a way to present this question so that it wouldn't.
- nachtrabe 15y agoMy standard approach to the "determining their depth" problem is to give them a problem where detailed knowledge provides an obvious (or perhaps more elegant) answer, but there are other possible answers. For example, "how would you implement a least recently used cache in Java" can provide a wide array of answers and tells me a lot about the person's knowledge of the SDK and overall algorithm design. The details of their solution and the ensuing discussion tells me a lot more, no matter what their level, than whether they simply know that LinkedHashMap.removeEldestEntry exists.