本文共 1361 字,大约阅读时间需要 4 分钟。
Stick to Basics. I would classify the following data structures as must know
Linked List - Single and DoublyStackQueuesBinary Search Trees or general Binary TreeHeapsBasic Graph Traversal and Shortest PathHashing
Following data structures may be asked. I would say that their probability of being asked is between 50 to 75% -
TriesAdvance Graphs like flow and min-cut etc.Bit Manipulation
You will probably crack interviews with sufficient knowledge of above.
Following have very low probability of being asked ( < 25%) :
Segment Trees / Binary Indexed TreesAVL TreesB+ Trees
Other hard data structures are absolutely unnecessary.
Following Algorithms / Tricks / Topics may also be important :
Memory ManagementBasic Co-ordinate geometry - Manhattan Distance, Closest Point PairDivide and ConquerGreedyDynamic Programming - Extremely importantProbability and basic Number TheorySorting 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 ConceptsDatabases - SQL, NoSQL, Writing simple Queries, Transactions, ACIDLinux Commands - sed, grep, ps, etc.
Resources :
Coding Interview preparation made easy Buy Cracking the Coding Interview: 150 Programming Questions and Solutions转载地址:http://egqii.baihongyu.com/