Algnote lets developers or CS students easily review data structures and algorithms from theory, implementation to coding problems. If you are a programmer looking for your first programming job and preparing for coding interviews, or a student who is preparing for exams about data structures and algorithms, this app could be a right fit for you.All the algorithms and data structures are implemented in Java. Therefore, if you want to use the Algnote to learn coding, please make sure you are comfortable with Java.
Currently Algnote has the following sections:
- Linked List
- Hash Table
- Dynamic Programming
- Bit Manipulation
Each section contains the theory notes to help users to understand the concepts and several coding problems to improve their familiarity to the algorithms or data structures. Most of the coding problems are selected from Leetcode and implemented by the developer. Some problems have multiple solutions and compare the pos and crons of different algorithms.
Although currently Algnote focuses on algorithms and data structures but we plan to extend the app to have more other content, from basic language tutorials to high level architecture knowledges.
Some words from the developer of this app:
Note that all these notes were done by me with some references to some textbooks or online coding questions I did before. They are not as accurate as a textbook. As this is a very early release, there are definitely some issues in the notes and I am trying my best to find them and correct them. I will keep optimizing the content and functionality to make it better every day. If you find any issue when you are using it, it will be much appreciated if you could send a message to [email protected]
Currently all the content of this app was prepared when I just graduated from university and was preparing for coding interviews. At that time I was pretty confident that I could get a good job as I had done many projects in school and I was very good at building web and mobile applications.
However, things did not go as I expected. During the interviews, the interviewers asked me to write codes to solve problems on the whiteboard. Many times, I got stuck on the problems and could not figure out a single solution. Even when I completed a solution and felt happy, the interviewers often immediately pointed out the problem of my code. Not efficient enough, use too much memory space, or did not consider the boundary situations. I felt disappointed to myself.
Fortunately, I got a pretty good offer from a company and started my career as a web developer. But even now I still feel hard to complete these algorithms questions.
I know preparing for coding interviews is not easy, but it is not that hard. It is just a process that we need to go through to become good developers.
These are all the purposes of this app. I use it every day to review my knowledges on algorithms and data structures. I hope it could not only help myself, but also help more developers who are fighting for their careers.