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.

  1. Bit Manipulation & Numbers (Notes) - Unsigned vs signed numbers. Negative and positive number representation. Know how add and subtract works.

  2. Heapsort - Sort it in-place to get O(1) space

  3. Tree Traversals - BFS, DFS (in-order, pre-order, post-order): Implement Recursive and Iterative

  4. External Sort - No implementation

  5. NP-Complete (Video) - just know the concept

  6. Detect cycle in an undirected graph

  7. Detect cycle in a directed graph

  8. Count connected components in graph

  9. Find strongly connected components in graph

Advanced - Ignore if you don't have time.

  1. Disjoint Set

  2. What is a Spanning tree?

  3. Minimum Spanning Tree (Kruskal and Prim)

  4. Radix Sort —— Didn’t cover in class

  5. General Sorting Algorithms (Notes) - Bubble sort, insertion sort, etc.

  6. Explain bipartite graph (how do you check if graph is bipartite?)

  7. Do Traveling Salesperson and other NP problems

Last updated