Обычно в такие ресурсы интегрирован блокнот для записи кода и набор автотестов, которые проверят ваше решение. Прошедшие задание могут посмотреть и на чужие варианты ответов.

Чтобы качать скиллы было веселее, часто такие ресурсы оформляют в игровом формате: решил задачку – заработал баллы – поднялся в общем рейтинге. В общем, и полезно, и интересно. А некоторые и вовсе превращают весь процесс изучения в компьютерную игру. В общем, смотрите сами.

1 Codewars

На первом месте, конечно же, знаменитый Codewars – отличный сервис для закрепления навыков разработки на PHP, Ruby, JavaScript, Java, Python, Clojure, CoffeeScript, C# , Haskell. Представлены как алгоритмические задачи, так и практические задачи, связанные с шаблонами проектирования. После каждой решённой задачи вы можете посмотреть на другие решения, рассортированные по рейтингу в зависимости от их красоты и практичности.

2 Leetcode

 

Сайт с алгоритмическими задачками для подготовки к техническим собеседованиям в такие крупные фирмы, как Google и Facebook. Возле каждой задачи есть обсуждение, в котором так или иначе может фигурировать решение к этой задаче. Можно использовать различные языки программирования: C, C++, Java, Python, C# , JavaScript, Ruby, Bash. Локализация для Китая и США.

3 Codechef

Платформа для программистских соревнований, поддерживаемая индийским разработчиком ПО «Directi». Перед соревнованиями можно хорошенько потренироваться, выбрав один из шести уровней сложности. Платформа предлагает выбор из почти 30 языков программирования, которыми можно пользоваться при решении задачек. В месяц проводится около 2-3 соревнований с ограничением по времени. Некоторые из них — командные, и перед регистрацией нужно присоединиться к одной из команд или создать свою, что не так уж и сложно, ведь в CodeChef 125 тысяч участников.

4 Школа программиста

Сайт создан для повышения у школьников Красноярского края уровня знаний в программировании и способностей, направленных на решение олимпиадных задач. Содержит архив задач по олимпиадному программированию со встроенной проверяющей системой. Для участия в системе достаточно зарегистрироваться и перейти в раздел «Архив задач», где на текущий момент вам будет предложено решить 700 задач различной сложности.

5 Codingame

Проходим пошаговый квест, решая задачки и управляя юнитами. Поддерживает более 20 языков программирования, включая PHP, JavaScript, C#, Ruby, Python, C++, C.

6 Codecombat

Одна из самых популярных браузерных стратегий для программистов. Увлекательная и захватывающая, с возможностью выбора предпочтительного языка — JavaScript и Python. По мнению разработчиков — самый просто и увлекательный способ обучить ребёнка программированию. Есть русская локализация.

Справедливости ради, добавлю, что существует и альтернативная точка зрения. А именно — что игровой процесс отвлекает от программирования. Так что изучать язык лучше полностью сосредоточившись на самом языке, используя для этого классические способы — учебники, вебинары и решение практических задачек. Какой подход предпочесть — решать вам.