Ask HN: Tips on (mind) hacking programming interviews?
I've worked for several years as a developer at a company that most would consider to be a top-tier tech company. I also got a degree from a top-notch CS program and did well in school. I've done well at work and have hacked on various projects on the side. However, none of this really matters when it comes to applying for jobs, since the most it gets me is a quick response from recruiters and my resume at the top of the pile. Like all other mortal developers, I still have to go through the interview process.
This is where I'm having problems.
Lately, I've been interviewing with various startups and tech companies with high hiring bars. For some reason, I just don't seem to be doing very well in the initial phone interviews. The questions are not hard, but the combination of having to think, write, and talk at the same time is causing me problems. I can usually only proficiently do one or two of those things at a time. Some of the companies use web-based collaboration tools for the phone interviews where the interviewer can see responses in real-time. This seems to only make things more difficult. I find it hard to strike a fine balance between talking out loud to verbalize my thought process, taking time to think solutions through, and getting code out so the interviewer sees that I'm doing something.
It also doesn't help not knowing what the interview wants to see. Should I draw everything out on paper then type out the code? Should I just blast out code then fix it as I go? Should I talk while I'm thinking or brainstorming or coding? It's all very distracting.
At times, I find myself not actually thinking about the problem at hand, but thinking about how the interviewer thinks I'm doing. The less feedback or response I get from the interviewer, the worst off I think I'm doing, and I lose focus on solving the problem. It also doesn't help that I've been on the other end of the phone as the interviewer, dozens of times; it's even more distracting when I realize that I'm making some of the mistakes that so many candidates I've interviewed have made. For me, it's not really a lack of knowledge or preparation. I need to figure out how to balance thinking/writing/talking in a manner such that the interviewer can see that I'm not a complete n00b.
So, I'm reaching out to the HN community for ways to hack the interview. Especially any "mind" hacks.
* How do you approach interviews mentally - especially phone screens?
* Do you draw things on paper before implementing a solution? How do you progress from conceptualizing a solution to implementing it?
* How do you verbalize your thoughts or let the interviewer know that there's progress being made and you're not just bewildered and completely lost?
* What are some psychological ways to hack the interview? How do you stay focused on solving the problem and not get distracted by having to express your thought process and worrying about the interviewer's perception?