For your interview, you don’t have to know all the algorithms off by heart. However, it will be much simpler to answer some of the questions if you have a solid understanding of the most popular algorithms. Consider revising common algorithms such as divide and conquer, breadth-first search vs. depth-first search, and traversals, and make sure you understand the trade-offs for each. Knowing the runtimes, theoretical limitations and basic implementation strategies of different classes of algorithms is more important than memorizing the specific details of any given algorithm.
Running Times (Oh, Omega, Theta notation) |
Link |
Bit Algorithm |
Link |
Sorting Algorithm |
Link |
Searching Algorithm |
Link |
Recursion Algorithm |
Link |
Backtracking Algorithm |
Link |
Divide and Conquer Algorithm |
Link |
Mathematical Algorithm |
Link |
Kruskal Minimum Spanning Tree (MST) |
Link |
Prim’s Minimum Spanning Tree |
Link |
Dijkstra’s Shortest Path |
Link |
Huffman Coding |
Link |
Job Sequencing Problem |
Link |
Minimum Number of Platforms Required for a Railway/Bus Station |
Link |
Longest Increasing Subsequence |
Link |
Longest Common Subsequence |
Link |
Min Cost Path |
Link |
Coin Change |
Link |
Matrix Chain Multiplication |
Link |
0-1 Knapsack Problem |
Link |
Longest Palindromic Subsequence |
Link |
Palindrome Partitioning |
Link |
KMP Algorithm |
Link |
Robin Karp Algorithm |
Link |
Aho-Corasick Algorithm |
Link |
Z Algorithm |
Link |
Bellman-Ford Algorithm |
Link |
Breadth First Search |
Link |
Depth First Search |
Link |
Floyd Warshall Algorithm |
Link |
Johnson’s Algorithm |
Link |
Karp’s minimum mean (or average) weight cycle algorithm |
Link |
Dial’s Algorithm |
Link |
Boruvka’s Algorithm |
Link |
Kahn’s Algorithm for Topological Sorting |
Link |
Karger’s Algorithm |
Link |
Tarjan’s Algorithm |
Link |
Kosaraju’s algorithm |
Link |
Top Software Development Topics to prepare for Interview
Software development refers to a set of computer science activities dedicated to the process of creating, designing, deploying, and supporting software.
Table of Content
- Programming language
- Data structures
- Algorithms
- System Design
- Coding
- Object-oriented design
- Databases
- Distributed computing
- Operating systems
- Internet topics
- General machine learning and artificial intelligence
- Conclusion