A Strategy For The Dreaded Interview Coding Question
etherealbits.com
etherealbits.com
Coding I can handle.
AKA, I see you got a CS degree and 5 years of development experience. Looking back what do you think your most (useful, fun, memorable) class was? What's language that you don't know are you most interested in learning / using?
The problem is that my answer is always something involving writing code and solving problems. I have no desire to be a manager of any kind - companies don't like people who aren't interested in moving on to management.
If someone can devise a job where they slide a problem description with some guidelines under the door, I'd be perfectly happy.
"I love coding, so I hope that whatever I'm doing in five years, I'll still have my hands dirty solving real problems. I also love learning and sharing my knowledge with others. While I'm not interested in being a technical manager, I would like to be a technical leader."
But rather being buttonholed in the hopelessly awkward and incredibly claustrophobic "code this completely contrived (and like as not[2], poorly articulated and presented) search problem that I got from some blogpost somewhere, and which BTW bears virtually no resemblance to the day-to-day gruntwork you'll actually be asked to do here, RIGHT NOW, bitch!" routine -- that passes for a filtering process in far too many companies, these days.
See also:
https://en.wikipedia.org/wiki/Stanford_prison_experiment
[1] AOTOA = author of the original article
[2] in my experience, about 33% of the time the "top" in the interviewing process either bungles some important detail, or makes some other kind of brain fart in stating the problem that makes it take far longer -- and in some rather embarrassing cases, outright impossible -- for the "bottom" to solve.
Whether you hate 'em or love 'em, the main point of the post is to advocate approaching coding questions with a strategy that you've practiced and can repeat over and over again.
Edit: It looks like the author of the above has a newer book out called "The Google Resume", probably worth taking a look at too.
As another comment pointed out, the best way to become better at this process is to practice. I know when I was preparing for my consulting interviews, I practiced the framework with a friend for weeks at a fast food joint so that I had the process down. Once you can perform the process instinctively, you can focus your brain cells on actually solving the problem.