Pluralsight and LeetCode and Udemy and CodeCademy and FrontendMasters
At least 50% off from FlexSub

Subscribe Now

Everyone has a schedule for their studies and a list of their favourite sources. There is no one plan that works for everyone; diverse plans suit different people.

This is not the full list of tools available when working for a larger technological company. However, it is the list of tools I personally utilised to get ready for all of my technical interviews.


Quick Background

I currently work as an engineer for Microsoft after spending a year each at Amazon. I didn't graduate from an Ivy League school and I don't hold a master's degree. The resources below are how I arrived at Google, where I'll soon be working.

Yes, the resources that can be purchased through affiliate links help to fund this blog. Regardless, these are the tools—both paid and unpaid—that I have employed.


Coding Resources

Cracking the Coding Interview (CTCI)

The simplest book to start studying for coding interviews is this one.

I advise you to start here if you are a complete newbie. If you have even a basic understanding of algorithms and data structures, you can easily understand the questions' extremely detailed explanations.

Elements of Programming Interviews (Python, Java, C++)

Every question in this book is at the level of interviews used by all major technology organisations, if you have a bit more experience.

You're more than prepared for the typical technology interview if you've mastered the questions in this book. Although the book is not as user-friendly for beginners as CTCI, it does contain a study schedule based on how much work you need to put into your interview preparation. My personal favourite book, which I took wherever I went in college.

NeetCode blind 75 — YouTube

The set of 75 questions provided by Blind should be adequate to go through the majority of coding interviews. It's a carefully curated and narrow selection of the most important algorithms to help you make the most of your time.

If you need an explanation for any of the challenges, I highly recommend the playlist up there because it is one of the clearest explanations I've ever seen.

CSES Problem Set — Tasks

These issues are challenging. Not beginner friendly and quite challenging for anyone who hasn't practised algorithms. However, if you succeed in the sorting and searching phase, you will be able to utilise LeetCode more proficiently than the average user and will be more than prepared for your coding interview.

If you are accustomed to LeetCode medium questions and find the CTCI questions to be too simple, take this into consideration.


Algorithm Learning

Introduction to Algorithms (4th Edition)

The greatest and most popular textbook for learning algorithms is this one. It was also the textbook my university used to teach students the fundamental algorithms that can be applied to the majority of coding issues.

The most recent edition, which is still applicable to MIT students, is the fourth. If you need structure and a traditional classroom setting to study, follow MIT’s algorithm course here.

William Fiset — Graph Theory

Interviews do occasionally bring up graph theory (and was a question I had at both Bloomberg and Google). Be ready and adhere to William Fiset's explanation of graph theory.

The step-by-step explanations are the best I've ever seen on the subject, and the diagrams are thorough.

CSES.fi Handbook

This manual is intended for users who are highly skilled in the majority of Leetcode algorithms. It is a totally free tool that greatly enhances the CSES.fi curriculum.

Competitive Programming 4th Ed.

This book will cover every specialised data structure and algorithm that might be asked in any coding interview for the most seasoned algorithm fans. Although it is not typically required for FAANG-type organisations, it may become necessary if you are thinking about hedge fund-type companies.


System Design

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

Using these resources, I believe you will be well prepared for any system design interview. Each book has clear graphics and straightforward explanations to help you pick up system design principles quickly.

Although both books' material is excellent to acquire, I personally think the online course is worth it for the access to the online community discord that comes with the yearly subscription. The discord offers practise interview partners, pay discussion, and an overview of each system design topic for users to collaborate on learning.

System Design Primer

The finest free source for information on system design is the system design primer. You can learn everything there is to know about system design by digging deep into the Git repository. You get a curriculum that is clearly planned and all carefully chosen in one place.

Educative’s System Design Interview

If you're pressed for time, it's a good idea to check this brief overview of system design. Users usually read the material in 45 minutes, but when they are finished, they will know more about system design than the average engineer.

Read it over. Concepts that are murky or difficult to understand could indicate that you aren't ready for interviews.

Grokking the System Design Interview

Check out this resource for clear, industry-standard system design explanations for the biggest goods on the market if you need something more in-depth. To pass any system design interview, a thorough reading of this book The System Design Interview should be sufficient.


Object Oriented Design

Elements of Reusable Object-Oriented Software: Design Patterns

You will need to know design patterns if you want to work as a software engineer at these big organisations, regardless of whether you're learning them for the interview on object-oriented programming.

The world's most popular design patterns today have their roots in this book, and for certain major technology organisations like Amazon, you must demonstrate your competency in these during your object-oriented interview.

First-Person Design Patterns

The aforementioned resource is verbose and written in a challenging style. Even while the original source material in design patterns is excellent, it doesn't help much if it's complicated.

Take a look at Head First Design patterns to learn a condensed description of those typical design patterns. Although it may not be as comprehensive as the original source material, your comprehension of design patterns will be more than sufficient to pass any object-oriented interview.


Closing Thoughts

Sincerity be told, I did not read any of these materials in their entirety. I'm confident you wouldn't have to prepare for another interview if you did. However, it's possible that we won't have time for that, so be sure to invest your time in moving on to the next when you have a firm grasp of the fundamental ideas in any of the aforementioned categories.

Pluralsight and LeetCode and Udemy and CodeCademy and FrontendMasters
At least 50% off from FlexSub

Better, flexible and cheaper subscriptions for a wide range of services in just a click of a button.

Get started now