https://exercism.io
Learn virtually any programming language by completing series of puzzles. Tests are all written for you. They just made a huge overhaul of their UX, and it’s really nice looking. I’m using it to try to learn Rust and Elixir at the moment.