Codewars is an excellent service for strengthening programming skills in Ruby, JavaScript, Java, Python, Clojure, CoffeeScript, C#, Haskell. Both algorithmic problems and practical problems associated with design patterns are presented. After each solved problem, you can look at other solutions, sorted by rating depending on their beauty and use of best programming practices.
Leetcode is a site with algorithmic problems for preparing for technical interviews at large firms such as Google and Facebook. Next to each problem there is a discussion in which a solution to this problem may appear in one way or another. You can use various programming languages: C, C++, Java, Python, C#, JavaScript, Ruby, Bash.
C Puzzles provides you with programming puzzles specific to the C language (with all its quirks). Since many languages are C-like or directly derived from it, even if you don't know C as your first language, there's a good chance you'll understand these puzzles.
Quote from the main page: "Project Euler is a series of challenging math/programming problems that require the mathematical intuition to solve them." The resource includes both relatively simple and truly complex tasks.
Timus Online Judge is the largest archive of programming problems in Russia with an automatic checking system. The main source of tasks for the archive is competitions of the Ural Federal University, Ural Championships, Ural quarterfinals of ACM ICPC, Petrozavodsk programming camps.
GO TO FULL VERSION