This is a post holding all of my Algorithms and data structures that potentially can come up on a tech interview. I feel it’s a good place to post my knowledge in different OOP languages as well, so that I know that I have a good understanding of most standard libraries.

  • Trees
    • manipulation
    • traversal
  • hash tables
  • stacks
  • arrays
  • linked lists
  • priority queues
  • dynamic programming
  • famous classes of NP-complete problems
  • quick sort
  • merge sort
  • binary search
  • depth first
  • breadth first
  • combinatorial search
  • substring searching
  • counting problems
  • probability problems
  • discrete math 101
  • combinatorics
  • graphs
    • representations
    • distance
    • search
    • connectivity
    • cycle-detection
    • bfs
    • dfs
  • recursive solutions
  • concurrent processing
  • processes
  • threads
  • concurrency issues
  • locks
  • mutexes
  • semaphores
  • monitors and how they work
  • how to avoid:
    • deadlock
    • livelock
  • context switching
  • scheduling
  • fundamentals of “modern” concurrency constructs