Data structures and algorithms practice resources

Here are the sites I have experience with and my thoughts

  • LeetCode is excellent because there are many problems and explanations. Furthermore the problems without explanations have answers and commented solutions in the discussion boards. It is the best online judge in my (limited) experience.
  • Code Wars is fun and great for learning a specific language and its features, i.e. JavaScript. But I did not find it as valuable for algorithms.
  • Cracking the Coding Interview has many questions and detailed answers in Java.
  • Data Structures and Algorithms Made Easy in Java is excellent. Sure there are many, many, many typos. But it has so many code samples for each of the data structures, explanations from worse (brute force) to best (optimized) along with advantages and disadvantages of the many possible solutions.

An honorable mention goes to Free Code Camp. The first time I ever had fun solving code challenges was at Free Code Camp. They did an amazing job of starting off with relatively easy challenges, then they raised the bar. Before I knew it I was doing difficult challenges, yet the hours flew by.

String Interview Problems

String Interview Problems

This site has demonstrations of a few common String Interview Questions solved with JavaScript.

Check out Free Code Camp’s Bonfires for lots of JavaScript practice problems.

Code Wars is great because I can solve problems and then see how others solved the same problem. Code Wars has been engaging and fun and I have also learned many different approaches and methods to solving coding challenges. Also it is gamified so I have many different opportunities to increase my points and my ranking 🙂

W3 Schools Bootstrap

W3 Schools Bootstrap

This used Bootstrap and was based on this course. This site demonstrates Bootstrap features such Contextual Classes, Responsive Embed, and Badges.

Update: I decided that rather than simply reading the W3 Schools Bootstrap Tutorial, I could learn, practice, and master the material even better by building it while explaining it. Basically I am attempting to gain mastery by doing and teaching/sharing.

On another note, I started playing around with Free Code Camp. The lessons are well-organized, interactive, and succinct. Their explanation of what to do when you are stuck is a must read.

Furthermore, their Bonfires (JavaScript coding challenges) are actually enjoyable. They did a great job of making the challenges flow because they start off relatively easy and progressively increase in difficulty. Most other sites have coding challenges that require you to go from sitting to sprinting, while Free Code Camp’s challenges take you from sitting to crawling to walking and to eventually running. Check out Free Code Camp if you want to dive into JavaScript.