Software Engineering Interview Prep
Basic Data Structures
- Arrays
- Matrices
- Hash Tables (Dictionaries)
- Hash Sets (Sets)
- Objects
- Pointers
- Trees
- Stacks
- Heaps
- Queues
Algorithms
- Basic Sorting
- Fast Sorting (merge/quick)
- Related Search
- Divide and Conquer (Binary Search)
- Dynamic Programming 1D
- Dynamic Programming 2D
- Greedy
- Recursion
- Dijkstra
- A*
- Computational Complexity/Big O
Concepts
- Object Oriented Design
- Object Oriented Programming
NP Complete ALgorithms
- Travelling Salesman
- Knapsack
Complex Data Structures
- Singly Linked List
- Doubly Linked List
- Binary Trees
Graphs
- Graphs in Memory
- Runtime Complexity
- Adjacency List
- > Graph Transversal Algorithms
- Breadth-First Search
- Depth-First Search
Mathematics
- Elementary Probability Theory
- Combinatorics
- N Choose K
- Discrete Mathematics
Advanced
- System Design
- Operating Systems
- Deadlock & Livelock
- Semaphores
- Resources
- Resource Allocation
- Context Switching (Operating System/Hardware)
- Scheduling