Facebook engineering puzzles
Programming puzzles page - a great way to practice new languages. It has a robot to check for correctness. It supports erlang, Haskell, python, ocaml, and many more. It’s on the “careers” page but anyone can participate.