LeetCode I do this when I'm bored. Also to learn new languages and stay up to snuff of competetive programming. Currently writing my personal solution in Go, then the optimal solution if there is a better one in Python.