Please navigate to the bottom of the page for Table of Contents

Thursday, May 12, 2011

So, what can be asked in a programming interview?

Short answer: Anything. Really, the world is your oyster (wait, I have no idea if that phrase makes sense here. I just wanted to use it). Long answer: Yes, it can be anything, but it really falls in 6 – 7 categories of questions. If you understand these categories, you have a very high chance of success.

So, what are these categories of questions? Data structures, object oriented concepts, coding questions, puzzles, bits and bytes, middle tier (or business layer design), API design, database design, database programming, testing, programming language (C, C++, Ruby, Phython, C#, VB, .NET, ASP.NET, jQuery, JAVA, etc.) specific questions, technologies (Android, iphone, mobile, etc.). Depending on the job you are applying for (developer, web developer, QA, etc.), the interviewer will select questions from one or more categories above.

The above paragraph is huge. It looks simple, but it takes years of practice and experience to ask good questions. Not only good, but probing, leading questions. Questions that give the interviewee a chance to show his breadth and depth of knowledge. Also, remember: the interviewer has only 50 minutes or so to evaluate you. That is just not enough time to really understand the skills of a person (unless of course, the answers are more like: I don’t know; Sorry, I have no idea what that means; or worse, if you are trying to make guesses).

In the next post we will dig a bit deeper into various categories. Don’t worry if many do not make sense to you or to the specific job profile you are targeting. Remember, I am trying to as generic as possible for the benefit of the diverse audience this blog addresses.

Remember, most developer positions do not just require technical depth. Yes, that is critical, but so is the attitude. Be a doer. Show enthusiasm. Show excitement. Be genuine, passionate, and above all, honest. There is almost never a case where you would know everything an interviewer is throwing at you. They are testing your ability to graciously perform under pressure. Do not be tense. Be attentive, but not over caffeinated and hyper. Listen, be attentive. Do not rush into answering a question. Let the interviewer finish his question, think about it for a moment, ask any clarifying questions if needed, and then proceed to answer with confidence. If you are making an educated guess, let the interviewer know. This gives him a better perspective and respect.


  1. Thanks Nikhil..this is real helpful

  2. nikhil bhai job lagva de( indianise IT industry) .....hahahah

  3. Nikhil Sir really U are genius .......>>>>>>>>>>>>>

  4. Hi There,

    Great info! I recently came across your blog and have been reading along.
    I thought I would leave my first comment. I don’t know what to say except that I have

    I know, this is probably a LDAP/Active Directory question - but I'll give it a try here.

    Currently I have developed a Java WebApplication to offer the ability to change AD-controlled passwords. The WebApplication uses LDAP access to do this. The users need to authenticate and then their password is changed bei a "LdapContext.modifyAttributes()"-method.

    Awesome! Thanks for putting this all in one place. Very useful!

    Best Regards,
    Irene Hynes