This is a list of good resources that I found worth following. Most of them overlap but that’s not the point. It’s for reference purpose before I start applying for job interviews to certain myself that I have not missed out on anything important as I would be difficult to cover and master each and every topic out there. I would try to summarize the articles once I am done will all the topics and make a list of topics to save times in case I come back to the article.
1, 2, 3, 4, 5, 6, 7
Must Do –
Decent Collection for all DS topics
Udacity Course – Technical Interview
*** Handful of Question for Each Topic
*** Cheat Sheet – https://gist.github.com/TSiege/cbb0507082bb18ff7e4b
*** Ashish Kedia – 1
Stick to Basics. I would classify the following data structures as **must know**
- Linked List – Single and Doubly
- Binary Search Trees or general Binary Tree
- Basic Graph Traversal and Shortest Path
Following data structures may be asked. I would say that their probability of being asked is between 50 to 75% –
- Advance Graphs like flow and min-cut etc.
- Bit Manipulation
Following Algorithms / Tricks / Topics may also be important :
- Memory Management
- Basic Co-ordinate geometry – Manhattan Distance, Closest Point Pair
- Divide and Conquer
- 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 ( )
- Scalability Issues, RPCs, Rate limiter, etc.
- OOP Concepts
- Databases – SQL, NoSQL, Writing simple Queries, Transactions, ACID
- Linux Commands – sed, grep, ps, etc.
Hash Tables , Binary Search Trees , Linked Lists are the data structures you will need frequently in the interviews.
Good Collection of problem. All of these can be dealt when we are done with our own collection. Almost all question will be same. But those different one will be new and the better one –