Unfortunately, you can spend thousands of hours becoming a great developer and still not be ready for the algorithm interview. These interviews require many hours of study, practice and preparation. In this blog, I'll list the three platforms and tools I used to pass my Amazon algorithm interviews.
Interview Cake
Interview cake is a web app that you can use to learn, study and practice your data structures and algorithms. The website is split into 14 sections starting from Big O notation all the way to bit manipulation. Each section has readings which include theory, important notes and examples. Each section also has 3 - 5 algorithm problems for you to apply and test your knowledge. The website even has a built-in IDE with assertions already defined for all the problems. The problems also have plenty of hints available for if and when you get stuck. This means this platform is one-stop shop for learning and practicing data structures and algorithms.
PRAMP
PRAMP is an online platform in which you are paired up with another developer and you both take turns interviewing each other. This is great to practice data structures and algorithms, but they have behavioural and system design as well. When you are paired up, each participant is given a problem as well as hints and solutions to be used while interviewing your peer. Once you've both completed the interview, there is a feedback form at the end. This platform helped me become comfortable with solving algorithm problems in an interview setting, but I also made some amazing connections all over the world!
Leetcode
Leetcode has a huge database of algorithm questions. Any question you get asked at an interview will be available here. The issue is picking the good questions out of the many bad ones. Overall, there's no larger database of algorithm questions and many of them are available on the free tier. So once you've finished studying, this is a great place to bang out a few problems a day. One suggestion is to not feel intimidated by the one-liners you find posted and upvoted as the solution, they are difficult to read and should not be used in real production applications! They may be clever but I'd rather have clean readable code and so would your interviewer!