These thoughts drove me to write this blog series. There are hundreds if not thousands of web sites that talk about programming interviews. Many just list a bunch of questions. Some rely on their readers to answer these questions which may not necessarily be correct. Almost none take the pain and effort it requires to teach how to become a better interviewee. None teach you how to be an awesome interviewer.
That is the goal of this blog. To teach you, prepare you, help you, and guide you for a better, more pleasant interview process; from both sides of the table.
Now you would (or should ask): Who are you? How do you think you are qualified enough to advice me for preparing for an interview. Fair question. A little about myself. I am a veteran of the software industry. For last 15 years I have worked from large enterprises like Microsoft, Verifone to mid-size businesses to startups. I have been a developer, tester, manager and an executive. I have conducted 100's of interviews, both technical and non-technical. I have a track record of hiring stunning employees. I think that should be enough to convince you that you are in good hands. If not, i would still urge you to read further and evaluate the content yourself.
There are many facets to an interview. The whole process varies from company to company. Initially this blog will focus more on the technical part of the interview process. We will go over various technical areas of an interview. We will cover problem solving, architecture, white boarding, thought process and various programming languages. In addition, we will also cover the traditional interview questions as well. Later on in the series, we will focus on the bigger picture, the whole recruiting process and talk about specific companies interview processes.
We would LOVE to get your feedback. What you liked, what you didn't like, specific areas you would like us to focus on or even answers to specific questions that you were asked but couldn't answer.