« Dependency Injection is Broken | Main | Beyond Locks and Conditional Variables »

September 14, 2008



Not sure why you would expect an engineer to write a hashmap in an interview... that's why it's part of the API. Understanding what it does and when to use it is far more valuable than blowing an interview because you don't know the internals of one. If I was interviewing for a JDK implementation job, I might expect that sort of question.. but if I am interviewing for a web dev or j2ee position, I use hashmap, I dont necessarily expect to know how to implement it from scratch, on the spot in a few minutes or so. I'd have told you what it does, and that would be about it.


i don't expect the interviewee to write a complete, perfect hash table class--just get the main points. while i agree that abstractions exists so you don't need to know the full implementation details, i think hash tables are so basic a data structure that anyone who calls themselves an "software engineer" should know the basics of it.

on a practical level, think of, for example, the List interface and the ArrayList and LinkedList implementations. i would want a software engineer to know the basic diff between the two bc certain operations are very inefficient in one and not the other. in order to know the diff, you have to know the basic structure of these two implementations.

The comments to this entry are closed.