Coding interviews are widespread in the IT recruitment process and can be on a whiteboard or online. This list and tips below aim to help prepare for these interviews. Let me know if you have more resources on this topic by emailing cgunay AT ggc.edu.

Online tools and guides

Textbooks

Technical interview tips

  1. Write quality code: We have a high bar on candidates being able to write quality code quickly. Pretend the code in the interview is going into production; don’t treat it as “just interview hacking”. Clean-up things as you change your mind about implementation ideas. Include comments for anything that warrants it. Don’t add superfluous flow control or superfluous/unused variables. Keep best practices in mind and try to stick to them in the code you produce in the interview.
  2. Demonstrate expertise: For candidates with a lot of industry experience (vs. new graduates), show expertise in your preferred language. If you’ve done a lot of Java development for years, you should know commonly used libraries, such as the JCF, very well. Even if you think you do know them already, consider preparing for the interview by studying API docs beforehand, just to be sure.
  3. Clarifying questions should be specific: Make sure questions you ask of the interview are clarifying questions – more to the “what” of the problem than the “how”. If you do have questions about “how”, be able to describe your alternatives to the interviewer and then discuss their merits.
  4. Brush up on CS fundamentals: Sample topics: standard data structures, graph algorithms, big O notation, testing, code organization, leveraging OO fundamentals, functional programming, parsing.
  5. Take in consideration the time constraints on solving the problem. Speak up about tradeoffs you are making, things that you would write differently. Beware of bugs! You should also feel free to ask your interviewer on guidance on approaches.
  6. Be communicative. The interviewer will want to know why you are making your decisions and how you are approaching the problem.
  7. Be ready to discuss alternate methods. After you have completed a solution, the interviewer may be curious to know if you think it could have been solved another way.