How I prepared for Google and Facebook Software Engineering interviews?

in #software8 years ago

Last year, I interviewed for software engineering roles at Google and Facebook. I created the following curriculum for myself. For personal reasons, I had to continue working at my then day job (also as a software engineer), which meant that I could, at most, devote 2 hours per day, and 2 - 4 days per week (so, about 4 - 8 hours per week) , to my course of preparation. It took me 4 months to get through it all.

Basics

  1. http://www.hiredintech.com/algorithm-design/
  2. BOOK : Cracking Coding Interview
  3. BOOK : Programming Interview Exposed
  4. http://www.programcreek.com/2012/11/top-10-algorithms-for-coding-interview/ (100s of solved questions)
  5. https://www.topcoder.com/community/data-science/data-science-tutorials/ (Use CLRS and Skiena as references, to understand some algorithms in depth)
  6. http://www.hiredintech.com/system-design/system-design-intro/

Intermediate

  1. Dynamic Programming (video 1, video 2)
  2. http://www.techinterview.org/
  3. http://apps.topcoder.com/wiki/display/tc/Algorithm+Problem+Set+Analysis

Advanced

  1. https://projecteuler.net/
  2. Distributed Systems : http://book.mixu.net/distsys/single-page.html

Did it work out?

Yes. I got offers from both companies and chose to work at Facebook.

Other references

  1. https://www.educative.io/collection/5668639101419520/5649050225344512