27 сайтов с задачками для оттачивания навыков программирования
Решение задач — хороший способ развить навыки разработки.
Также вы можете ускорить освоение нового для вас языка программирования, решая головоломки на этом языке.
В этой статье 27 самых популярных сайтов с задачками по программированию.
1. Codewars
Codewars — отличный сервис для закрепления навыков разработки на Ruby, JavaScript, Java, Python, Clojure, CoffeeScript, C# , Haskell. Представлены как алгоритмические задачи, так и практические задачи, связанные с шаблонами проектирования. После каждой решенной задачи вы можете посмотреть на другие решения, рассортированные по рейтингу в зависимости от их красоты и практичности.
Онлайн-курc по математике для Data Science
На курсе вы познакомитесь с основными моделями машинного обучения, научитесь выбирать и применять подходящие tree-based модели.
Программа занятий:
- Школьная математика: от теории множеств до производной и интеграла.
- Математический анализ: от числовых последовательностей до теории меры и интеграла Ламбера.
- Линейная алгебра: от матриц до билинейных форм.
- Комбинаторика: правила комбинаторики, множества и сочетания.
- Теория вероятностей и математическая статистика: от случайных событий до регрессии.
- Машинное обучение: Word2vec, градиентный спуск, KNN и т. д.
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
Rosalind – платформа для изучения биоинформатики и программирования через решение задач. Есть отдельный раздел для абсолютных новичков в программировании. Сайт предлагает задачи, дающее некоторое представление в молекулярной биологии и вычислительной сложности, решение задач производится с использованием языка программирования Python. Проверка задач выполняется автоматически.