Important Data Structures for
Programming Interviews
Following are the basic data structures and you have to know each and every one of them
- Linked Lists - Singly and Doubly
- Stacks
- Queues
- Binary Search Trees ( and Binary Tree )
- Heaps
- Basic Graph Traversals and Shortest Path
- Hashing
Following data structures may be asked. Their probability of being asked is between 50 to 75% -
- Tries
- Advance Graphs like flow and min-cut etc.
- Bit Manipulation
Following have very low probability of being asked ( < 25%) :
- Segment Trees / Binary Indexed Trees
- AVL Trees
- B+ Trees.
Following Algorithms / Tricks / Topics may also be important :
- Memory Management
- Basic Co-ordinate geometry - Manhattan Distance, Closest Point Pair
- Divide and Conquer
- Greedy
- Dynamic Programming - Extremely important
- Probability and basic Number Theory
- Sorting and Searching
Following topics is important for Knowledge / Experience based questions :
- OS - Threads, Processes and Locks using Mutex, Semaphores (Operating systems Archives - GeeksforGeeks)
- Scalability Issues, RPCs, Rate limiter, etc.
- OOP Concepts
- Databases - SQL, NoSQL, Writing simple Queries, Transactions, ACID
- Linux Commands - sed, grep, ps, etc.