Skip to content

sastava007/Tech-Interview-Preparation

Repository files navigation

What's Inside?

The repository contains solutions to various coding interview problems extracted from websites like Hackerrank, Hackerearth, Codechef, Geeks For Geeks, Hackerblocks and Codeforces. I've tried to provide the detailed solution and the intution behind it through comments. These questions are classical problems that are most frequently asked by the tech giants in technical interviews and are not related to hard core competitive coding. All the code provided inside the repository is purely original and completely my own.

These interview questions are real, they are not pulled out of computer science textbooks. They reflect what's truly being asked at the top companies, so that you can be as prepared as possible.

Topics Covered

  1. Fundamentals of STL
  2. Array
  3. Stack/Queue
  4. Linked List
  5. Binary Tree & BST
  6. Bit Manipulation
  7. Binary Search
  8. Graph [DFS, BFS, Topological Sorting]
  9. Divide & Conquer
  10. Mathematics
  11. Number Theory
  12. Recursion & Backtracking
  13. Segment Trees

Till now I have covered all the above mentioned topics & looking forward to get more done by the mid of the year.

How to contribute?

  1. Fork the repository
  2. Do the desired changes (add/delete/modify)
  3. Make a pull request

When to contribute?

  1. If there is no solution to a problem in the main branch.
  2. If your solution is asymptotically faster than the one in the main branch.
  3. If your algorithm is of the same time complexity but with reduced code size. In this case, comment out the original solution and make a pull request with your solution.
  4. If you have another method of solving the problem which is asymptotically slower than the original method then, comment your solution in the main file and make a pull request.

Who am I & why I'm doing this?

So before you start judging me, let me give a brief introduction about myself. I'm a computer science sophomore at the Indian Institute of Information Technology(IIIT), Gwalior who's primarily interested into software development & open source contributions. But to crack the technical interviews of these product based companies you need something more than building web applications i.e good knowledge of DSA and computer science fundamentals.

Though I admit that this repo is not yet complete and need major refactoring which I'll be doing one day in the foreseeable future once I'm done with these coding problems. Till then feel free to contribute and let the community grow. Constructive criticisms or code reviews of any kind are very much welcome.

If you have any doubts about the solutions, you can feel free to contact me sastava007@gmail.com