2020 Complete Guide to Quickly Prepare for Google, Microsoft, Facebook, Apple and Amazon Technical Interviews in 1 to 3 months - pranav2579/Technical-Interview-Preparation GitHub Wiki
Hi, I am Pranav. I am currently working as an Engineer at Microsoft.
I have compiled the below list based on a lot of web research and going through the countless number of articles from top engineers about technical interview preparations for Google, Facebook, Microsoft, Apple and Amazon.
I hope it helps! Good Luck!
Data Structures and Algorithms:
Data Structures & Algorithms Book:
-
The Algorithm Design Manual
Best Interview Questions Books:
- Data Structures and Algorithms Made Easy in Java: https://www.amazon.in/dp/8192107558/ref=cm_sw_em_r_mt_dp_U_s4X8EbNAZA225
- Elements of Programming Interviews in Java: https://www.amazon.in/dp/1517671272/ref=cm_sw_r_tw_dp_x_53X8EbE50CY1K
- Cracking the Coding Interview: https://www.amazon.in/dp/0984782869/ref=cm_sw_r_tw_dp_x_t3X8Eb0BBN7TJ
Coding Practice:
-
Grokking the Coding Interview:
- Course Link: https://www.educative.io/courses/grokking-the-coding-interview
- Articles which summarizes this course in short: https://hackernoon.com/14-patterns-to-ace-any-coding-interview-question-c5bb3357f6ed
-
Leetcode Questions:
- LeetCode Top Interview questions: https://leetcode.com/problemset/top-interview-questions/
- Common Patterns in interview questions: https://seanprashad.com/leetcode-patterns/
- Curated List of Top 75 Questions from a user: https://leetcode.com/list/xoqag3yj/
- 5 week list of LeetCode problems: https://yangshun.github.io/tech-interview-handbook/best-practice-questions/
- For premium LeetCode questions: https://leetfree.com/
- GeeksForGeeks for tutorials and company-specific questions and interview experiences: https://www.geeksforgeeks.org/practice-for-cracking-any-coding-interview/
Additional books/resources if you have more time:
- Programming pearls: https://learning.oreilly.com/library/view/programming-pearls-second/9780134498058/
- Pragmatic programmer: https://learning.oreilly.com/library/view/the-pragmatic-programmer/9780135956977/f_0017.xhtml
- Programming interviews exposed - https://learning.oreilly.com/library/view/programming-interviews-exposed/9781118283400/#toc
- Top coder data science tutorials: https://www.topcoder.com/community/competitive-programming/tutorials/
- Coding practice: Interview Bit - https://www.interviewbit.com/practice#_=_
- A very exhaustive list of resources: https://github.com/jwasham/coding-interview-university#system-design-scalability-data-handling
System Design:
System Design Best Book:
- Designing Data-Intensive Applications: https://learning.oreilly.com/library/view/designing-data-intensive-applications/9781491903063/
System Design Concepts:
- System Design Primer: https://github.com/donnemartin/system-design-primer#step-1-review-the-scalability-video-lecture
- Grokking system design interviews: https://www.educative.io/courses/grokking-the-system-design-interview
- Hired In Tech: https://www.hiredintech.com/classrooms/system-design/lesson/52
- System Design Cheatsheet: https://gist.github.com/vasanthk/485d1c25737e8e72759f
System Design questions:
-
HackerNoon Articles:
-
Youtube:
- System Design Interview - Approach and structure - https://www.youtube.com/playlist?list=PLA8lYuzFlBqAy6dkZHj5VxUAaqr4vwrka
- David Malan Youtube lecture โ https://youtu.be/-W9F__D3oY4
- Distributed Systems in One Lesson by Tim Berglund: https://youtu.be/Y6Ev8GIlbxc
- Four Distributed Systems Architectural Patterns by Tim Berglund: https://www.youtube.com/watch?v=tpspO9K28PM
- Building Financial Systems on Eventually Consistent DBs by Rahul Pilani: https://www.youtube.com/watch?v=KH0l8QqhzYk
- Gaurev Senโs YouTube Tutorials: https://www.youtube.com/playlist?list=PLMCXHnjXnTnvo6alSjVkgxV-VH6EPyvoX
- Tushar Roy โ System design: https://www.youtube.com/playlist?list=PLrmLmBdmIlps7GJJWW9I7N0P0rB0C3eY2
- Success in Tech: https://www.youtube.com/playlist?list=PLA8lYuzFlBqAy6dkZHj5VxUAaqr4vwrka
- System Design Interview channel: https://www.youtube.com/channel/UC9vLsnF6QPYuH51njmIooCQ/videos
- YouTube playlist with multiple system design videos: https://www.youtube.com/playlist?list=PL73KFetZlkJSZ9vTDSJ1swZhe6CIYkqTL
Additional Resources if you have more time:
- High Scalability: http://highscalability.com/
-
Udemy Moocs:
-
Books:
- Head first Design Patterns: https://www.amazon.in/dp/9352132777/ref=cm_sw_em_r_mt_dp_U_.6X8Eb4Z5JZKT
- Head first Object Oriented Design: https://www.amazon.in/dp/8184042213/ref=cm_sw_em_r_mt_dp_U_r7X8EbY4V07KS
Preparation Experience Articles:
- How to Prepare for Software Engineering Interviews : https://engineerseekingfire.com/how-to-prepare-for-software-engineering-interviews/
- Google Coding university: https://github.com/jwasham/coding-interview-university
- Milad Naseri 4 week plan: https://www.linkedin.com/pulse/average-googler-four-weeks-study-plan-milad-naseri
- Tech Interviewers Handbook: https://yangshun.github.io/tech-interview-handbook/
- https://blog.usejournal.com/how-i-got-into-google-161c97913b8b
- Jay Shah prep: