I had the luxury of a couple of weeks leave from work recently and an itch I needed to scratch around some learning new programming languages. I don't know actually remember how I ended up at exercism.io, but I'm certainly glad I did. I would definitely recommend it for someone wanting an online framework for learning the specifics of a new language, and some personal guidance towards language-specific idiom.
My exercism.io experience started with the Clojure track (you choose a language "track" which gives you a progression of exercises starting from "Hello, World" in the language of your choice), but quickly branched into parallel Kotlin and Golang tracks as I'd not spent time in any of these languages before.
Irrespective of which language track you choose (based on my sample of 2), you progress through the series of exercises, downloading a failing test suite to drive your solution. Upon completion of the exercise (or even earlier if you admit defeat), you submit/upload your solution to exercism.io and await mentor feedback. I think the mentors are volunteers, but - from the benefit of working in the southern hemisphere - I would normally awake to find email feedback on my previous day's submitted solutions.
There is a small workflow process initiated here where you can iterate your solution towards something considered "Complete" by the mentor, thereby unlocking your next challenge. Upon completing a challenge, you also get to see previous solutions to the same problem and - usually - be astounded at the range of different ways people solve problems.
There are also side exercises which you can select for extra homework, usually without the benefit of mentor feedback.
The mentors I have on the Golang and Kotlin tracks have been great in opening my eyes to bits of the standard libraries and syntax that I wasn't aware of, or even just local stylistic patterns. This is where the real value add in exercism.io comes from as it's easy to get the tests to pass without really using the benefits of the language to it's fullest. Mentor feedback (and looking at previous solutions) go a long way to bridge the gap between a newbie solution and one that looks like it's been written by someone who's been working in the language for a reasonable time.
Not very much really...
You need to be aware that the (small) nature of the exercises will help you master the syntax of the language, but not give you a sense for how well the language scales to non-trivial problems. I developed a strong sense that I wouldn't use Golang for bigger problems, but none of the exercises really helped me prove this suspicion.
Because you start with a full failing test suite, you also don't get a sense for how a TDD workflow would feel in a particular language
Should you take the parallel track approach as I did, you might find yourself doing the same exercises in multiple languages in quick succession. Not a bad thing in isolation, but it's hard not to have the first implementation colour the second.