How To Prepare For Technical Interviews

Research The Interviewing Company

  • glassdoor
  • company’s blog
  • wiki
  • finance report(public companies)
  • crunchbase(startups)
  • news
  • indeed

Research The Interviewers

  • Linkedin

Get familiar with your resume

  • be ready to discuss any experience on resume
  • do not put anything that you cannot provide details or reasoning

Computer science basics

  • operating system, process, thread, memory
  • network
  • concurrency, locks, mutex, semaphores
  • OOP(design an elevator/parking lot)
  • Garbage Collection
  • comparisons between the concepts

coding/algorithm questions

  • be familiar with at least one programming language(C/C++/Java)
  • understand Big-O and NP-complete problems
  • common data structures and algorithms

    • sorting, binary search
    • hash, hashmap, hashset
    • tree, trie, balanced tree
    • heap
    • graph, toposort
    • dynamic programming
  • eBook: Coding Interview Solutions

Distributed System Design


  • Your choice of expertise(e.g. data science, security, mobile app)

If You Do Not Know The Answer

“I’m not familiar with this but this is how I would approach it”