Программисты – люди неугомонные. Для ощущения полноты жизни им нужен вызов, рабочих и учебных проектов им мало. Один из таких ребят на отраслевом ресурсе programmers.stackexchange.com попросил коллег набросать ему сайтов с головоломками и вскоре получил развернутый ответ.

В подборке 26 ресурсов, на которых можно ломать голову, соревноваться с коллегами и даже готовиться к собеседованию.

Сайты с головоломками

  • Algorithm Geeks — сообщество программистов Google.
  • CodeKata – сайт с задачками по программированию. Довольно остроумный.
  • LessThanDot – специализированная тема на форуме, где программисты выкладывают задачки со звездочкой.
  • The Daily WTF — это как Bring Your Own Device (BYOD – на работу со своим устройством), только Bring Your Own Code. Здесь девелоперы размещают свои исходники, которые позволяют решать нетривиальные задачи.
  • Peking University JudgeOnline for ACIP/ICPC – на сайте собраны задачи для программистов с различных конкурсов и соревнований. Их можно решать в реальном времени под присмотром комиссии ресурса, которая оценит ваше решение по каждому проекту.
  • University of Valladolid Online Judge – еще один такой ресурс, если коллекции на Peking University JudgeOnline вам недостаточно.
  • Codingame позволяет решать головоломки в интерактивном режиме, предоставляя набор тестов в каждой задаче.
  • Programming Praxis – в блоге еженедельно публикуют актуальные задачи для программистов, которые отвечают изменениям в отрасли.
  • Project Euler – коллекция “задачек со звездочкой” по математике и программированию, которая порадует даже самых изощренных ценителей.

Сайты с играми

  • CodeChef – на сайте можно в реальном времени решать головоломки и участвовать в соревнования программистов, которые сообщество проводит каждый месяц.
  • Hacker.org — это серия головоломок и тестов, предназначенная для проверки глубины ваших знаний. Чтобы пройти эту серию, нужно взломать шифрование, написать сложный код и много анализировать.
  • Pex for fun — игра от Microsoft, в которой вы соревнуетесь с другими программистами. Ваше оружие – код.
  • Rankk — нужно решать задачи от простых к сложным, проходя уровни. Реинкарнация старой игры для программистов The Pyramid с задачками на логику, математику и умение писать код.
  • TopCoder – на этом сайте можно не только побаловаться задачками, но и заработать реальные деньги. Программисты и дизайнеры со всего мира соревнуются на площадке в решении реальных проектов от реальных компаний, а лучшие из них получают за это денежные призы.
  • Google Code Jam — алгоритмические головоломки, которые решали участники соревнований Google. Попробуйте свои силы.
  • Python Challenge — игрок проходит уровни, программируя на Python.

Обучающие сервисы

  • 4Clojure — здесь можно выучить язык Clojure, решая задачки от простейших к сложным.
  • Prolog Problems — ресурс даст возможность попрактиковаться в логическом программировании.
  • Ruby Quiz — еженедельные задачи по программированию на Ruby.
  • Codingbat — много задач по программированию от простых до действительно сложных на Java и Python.
  • Cyber-dojo – здесь можно попрактиковаться в программировании под присмотром администраторов сайта, которые проверят ваш код.
  • Sphere Online Judge – большой пул задач разных уровней – от типичных до заковыристых.
  • Code Wars — обучение с задачками по программированию на восьми языках.
  • Rosalind — изучение алгоритмов и биоинформатики через решение реальных задач.

Практика перед собеседованием

  • LeetCode – ресурс создан специально для того, чтобы помочь программистам подготовиться к собеседованию. Здесь собраны типичные задачки и вопросы по ряду дисциплин.
  • Career Cup – самые актуальные задачи и вопросы, которые задают соискателям на позицию разработчика.

Напомним, один программист писал скрипты, которые делали за него работу, варили латте и общались с женой. Это даже лучше, чем решать головоломки.