Open Chapter Overview

Forward

Chapters

Best Resources For Data Structures & Algorithms

Next Module

Your best bet for mastering Data Structures & Algorithms is taking those courses at your university. But, if those classes aren’t offered or aren’t good, here are a few recommendations. 

Cracking the Coding Interview

This book covers a lot of information and is rich in its Data Structure & Algorithms content. It also shows example coding problems for each concept. A great starting place for people entering the Leetcode world.

Interview Cake

Interview Cake is an excellent additional resource that provides creative and original programming questions in all areas. It is rather expensive, but students can get 1 week of access with the Github Student Developer Pack (which is free). Go to this link and claim your Github Student Developer Pack by uploading your student ID. From there, you should be able to connect Github to Interview Cake for free access. Make sure to get your free access during a week when you’ll be spending a lot of time on interview prep. Also, you can always write down notes about the problem and how you solved it, in order to remind yourself once your access has been revoked.

Google Tech Dev Guide 

Google offers a free course on Data Structures & Algorithms, including coding problems to practice as you learn. 

Github Cheat Sheet

A curated collection of Data Structures & Algorithms knowledge that goes into more depth for the more-complex algorithms than our cheat sheet does.

Khan Academy

A great free resource that offers a ton of information on search algorithms, sorting algorithms, asymptotic notation, recursion, and graphs. 

HackerRank

A lot of online assessments are administered through HackerRank. Lucky for you, they offer a wide variety of practice problems that resemble the actual problems you’ll get on assessments. Plus, you get to practice working with their IDE.

CodeSignal

CodeSignal is another popular tool for technical screens. They also offer free practice problems for you to familiarize yourself with their IDE. Notably, they offer front-end practice problems, which can be helpful if you are looking for a web development role.