About these notes

Communication tips during the interview


  • Ask leading questions. One of the best things you can do during the interview. It helps the interviewer to follow you and it allows you to verify you’re on the right track.
    • When coming up with examples:
      • Do you think I missed an interesting case?
      • Are the examples enough?
    • When proposing solutions:
      • Do you think this is an acceptable solution?
      • Do you think we can do better?
    • When coding:
      • Does this look good to you?
      • Does this make sense?
      • Right?
  • Briefly comment on every choice you make and why (recursion/iteration, DFS/BFS etc)
  • Keep the big picture in mind, ask if it’s okay to use abstraction functions (e.g. get_neighbors(node)) and code up helper functions later if you have time.

Keep in mind:

  • Use type hints for Python. It’s part of the style guide for most companies, and it shows you care about good coding practices.
  • Is the code testable and maintainable? Discuss maintainability/speed trade-off
  • Prefer writing pure functions, avoid mutating function parameters
  • Avoid relying on mutating global variables
  • Do input validation is_valid(input)
  • Use abstraction to your advantage! get_neighbors(node)
  • State explicitly when cutting corners

← back

Links to this note

Framework for coding interviews

Having a framework by which you approach every single technical interview greatly improves your chances of success. It can’t help you have a perfect session, but almost guarantees you will...

Tech interview resources

tl;dr; This applies to Big Tech and other companies who are applying similar interviewing strategies. - Spend 2 weeks reading “Cracking the Coding Interview” and familiarizing yourself with the process....