UPDATE: You can follow the discussion on Hacker News.
Figuratively of course but still, array search, sorting and related interview questions are very boring, unreasonable and borderline irritating. Last month I was looking what is out there on the job market. All this hype about shortage of developers got me interesting in exploring new opportunities. I enjoyed meeting new people and learning about technological stack and problems companies try to solve. There were about a dozen phone interviews and a half-dozen face-to-face meetings. Most of the companies are regularly featured on TechCrunch. They are your typical VC-backed, 100–300 people startups. They have tons of perks as bicycle storage, tennis tables, free drinks and lunches, nerf guns, casual approach, lots of beer — all these tricks to lure employees. :)
Now here is the bad part. It didn’t matter much what technology startups use or what level of seniority was required for the position I was interviewed for. No. 95% of the time there were variations of array search and sorting, finding min / max value in array combined with providing big O notation, complexity and efficiency of such algorithms and functions type of questions. Two times I was asked exactly the same question:
Write function find_matches(haystack, needle) which returns array of all the matched elements needle array in haystack array with duplicates considerations.
The best answer to this question involves the use of a hash in which keys are values of needle array elements. And values are counts of repetitions of needle array elements in haystack array. Second time I’ve heard it I was bored even more than my interviewer, the VP of that startup. :)
Another sad thing, which I gladly didn’t see that much (but there still were a few interviewers) in the Bay Area compared to the East Coast, is asking terms, function names, definitions, slang, etc. Expecting people to remember functions’ syntax is a sin in itself! All this leads to hiring people with good memory vs smart people. That’s especially wrong when all these information is only a Google search away. And being smart can’t be acquired or substituted with search engine results.
Dear interviewers, please be creative if your goal is to find creative, smart people! Also remember that code is not an asset. It’s a liability. The more you code the more you’ll have to maintain. :)
Microsoft MVP | Book and Course Author | Software Engineering Leader
To contact Azat, the main author of this blog, submit the contact form or schedule a call at clarity.fm/azat and we can go over your bugs, questions and career.