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.
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.