Melvin's digital garden

Field guide to the algorithmic interview

speaker: Wong Yiwen event: Hackers and Painters ** interview process

  • prescreening coding test
  • 2-3 phone interviews
  • 3-5 on-site interviews
  • each interview ~1hr long, between 1-8 qns each
  • high false positive rate
  • international candidates can try once a year ** phone interview
  • phone call or skype/google hangout
  • live coding, using Google docs or CollabEdit
  • scheduling protip: Daylight savings time ** on-site interview
  • code on the whiteboard
  • lousy markers? bring your own markers ** types of questions asked
  • programming languages
  • general cs what is idempotence?
  • coding/algorithmic
  • design how would you create google maps?
  • behavioural why would you want to work with us?
  • NO lateral thinking/puzzle questions
  • NO fermi questions recruiter usually sends an information packet telling you the topics. ** coding/algorithmic questions
  • given two strings, return true if they are anagrams
  • write a program that prints out the powerset of N elements
  • NO implement quicksort
  • NO how to balance an avl tree
  • NO compute the transitive closure of data dependencies of a given C-type program
  • BAD standard problems covered in some CS curriculums ends up as a test of where you went to school
  • is your solution optimal? how to optimize? discuss the space and run time complexity
  • how to test your solution?
  • data does not fit into RAM? ** field tips
  • know your data structures: lists/arrays/hashmaps/trees/heap/graphs
  • know some basic algorithmic approaches
  • studying specific “complicated” algorithms are a waste of time, eg A*, Dijkstra, Bellman-Ford
  • more important to know data structures than algorithms
  • know the implementation language and complexity of data structures/algorithms in standard library
  • pick something interviewer friendly with predictale runtime, eg Java some scripting languages may have strange runtime performance
  • know the machine/environment, eg cache vs RA
  • make the examples easy to build on, list of 100, 200, 800 instead of list of 1, 2, 8
  • discuss characterisics of the problem/solution
  • observations about approaches that don’t work ** preparation
  • how to approach white boarding problems

Links to this note