Interview Preparation - Technical Interviews

Interview Preparation
Nothing prepares you for interviews more than your work experience.  You can’t fake knowledge and experience, and it’s very important that you don’t try to represent experience that you don’t have.  However, interview preparation is critical!  Below are some pointers to help with the process.

Most interviewers will ask you specifically about what is on your resume.  Therefore, it is critically important that you know very well the areas you represent on your resume.  There is a balancing act between selling yourself and over-selling yourself.  You need to work on your resume to strike the right balance.

The Obvious
Know where you are going and who you are meeting with, and allow plenty of time to get there.  Be on time.

Dress appropriately.

Turn your phone off!  Never look at your phone during an interview.  It's rude and makes a terrible impression.  Worried about emergencies?  The probability that you will receive an emergency call during an interview is less than the probability your children will starve to death if you don't get the job.

Don’t eat, drink, or smoke before the interview.

Bring some energy – being well rested is important, but also, don’t forget that you are selling yourself, so you need to exhibit positive energy.

For phone interviews, make sure you will be in a quiet place, preferably on a land-line, and won’t be interrupted by children, dogs barking, etc.

The Somewhat Less Obvious
Know the details of the role you are interviewing for.  If your agent hasn’t provided sufficient detail about the role, insist on it. 

Research the company you are talking to.  Learn something about the industry if you are changing industries.  (

Behavioral Questions
 Many interviewers will ask some number of behavioral questions.  Since these types of questions are common practice, it doesn’t make a good impression if you are unprepared for them.  Make sure your answers reflect your personality and convey the message you are trying to communicate.  Generally you can come up with a few stories that can be modified to suit a number of different questions.  Many common questions are listed in this article:

Your answers will be far better with preparation.  Practice your answers with someone who can give you feedback.

Technical Questions – Areas to Review

Data structures.  These are the building blocks of computer science, and most strong teams want to make sure your fundamentals are sound to ensure that your understanding and decision making at all levels is predicated on a solid foundation. Wikipedia has an excellent list of data structures here

Algorithms.  It's harder to point to a concise list of algorithms for study.  Sorting and traversing data structures are fundamentals to be sure to know.  You should be very comfortable with questions such as:

- Write the pseudo-code for performing a depth/breadth first traverse of a binary tree

- Is a hash table a good data structure for storing data in an application that support partial search such as "select * from MyTable where name like 'John%'.  If not, what is?

Databases.  The database may not be your focus, but there’s a database underneath just about every piece of software.  If you use a database at all and might be asked about it, know the fundamentals of SQL.  You shouldn’t have to think to come up with the syntax for joins (inner/outer), self-joins, grouping, having,etc.  Also be sure to know the harder aspects of using a database properly – optimization, locking, and the transaction log.

Problem Solving/Puzzle Questions

There are any number of these types of questions, and you will do well to search the web for examples.  Google is famous for some of the trickier and more challenging questions.  While it is impossible to study all of these, it is very useful to practices many examples.  This practice provides familiarity with a variety of techniques for attacking these types of problems that can often be applied to other variations.  It also gets you used to the type of thinking that is necessary to solve these types of questions.

Here are a few important things to keep in mind when answering questions:

·         Be honest about what you know and don't know.  The surest way to fail an interview is to say you have expertise in an area and then fail to demonstrate what you have represented when the interviewer asks about that area.  Your job is to demonstrate that you are good at what you have experience with and can learn whatever is necessary to be successful in your new job.

·         You don't need to get the answer to every question to do well.  The interviewer wants to see sound reasoning and creative approaches more than exactly the right answer.  When answering a question, if your ideas are sound, and you follow a logical progression of steps, possibly down a series of dead-ends but using solid reasoning along the way, you will likely make a good impression.  

·         When you don’t know the answer or how to start on the problem, never say, "I don't know!" Instead, say, "That's an interesting question, let me think about that."  Then do your best to bring your problem solving skills to the task.  Don't hesitate to ask questions about the problem to learn more.  This is also a way to get more time to solve the problem, as your subconscious will already be working on a solution.  Now it's about problem solving, so you want to demonstrate sound capabilities as you attack the problem.  If you are reasoning well, it is typical that the interviewer will give you hints and help you solve the problem as they see your progression.  Now the exercise becomes collaborative, and both you and the interviewer will learn a lot about each other.


You will be asked if you have any questions.  You may or may not.  Here is a good list that may give you ideas: 

At the least, be sure to thank the interviewer for their time, express your enthusiasm for joining the company (if true), and ask what the next steps will be if they decide to move forward.  An example:

“Thank you so much for taking the time to speak with me today!  I’m very excited about the opportunity, even more so after talking with you and learning more about the role.  What are the next steps in the process if you decide to m

Last Thoughts

Preparing for an interview is work, but the payoff is significant.  Remember, the next person in the door to interview for the job has done their homework.

Additional Resources