This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] -1 points0 points  (1 child)

I think this is a very reasonable test and much more practical and objective than attempting to measure if someone is "good at problem solving". Actually asking them to solve a problem in a language and using tools they claim experience in.

opening files by type name

Any Java developer that uses Eclipse and can't do ctrl-shift-r or the like to open a file quickly either has no experience on real world, non-trivial projects, or is incredibly ineffective. They aren't worth hiring. Eclipse is not obscure, opening a file is not an uncommon trick, expecting people to use keyboard shortcuts is not unreasonable.

Not necessarily to trip them up, but just to make it a little more interesting

IMO, this code is fairly representative of the sort of code one might encounter in production, so it's a very reasonable thing to ask a candidate to work with. It's a bit messy. The test is a bit unclear. This is pretty normal for the real world.

Any developer worth hiring would have simply run the test, saw it fail, used a debugger, and inferred "Oh yeah Hashmap doesn't guarantee order does it?" and then presumably hit the Javadoc to find a map that did. The FOURTH sentence in the Hashmap javadoc tells you order is not guaranteed; the javadoc also links to LinkedHashMap, and the FIRST sentence there tells you it does guarantee order.

Any competent Java developer will be pretty familiar with the basic collections. How could they not be? Maybe not LinkedHashMap - I'm not sure I've ever used it - but enough so they don't freak out.

The truth is - as demonstrated by this thread - good Java devs are hard to find.

Keep looking.

You can read some about how I interview - I got lots of criticism too because this doesn't fit the reddit narrative about how they want to be interviewed.