Originally posted on the codelounge.dev blog => 7 GitHub Repositories To Help You Crush Your Job Interviews!
"In tech, interviews are harder than the actual jobs". This is a joke, but it can be true in many cases. Thus, in this article, you will see 7 GitHub repositories that will help you ace the interviews.
These repositories include information about:
- How the web works (DNS, HTTP, and many more subjects)
- Data Structures and Algorithms
- How to design large-scale systems (System Design)
- Application Security
The Coding Interview repository is one of the most comprehensive resources for interview preparation. The repository started as a study plan of the repository owner, which he used to become a software engineer.
In this repository, you can find information about Data Structures, Algorithms, Dynamic Programming, Object-Oriented Programming, Design Patterns and more.
I recommend you to check the repository here and explore it on your own. Be aware that it's comprehensive and you do not have to learn everything or everything at once. Nonetheless, the resource is extremely handy to prepare for interviews.
Another useful resource is the Tech Interview Handbook. It covers information about technical interviews but not only. It also covers the job application (resume, cover letter), the interview process (behavioural questions, what questions to ask in the interview), and the post-interview (negotiation).
Thus, you learn more than just Data Structures, Algorithms and other technical subjects. The Tech Interview Handbook is a handy resource, and I encourage you to check it here.
For small side projects, we might get away without planning or too much thinking. However, building large-scale systems is a different game. Learning how to design scalable systems will help you become a software engineer.
Thus, the System Design Primer repository is a collection of materials and resources from the internet. The owner of the repository put together resources and materials from different sources. Besides, the repository is continuously updated, so keep an eye on it!
The repo contains a study guide, how to approach system design questions, and solutions to the questions. I highly recommend it, and I use it as well to learn more about designing scalable applications.
The Interview repository does not have a description or a guide on how you should use it. It only lists links to other resources, and it groups these links by their topic. For instance, there is the Algorithms section that includes:
- Coding Practice
I like this repository in particular, because of the number of resources included. Also, I like that they are categorised by type. Besides that, it deserves an extra point for having similar repositories at the end. That is additional resources to prepare for your interviews. Do check out the repository!
Therefore, security is not something to take lightly. As a result, here we have the repository How To Secure Anything. The nice thing about this repository is that the information applies to securing anything, not only applications. The repository owner claims to "aim to document a process for securing anything, whether it's a medieval castle, an art museum, or a computer network".
The repository is very well laid-out, and it includes a lot of extra materials to supplement your learning. I cannot recommend it enough!
Thus, you can find the answer to such questions in the repo called How Web Works. You can find information about how DNS, HTTP protocol and server work or about DOM Tree, Render Tree, page painting and so on.
It is a handy repository to learn the basics of how the web works. Moreover, the repository includes additional links to explore some subjects in-depth.
Each Data Structure and Algorithm comes with its separate README, and it also includes links to further material. Thus, if you do not understand a concept, you can always follow the additional material for extra information.
Although I want to mention that some information might be scarce, and you might need additional learning material; nonetheless, the repository is excellent to practice Algorithms and Data Structures.
I hope these resources help you ace your next technical interview. The resources from the article are super helpful; especially if you use them together.
The list from the article is not exhaustive, but it should cover anything you might encounter in an interview. As always, I am open to suggestions. Thus, if you know other great resources, feel free to drop them in the comments!
If you want to make money with technical writing, check websites that pay you to write technical articles!
Negotiating your salary is essential — learn how to negotiate your salary as a developer!
Speed up your development with Git Aliases.
Do you struggle to stay up-to-date with all news in tech? See one way to stay up to date as a developer!
GitHub profiles are all the rage at the moment. Learn how to create a GitHub profile page!
Check these 7 resources to help you pass your job interviews!
Are you a beginner programmer? Check these programming project ideas for beginners!
Are you learning to code or do you plan to do it? Check the best places to learn programming for FREE!
Increase your developer productivity with these 9 browser extensions!
If you are a Node.js developer, I advise you to check these 4 creational design patterns in Node.js!
You can also check this KeystoneJS crash course!