Either just go through this guide instead.
Or go through the following before the interview.
- LeetCode
- Cracking the Coding Interview (CTCI) Questions
- Anki Card Preparation
- Daily Anki Card Review Until Job Offers
- Google Tech Dev Guide
Note: Clear checkboxes by doing a find & replace on this document and swapping "[x]" with "[ ]" (without quotes)
- All Relevant CTCI Questions
- Ch 1 - Arrays and Strings
- Ch 2 - Linked Lists
- Ch 3 - Stacks and Queues
- Ch 4 - Trees and Graphs
- Ch 5 - Bit Manipulation
- Ch 6 - Math and Logic Puzzles
- Ch 7 - Object-Oriented Design
- Ch 8 - Recursion and Dynamic Programming
- Ch 9 - System Design and Scalability
- Ch 10 - Sorting and Searching
- Ch 11 - Testing
- Ch 14 - Databases
- Ch 16 - Moderate
- Ch 17 - Hard
- All Leet Code Top 100 Liked Problems
- All Easy
- All Medium
- All Hard
- All Leet Code Google Interview Question Sets
- All Leet Code Amazon Interview Question Sets
- All Google Tech Dev Guide - Foundations of Programming sections
- All Google Tech Dev Guide - Advanced Programming sections
- Anki Cards on:
- Advanced Algorithms
- Divide and Conquer
- Dynamic Programming
- Greedy Algorithms
- Math
- Elementary Probability Theory
- Combinatorics
- System Design
- Distributed Systems
- Concurrency
- Object Oriented Design
- D.S. & A. Implementations
- C++
- Stacks
- Queues
- Priority Queues
- Binary Tree (BT)
- BT Node
- BT Traversal
- Pre-order
- DFS
- BFS
- In-order
- DFS
- BFS
- Post-order
- DFS
- BFS
- Reverse In-order
- DFS
- BFS
- Pre-order
- Node-wise Comparison of 2 BT's
- Tree Depth
- Tree Diameter
- Red-Black Trees
- Heaps
- Max-heap
- Min-heap
- Tries
- Graphs
- Adjacency List Representation
- Matrix Representation
- Object and Pointers Representation
- Graph Search
- BFS
- DFS
- Graph Connectivity
- Cycle Detection
- Distance between Nodes
- Hashing
- Hash Functions
- Hash Maps
- Direct Addressing
- Open Addressing
- Hash Sets
- Resizable ArrayList
- Linked List
- Singly
- Doubly
- Cycle Detection
- Sorting
- Merge Sort
- Quick Sort
- Selection Sort
- Insertion Sort
- Bubble Sort
- Heap Sort
- Radix Sort
- Topological Sort
- Searching
- Binary Search
- A*
- Dijkstra
- Python
- Stacks
- Queues
- Priority Queues
- Binary Tree (BT)
- BT Node
- BT Traversal
- Pre-order
- DFS
- BFS
- In-order
- DFS
- BFS
- Post-order
- DFS
- BFS
- Reverse In-order
- DFS
- BFS
- Pre-order
- Node-wise Comparison of 2 BT's
- Tree Depth
- Tree Diameter
- Red-Black Trees
- Heaps
- Max-heap
- Min-heap
- Tries
- Graphs
- Adjacency List Representation
- Matrix Representation
- Object and Pointers Representation
- Graph Search
- BFS
- DFS
- Graph Connectivity
- Cycle Detection
- Distance between Nodes
- Hashing
- Hash Functions
- Hash Maps
- Direct Addressing
- Open Addressing
- Hash Sets
- Resizable ArrayList
- Linked List
- Singly
- Doubly
- Cycle Detection
- Sorting
- Merge Sort
- Quick Sort
- Selection Sort
- Insertion Sort
- Bubble Sort
- Heap Sort
- Radix Sort
- Topological Sort
- Searching
- Binary Search
- A*
- Dijkstra
- C++
- Advanced Algorithms
- All Relevant CLRS Chapters
- Learneroo Math Course
- Behavioral Questions Prep
- Fill in Behavioral Chart
- Installation instructions on Anki, leetcode signup, and links to books and courses
- Source Control - Git Basics -> Advanced
- Python Language Specifics
- C++ Language Specifics
- AI/ML Prep
- Agile Software Development