Interviewing is no joke. There’s just so much advice and information out, and it seems incredibly competitive for, sometimes, random measures of performance. With all my experiences, the biggest lesson for me to learn is to slow down and communicate well. An awesome recruiter told me that people often focus so much on the right answer, that the explanation can be befuddling. I can’t recall ever not being able to solve a technical question; however, I do have ups and downs in how I’ve felt after various interviews.
Originally, I thought that my friends had been too easy on me when they would mock interview me– which may be the case. (It doesn’t hurt to ask them to be tougher on you). What I realized was that I might actually just be MORE comfortable because I’m with friends.
Anyhow, the revelation was simple: be pleasant, make sense, and work well with your interviewer. Unless you really do know everything and can solve problems your first try, it’s better to make your best impression on how well you can collaborate and how awesome you are to work with.
While I do end up solving the problems, I have a habit of going too fast and doubting myself– getting myself lost and found multiple times, eventually arriving at the right answer, but leaving the interviewer confused. This trial and error approach works when I’m solving a problem on my own, but as an instructor, I would never teach a lesson this way. Maybe a good way to approach interviewing is thinking of it like a CS professor teaching a class– it’s important to solve a problem while delivering a coherent narrative at the same time.