Prep Work

To succeed in this program, it is important that you review the material in this page before the start date. If you don't do this early on you will struggle during the program. Instead of spending your time and energy on what's important (peer-to-peer mock interviews & Leetcode challenges), you'll be stuck trying to understand basic concepts if you don't follow this advice.

Whatever you do, don't procrastinate. Be very comfortable with all the topics below.

Use index cards to master the topics below

  • Implement an ArrayList from scratch

  • Reverse a linked list

  • Implement a Stack & a Queue using Array

  • Implement a HashTable with simple Hashing functions

  • Implement a Graph using Adjacency List, and then write functions for BFS & DFS

  • Write the binary search algorithm both recursively and iteratively

  • Write the merge sort algorithm

  • Write the quicksort algorithm

  • Print binary tree using DFS (in-order, preorder and post order - all three of them) and BFS.

  • Memorize time & space complexities for common algorithms. Here's an interesting website.

  • Implement a trie.

  • Learn these important bit manipulation tactics.

  • Read and do the exercises (pages 38 - 58) from the CTCI book.