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 Problemsarrow-up-right" 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 Manipulationarrow-up-right & Numbersarrow-up-right (Notesarrow-up-right) - Unsigned vs signed numbers. Negative and positive number representation. Know how add and subtract works.

  2. Heapsortarrow-up-right - Sort it in-place to get O(1) space

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

  4. External Sortarrow-up-right - No implementation

  5. Detect cycle in an undirected graph

  6. Detect cycle in a directed graph

  7. Count connected components in graph

  8. 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 Sortarrow-up-right —— Didn’t cover in class

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

  6. Do Traveling Salesperson and other NP problems

Last updated