I've become a bit addicted to Web Development Challenge sites. It's a great way to practice the things you already know, learn new ways of solving problems and to prepare for interviews.
Some sites charge to use them but in this post I'll take you through some of the best free sites out there.
As you complete challenges, you'll receive badges which are there for all to see on your profile. You can also gain certifications in different subjects and languages by taking a test. The tests last 1 hour 30 minutes and if you fail, your scores won't be displayed - you can simply re-take the test after a certain number of days.
To access all of Edabit's challenges, you need to sign up and pay for their 'pro' package. However, they release 10 free challenges every Monday. Like HackerRank, you can work in various different languages and the challenges are labelled with their level of difficulty.
In general, I'd say that Edabit's challenges are a fair bit easier than those on HackerRank so if you're just starting out, you're better off using Edabit first.
One of Edabit's most distinctive features is the triumphant noise it makes when you successfully complete a chalenge. This can be either encouraging or annoying depending what mood you're in.
Rather than giving you algorithm challenges to work on, Frontend Mentor gives you small projects to work through. This means that you get the opportunity to practice your CSS skills too. Some of the challenges also involve using APIs which is a great way of gaining more experience in that area.
Once you've completed the project you can upload it to the site, get feedback from others and see what everyone else has done.
Some of the challenges are free and some you have to pay for but there's a nice selection of free ones.
Like HackerRank, LeetCode allows you to tackle each of the challenges in a language of your choosing and all challenges are given a difficulty level. There are some features of LeetCode that you'll need to pay to access such as the majority of the mock interview questions but there are a few that you can access for free.
In addition to the ordinary challenges, LeetCode also has daily problems that you can tackle. If you manage to submit your solution by the end of the day (Pacific Time) then you can win LeetCoins which can be spent in the store on merch and temporary premium memberships. There's also extra prizes to be won if you submit a solution to every problem in a month.
Codewars allows you to practice with a huge range of languages. When you sign up, you have to pass an assessment but don't worry, it's very straightforward. When I did it, it asked me to complete a function to multiply two variables.
Codewars is almost set up like a game in which you're a warrior and as you complete more challenges, you move up the ranks. Personally, I feel like this just adds some unnecessary features which make it harder to navigate but it might make it more enjoyable for others.
I find it a little more difficult to de-bug my code than on other sites like HackerRank; it doesn't give you a lot of information if you fail a test and there's no console feature. Ultimately though, it has some good challenges and that's what I'm after.
If there are any other sites or apps you like to use, why not add them in the comments section?