Job at Google in 6 months recipe

  • have basic math, algorithm and data structure knowledge required for the interview
  • change the way you think about problems, expressing them using mathematical models (it is not scary, rather fun)
  • possibly love learning. Here at Google it is a continuous process and not less intensive.
  • learn nothing about system design (see below)

Learn math

Learn algorithms and data structures

  • Watch MIT’s Introduction to Algorithms video course.
  • Read Introduction to Algoritms book by Cormen et al.
  • Do homework
  • Write algorithm and data structure implementations yourself. Write unit tests
  • Skim through the second part of Algorithm design manual book by Skiena. It is a catalog of well-known algorithmic problems. The first part is not required since Introduction to Algorithms covers theory pretty well
  • Optionally, skim through Algorithms book by Sedgewick. He covers 3-way-quicksort and has great illustrations

Learn multi-threading

I didn’t have time to read it all, but Part I Fundamentals is worth reading even if Java is not your language. You must be able to tell why a given piece of code won’t work multi-threaded and how to fix it.

Solve problems

The second part of the recipe is simply solving algorithmic problems available at contest sites, such as TopCoder and Codeforces. Solve as many problems as time permits. It is OK to feel “I am stupid” when looking at a problem. I still have it, yet I’ve got a job.

Learn system design

You will be asked system design questions for sure. This recipe does not cover it. I didn’t prepare for system design and regretted. If you have a book/course recommendation, please post in comments.

--

--

Principal Engineer at AWS

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store