It may sound like a joke that interviewing in the tech industry is harder than the actual job, but in most cases it probably is, so in this article we’re going to share seven Github knowledge bases that contain the following information:
-
How the Web works (DNS, HTTP, and other topics)
-
Data structures and algorithms
-
How to Design large Systems (System Design)
-
APP to protect
-
JavaScript algorithm
1. Coding Interview University
One of the most comprehensive interview preparation resources, the repository begins as a learning program for the creator, who is a software engineer, where you can find information on data structures, algorithms, dynamic programming, object-oriented programming, design patterns, and more.
It is recommended that you check out the repository and read it for yourself, while it is comprehensive and you don’t need to learn everything, or everything at once. But even so, this book is very handy for programmers preparing for interviews.
2. Tech Interview Handbook
Another useful resource is the Tech Interview Handbook, which covers a lot of details about technical interviews, but not just interviews. It also covers job applications (resumes, cover letters), the Interview process (behavioral issues, what questions to ask during the Interview), and post-interview considerations (salary negotiation). So you can learn more than just data structures, algorithms and other technical subjects in this project, it’s a handy resource and I strongly recommend you try it out.
3. The System Design Primer
For small projects, you may not have much planning or much thought. However, building large systems is another matter. Learning how to design scalable systems will help you become a software engineer. The repository is a collection of materials and resources collected from the Internet. The creators put together resources and materials from different sources, and the repository is constantly updated, so pay close attention to the FACT that the Repo includes a learning guide on how to handle system design problems and solve them. I highly recommend it to learn more about designing extensible applications.
4. Interview Resources
Interview Resources has no description or guidance on how to use it, it just lists links to other Resources and groups them according to their topic, for example, the Algorithms section includes books, programming practices, guides, and so on. I particularly like this repository because it contains a large number of resources and I like that they are categorized by type, but it also has the advantage of having similar repositories at the end. These are additional resources for preparing for an interview.
5. How to Secure Anything
Security has been, is and will be an important topic in building applications, and the consequences can be catastrophic if an application is not secure. Therefore, security cannot be taken lightly, and the advantage of this repository is that this information can be used to secure anything — not just applications. The creators say the repository is designed to document the process of securing anything.
6. How Web Works
In my first job interview as a developer, I was asked: what happens when you type a URL into a browser?” This question stumped me at the time, and you may have the same problem in the future. You can find answers to these questions in a Repo called “How Web Works.” You can also find information about DNS, HTTP protocols, and How servers work, or about DOM trees, rendering trees, page drawing, etc. This project is a repository for learning the basics of How the Web Works. The repository also contains many links to delve into certain topics.
7. JavaScript Algorithms
This repository is more suitable for JavaScript developers, however, if you understand these concepts and know how to implement them in JavaScript, you probably know how to implement them in other languages as well. Each data structures and algorithms have their separate introduction, Repo includes further introduction material link, therefore, if you don’t understand a concept, you can according to the attached data for further study, however, having said that, I want to say, some information may be inadequate, and you also need to supplement on your own, but all in all, This repository is perfect for learning about algorithms and data structures.