Message on Whatsapp 8879355057 for DSA(OA + Interview) + Fullstack Dev Training + 1-1 Personalized Mentoring to get 10+LPA Job
0 like 0 dislike
2,695 views

in Coding Resources by Expert (30,360 points) | 2,695 views

1 Answer

0 like 0 dislike

Best Coding Resources for MAANG or FAANG | How I got into Amazon, Microsoft, Google from studying these resources. 

Everyone has a study plan and list of resources they like to use. Different plans work for different people and there is no one size fits all.

This by no means is the only list of resources to join a larger technology company. But it is the list of resources I used myself to prepare for all my technology interviews.

Quick Background

I’m a current engineer at Microsoft who previously worked at Amazon for 1 year each respectively. I’ll soon be joining Google and the following resources is how I got there.

Yes, the purchasable resources are affiliate links that help support this blog. Regardless, these are the resources I’ve used both purchasable and free.

Coding Resources

 

Cracking the Coding Interview (CTCI)

This is the simplest book to get anyone started in studying for coding interviews.

If you’re an absolute beginner, I recommend you to start here. The questions have very details explanations that are easy to understand with basic knowledge of algorithms and data structures.

Elements of Programming Interviews (PythonJavaC++)

If you’re a little more experienced, every question in this book is at the interviewing level of all large technology companies.

If you’ve mastered the questions in this book, then you are more than ready for the average technology interview. The book is not as beginner friendly as CTCI but it does include a study plan depending on how much you need to prepare for your interviews. This is my personal favorite book I carried everywhere in university.

NeetCode blind 75 — YouTube

Blind has a list of 75 questions that is generally enough to solve most coding interviews. It’s a very curated and focused list for the most essential algorithms to leverage your time.

The playlist above is one of the clearest explanations I’ve ever seen and highly recommend if you need an explanation on any of the problems.

CSES Problem Set — Tasks

These problems are hard. Really hard for anyone who hasn’t practiced algorithms and is not beginner friendly. But if you are able to complete the sorting and searching section, you will be more capable than the average LeetCode user and be more than ready for your coding interview.

Consider this if you’re comfortable with LeetCode medium questions and find the questions in CTCI too easy.

Algorithm Learning

 

Introduction to Algorithms (4th Edition)

This is the most common and best textbook anyone could use to learn algorithms. It’s also the textbook my university used personally to learn the core and essential algorithms to most coding problems.

The 4th edition was recently released and is still relevant to MIT students. If you need structure and a traditional classroom setting to study, follow MIT’s algorithm course here.

William Fiset — Graph Theory

Graph theory does come up in interviews (and was a question I had at both Bloomberg and Google). Stay prepared and follow William Fiset’s graph theory explanation.

The diagrams are comprehensive and the step-by-step explanations are the best I’ve ever seen on the topic.

CSES.fi Handbook

This handbook is for people who are strongly proficient with most Leetcode algorithms. It’s a free resource that strongly complements the CSES.fi curriculum.

Competitive Programming 4th Ed.

For the most experienced algorithm enthusiasts, this book will cover every niche data structure and algorithm that could possibly be asked in any coding interview. This level of preparation is not generally needed for FAANG type companies but can show up if you’re considering hedge fund type companies.

System Design

 

The System Design Interview (Vol. 1, Vol. 2, Online Course + Community)

In my opinion, you will be more than ready for any system design interview using these resources. The diagrams are clear and the explanations are as simple as possible in each book to help you learn system design concepts quickly.

I recommend the online course personally because yes the content from both books is great to own, it’s the online community discord you get access to that makes the yearly subscription worth it. The discord includes mock interview buddies, salary discussion, and over view on each system design topics to study with other users on.

System Design Primer

The system design primer is the best free resource on all things system design. Dig deep into the Git repository and you will learn everything you need to know on system design. It’s all curated in a single repository and the clearly structured to give you a guided curriculum.

Educative’s System Design Interview

This quick overview on system design is great to review if you’re in a rush. The read typically takes users 45 minutes but you’ll be left knowing more system design than the average engineer.

Give it a read. If concepts are unclear or confusing, that might be a sign you’re not ready for interviews.

Grokking the System Design Interview

If you need something more in-depth, then you can checkout this resource that gives you clear industry standard system design explanations for the worlds largest products. A complete read through this and The System Design interview should be enough to pass any interview with system design.

Object Oriented Design

 

Design Patterns: Elements of Reusable Object-Oriented Software

Regardless if you’re learning design patterns for the object-oriented programming interview, you will need to know design patterns as a software engineer at these large companies.

The book is the origin of the world’s most common design patterns today and showing proficiency in these for your object oriented interview is a requirement for certain large technology companies like Amazon.

Head First Design Patterns

The above resource is dense and written in language that’s hard to understand. While the original source material in design patterns is great, it doesn’t help much if it’s difficult to understand.

Consider Head First Design patterns to study a simplified explanation of those common design patterns. It might not be as in-depth as the original source material, but your understanding in design patterns will be more than enough to crack any object-oriented interview.

Closing Thoughts

Honestly, I did not go through all of these resources from cover to cover. If you do, I’m sure you wouldn’t need to study for another interview again. But likely we don’t have the time to do that so make sure that once you understand the core concepts in the any of the above categories that you invest your time moving on to the next.

Again, these are the resources I used and is not at all inclusive of anyone else’s study plan.

Hope this helps.

Happy Coding Guys.....

by Expert (30,360 points)