Heapclub
  • November 2018 Cohort
  • Announcements
  • Material Checklist
  • Prep Work
  • How to Study
  • Google Problems
  • Homework Assignments
  • Interview Preparation
    • 1. Data Structures & Algorithms
    • 2. System Design
      • Web Systems
      • Front-End
      • Mobile Developers
        • iOS Developers
    • 3. Operating System
    • 4. Math (optional)
Powered by GitBook
On this page
  • Coding Challenges
  • Data Structures
  • Essentials - You're screwed if you don't know these.
  • Advanced - Ignore if you don't have time.
  • Algorithms
  • Essentials - You're screwed if you don't know these.
  • Advanced - Ignore if you don't have time.
  1. Interview Preparation

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.

PreviousHomework AssignmentsNext2. System Design

Last updated 6 years ago

Coding Challenges

Do all the Leetcode problems from the "" 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

  1. ()

  2. ()

  3. ()

  4. ()

  5. ()

  6. ()

  7. ()

  8. ()

Advanced - Ignore if you don't have time.

Algorithms

Essentials - You're screwed if you don't know these.

Try implementing these.

  1. Detect cycle in an undirected graph

  2. Detect cycle in a directed graph

  3. Count connected components in graph

  4. 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. Explain bipartite graph (how do you check if graph is bipartite?)

  5. Do Traveling Salesperson and other NP problems

()

()

()

()

()

()

& () - Unsigned vs signed numbers. Negative and positive number representation. Know how add and subtract works.

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

- Implement all three ways

()

- BFS, DFS (in-order, pre-order, post-order): Implement Recursive and Iterative

- No implementation

() - just know the concept

—— Didn’t cover in class

() - Bubble sort, insertion sort, etc.

Google Problems
Dynamic Array
Notes
Linked List
Notes
Stack & Queue
Notes
Hash Tables
Notes
Binary Search Tree
Notes
BinaryHeaps
Notes
Graphs
Notes
Trie
Notes
Priority Queue
Red-Black Tree
Notes
AVL Tree
Notes
Splay Tree
Notes
Radix trees
Notes
Suffix Tree
B-Tree
Notes
Fibonacci Heap
Notes
Fenwick tree
Bit Manipulation
Numbers
Notes
Stability in Sorting
Mergesort
Quicksort
Heapsort
Binary Search
Selections - Kth Smallest Elements (Sort, QuickSelect, Mediums of Mediums)
Permutations
Notes
Subsets
BFS Graph
DFS Graph
Dijkstra's Algorithm
Tree Traversals
External Sort
NP-Complete
Video
Topological Sort
Bellman Ford
Floyd Warshall
Ford Fulkerson
A*
Radix Sort
General Sorting Algorithms
Notes