1. Data Structures & Algorithms
The following is a long list of topics. If you're preparing to interview at a top tech company and don't have much time (<2 months), just go over the essentials.
Coding Challenges
Do all the Leetcode problems from the "Google Problems" section. Don't worry if you're not applying to Google. And don't be a cry baby. Just do them all and you'll be in a better shape.
Data Structures
Essentials - You're screwed if you don't know these.
Be able to implement any of these from scratch
Advanced - Ignore if you don't have time.
Algorithms
Essentials - You're screwed if you don't know these.
Try implementing these.
Bit Manipulation & Numbers (Notes) - Unsigned vs signed numbers. Negative and positive number representation. Know how add and subtract works.
Heapsort - Sort it in-place to get O(1) space
Selections - Kth Smallest Elements (Sort, QuickSelect, Mediums of Mediums) - Implement all three ways
Tree Traversals - BFS, DFS (in-order, pre-order, post-order): Implement Recursive and Iterative
External Sort - No implementation
NP-Complete (Video) - just know the concept
Detect cycle in an undirected graph
Detect cycle in a directed graph
Count connected components in graph
Find strongly connected components in graph
Advanced - Ignore if you don't have time.
Disjoint Set
What is a Spanning tree?
Minimum Spanning Tree (Kruskal and Prim)
Radix Sort —— Didn’t cover in class
General Sorting Algorithms (Notes) - Bubble sort, insertion sort, etc.
Explain bipartite graph (how do you check if graph is bipartite?)
Do Traveling Salesperson and other NP problems
Last updated