10 Ways To Improve Your Interviewing Skills

  1. Learn Python. Do your interviews in Python.
    • You can write code faster.
    • It takes less lines of code to do the equivalent in most other languages.
    • Debugging is easier. No need to wrestle with how to print the values in your primitive array instead of the reference to that variable in memory (I’m looking at you, Java arrays).
  2. Read the problem statement thoroughly before asking any questions or writing any code.
    • Most problem statements already contain the answers to the first few questions that you ponder.
    • Spend a few minutes maximum to read through the problem and any examples provided.
    • If there are no examples provided, ask the interviewer if they could provide some.
  3. Ask Clarifying Questions.
    • If you are unsure about something, ask.
    • Ask if there are any expectations regarding the
      • asymptotic complexity of your approach.
      • return values from your function.
      • edge cases.
      • validity of the inputs. Can they be null or empty?
    • Confirm with your interviewer if your described approach sounds reasonable/viable.
  4. Consider at least two different approaches to solve a problem before writing code.
    • Interviewers are looking to see how you devise solutions.
    • Aim for optimal approaches. Unless told otherwise, a complete, less-optimal solution is better than a partial, most-optimal solution.
    • Spend at most a few minutes considering other approaches. It should feel explorative but well-paced.
  5. Use Sets, Maps, or anything “Hash” (Dictionaries included).
    • On average, expect to always get some problem that asks you to traverse some input or check for some value inside of it. It takes O(n) time to search a list, but O(1) time to search a set or a map.
  6. Do not ask the interviewer directly for tips or suggestions (unless you are struggling).
    • Do not ask “can I add an element to a list like this?”. It signals to the interviewer that you have a weak grasp of the language you chose to conduct the interview in.
    • Try not to be too honest. We value honesty, but not self-deprecation or self-doubt. Even if you think the problem is too hard for you or you are doing terribly, do not voice that. It gives them a justification to reject you.
    • If you are stuck, ask the interviewer “what do you think? I am trying to do…” This invites a response that may or may not help steer you in the right direction, without blatantly asking for a tip.
  7. Use the variables provided when describing your time and space complexities.
    • Do not assume there are some universal n and m to describe every implementation.
    • If no variables provided, define your own. Check with your interviewer if what you defined sounds reasonable. They may have other variables they prefer.
  8. Assume there are at least two problems you are expected to solve.
    • If you have to write code for 30-45+ minutes, it is more likely than not that the interviewer has multiple parts of a question set (or disjoint questions) to ask.
    • Ask the interviewer if you are unsure. They may or may not reveal this.
  9. If you are unsure, test/debug your code!
    • If you have an executable environment to write code in, ask if you will be penalized for running the code as you write it. If not, add print statements as you write.
    • If you only have a white board / non-executable environment, take a few minutes to write out and go through a few test cases with the interviewer.
  10. Believe in yourself.
    • Even if you think you failed the interview, the outcome may surprise you.
    • You do not need to solve every problem optimally to “pass” every interview.
    • Write down what you felt you struggled with in the interview and work on that. It is likely you will encounter similar problems down the line.

This list is by no means exhaustive. These are the 10 things I would recommend anyone who has ever struggled in an interview to employ. These are taken from first-hand experiences conducting interviews and seeing what mistakes most candidates repeatedly make. The good news is, you can start doing most of these things immediately!

If there is anything you felt I missed that may be more important, leave a comment down below!

Leave a comment

Design a site like this with WordPress.com
Get started