Partial Credit Matters

This is a really important mindset for interviews.

Of course it would be nice to do everything perfectly, but it’s not required in order to pass an interview. If you can’t get a 100%, at least ensure you get a 90% by spending your time on the most valuable actions.

Coding skills

Competent coding skills are table stakes for a software engineer. If you can’t write code, it doesn’t matter how good you are at communication, analysis, testing, optimization, or anything else. Code katas are a great way to improve your fluency.

  • Focus on the core logic: Use helper functions with TODOs to defer non-essential code implementation. Come back later if you have time after writing the main code.
  • Write ANY code: If you’re running out of time but you have a non-optimal solution, ask if you can code it up and work on the optimal approach later.
  • Use comments and TODOs: Quickly sketch out your approach with comments so your interviewer knows where you’re going, especially if you run out of time.

Big O complexity analysis

This is a close second to coding skills in importance, especially if you are interviewing at a company or team that works at scale.

When doing coding katas, memorize the time/space complexity of each algorithm.

If you can’t get an optimal solution, it’s almost as good if you can reach a non-optimal solution and explain precisely why it is non-optimal. Bonus points if you can also talk about the theoretical max efficiency.