В этой статье мы рассмотрим 27 самых популярных сайтов с задачками по программированию. 1. Codewars Codewars — отличный сервис для закрепления навыков программирования на Ruby, JavaScript, Java, Python, Clojure, CoffeeScript, C# , Haskell. Представлены как алгоритмические задачи, так и практические задачи, связанные с шаблонами проектирования. После каждой решенной задачи вы можете посмотреть на другие решения, рассортированные по рейтингу в зависимости от их красоты и использования лучших практик в программировании. 2. Leetcode Leetcode — сайт с алгоритмическими задачками для подготовки к техническим собеседованиям в такие крупные фирмы, как Google и Facebook. Возле каждой задачи есть обсуждение, в котором так или иначе может фигурировать решение к этой задаче. Можно использовать различные языки программирования: C, C++, Java, Python, C# , JavaScript, Ruby, Bash. 3. Programming Praxis Programming Praxis — блог, включающий целый ряд интересных задач, решения которых можно проверить на нескольких языках программирования. 4. TopCoder TopCoder — активное сообщество программистов, которые любят решать головоломки. Много активных соревнований, некоторые из них включают денежные призы. 5. Python Challenge Python Challenge — сайт, где загадки требуют написания небольших програм на Python. При этом сложность увеличивается в геометрической прогрессии с каждой новой загадкой. 6. C Puzzles C Puzzles предоставляет вам головоломки по программированию, характерные для языка Си (со всеми его причудами). Поскольку многие языки являются Си-подобными или напрямую выведенными из него, даже если вы не знаете язык Си как свой родной, велика вероятность, что вы поймете эти головоломки. 7. Al Zimmermann’s Programming Contests В описании сайта сказано, что это «арена, где сумасшедшие программисты сражаются ради славы и клёвых призов». Участие в соревнованиях, проводимых каждые пол года — замечательный способ проявить себя в сообществе программистов. 8. Project Euler Цитата с главной страницы: «Project Euler — ряд бросающих вызов математических/программистских задач, которые предполагают наличие математической интуиции для их решения». Ресурс включает в себя как относительно простенькие, так и по-настоящему сложные задачки. 9. Ruby Quiz Ruby Quiz — собрание соревнований по программированию среди рубистов, обновляемое каждую неделю. Подточенные под Ruby, эти соревнования могут быть решены и на других языках программирования. 10. Prolog Problems Prolog Problems подточен под язык программирования Prolog. Но в сообществе есть решения и на других языках программирования, таких как Python, Ruby, Haskell, Scala. Решение задач на этом ресурсе — отличный способ познакомиться с новым языком программирования. 11. Codeforces Полноценный русскоязычный аналог уже упомянутого Topcoder. 12. Сборник задач от CppStudio Задачки в основном на проверку знаний С++, однако реализуемы и на других языках программирования. 13. Codingame Оттачиваем навыки программирования, решая задачки и проходя занимательный квест. 14. Timus Online Judge Timus Online Judge — это крупнейший в России архив задач по программированию с автоматической проверяющей системой. Основной источник задач для архива — соревнования Уральского федерального университета, Чемпионаты Урала, Уральские четвертьфиналы ACM ICPC, Петрозаводские сборы по программированию. 15. Codecombat Одна из самых популярных браузерных стратегий для программистов. Увлекательная и захватывающая, с возможностью выбора предпочтительного языка — JavaScript и Python. 16. CheckIO Изучение и практика языка программирования Python. Возможность создавать свои уровни путем программирования условий. 17. Школа программиста Данный проект создан для повышения у школьников Красноярского края уровня знаний в программировании и способностей, направленных на решение олимпиадных задач. Сайт содержит архив задач по олимпиадному программированию со встроенной проверяющей системой. Для участия в системе достаточно зарегистрироваться и перейти в раздел “Архив задач”, где на текущий момент Вам будет предложено решить 700 задач различной сложности. 18. E-olymp Интернет-портал организационно-методического обеспечения дистанционных олимпиад по программированию для одаренной молодежи учебных заведений Украины. 19. Empire of Code Космическая стратегия, в которой программирование является необязательным, но дающим большое преимущество навыком. После вводного курса предлагают выбрать одну из сторон — Python или JavaScript. 20. Codechef CodeChef — платформа для программистских соревнований, поддерживаемая индийским разработчиком ПО “Directi”. Что такого выдающегося в этой платформе? Во-первых, перед соревнованиями можно хорошенько потренироваться, выбрав один из шести уровней сложности. Во-вторых, платформа предлагает выбор из почти 30 языков программирования, которыми можно пользоваться при решении задачек. В месяц проводится около 2-3 соревнований с ограничением по времени. Некоторые из них — командные, и перед регистрацией нужно присоединиться к одной из команд или создать свою, что не так уж и сложно, ведь в CodeChef 125 тысяч участников. 21. HackerRank Здесь вы можете поучаствовать в соревнованиях. В свой профиль можете поместить резюме, и вся информация будет доступна таким работодателям, как Facebook, Quora, Yahoo и многим другим. 22. Sphere Online Judge (SPOJ) Динамичная площадка для соревнований, количество участников в которой превысило 350 тысяч человек. Ресурс публикует новости об открытых соревнованиях программистов, краудсоринговых программах. Количество задач приближается к шести тысячам, возле каждой их которых есть соответствующее обсуждение. 23. GoCode Практика на языке программирования Go в игровой форме. 24. Exercism Сайт позволяет скачать практические задачи и решить их на более чем 30 языках программирования, при этом есть задачи как для начинающих, так и для опытных программистов. Обратная связь, получаемая после отправки решений, позволит соориентировать вас в изучении тех или иных тем, что позволит значительно облегчить написание кода. 25. Programmr Площадка для программистских соревнований и хакатонов: позволяет писать код приложений прямо в браузере, конкурировать с другими программистами и выигрывать офферы и денежные призы! 26. InterviewBit Сайт позволяет подготовиться к собеседованию в лучшие IT-компании Кремниевой долины, такие как Google, Facebook и Amazon. На нем вы можете практиковаться в решении задач с собеседований в этих компаниях, получать помощь от менторов, а также получать рекомендации от сотрудников этих компаний. 27. Rosalind Rosalink – платформа для изучения биоинформатики и программирования через решение задач. Есть отдельный раздел для абсолютных новичков в программировании. Сайт предлагает задачи, дающее некоторое представление в молекулярной биологии и вычислительной сложности, решение задач производится с использованием языка программирования Python. Проверка задач выполняется автоматически.