-
-
Save dmadan86/8482ec791a99f6f05f23 to your computer and use it in GitHub Desktop.
Google Interview Prep
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1) Algorithm Complexity - Big-O | |
2) Sorting - Merge, Insert, Bubble | |
3) Hashtables - Implement using Arrays | |
4) Trees - Binary, n-ary, trie-trees; balanced binary tree - Red/Black tree, splay tree, AVL tree | |
Tree traversal algorithm - BFS, DFS ; difference between inorder, postorder, preorder | |
5) Graphs - Representation of graphs using: objects and pointers, matrix, adjacency list | |
Graph traversal algorithm - BFS, DFS | |
A* and Dijkstra | |
6) Data Structures - NP-complete problems: traveling salesman and knapsack problem | |
7) Discrete Mathematics - combinatorics and probability | |
8) Operating Systems - processes, threads, concurrency, locks, mutexes, semaphores, monitors, deadlock, livelock, resources a process and thread needs, how context switching works, scheduling | |
Doug Lea's Concurrent Programming in Java | |
* Algorithm Design Manual ~ by Steven Skiena | |
* Concurrent Programming in Java ~ by Doug Lea | |
* Discrete Mathematics ~ by Rod Haggarty |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment