10 самых популярных сайтов с задачами по программированию

1
4486
views

Перевод статьи «The 10 most popular coding challenge websites for 2020».

Сайты с задачами по программированию

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

Но где найти подборку хороших задач по программированию? Мы составили список самых популярных сайтов с задачами, добавив для каждого пункта описание ресурса и его особенностей.

1. TopCoder

TopCoder это одна из оригинальных онлайн-платформ по спортивному программированию. На этом сайте вы найдете список алгоритмических задач с прошедших соревнований. Вы можете попробовать решить их самостоятельно, используя редактор кода на самой платформе.

Несколько раз в месяц на TopCoder проходят турниры — Single Round Matches, где вы имеете возможность сразиться с другими участниками, решая задачи на скорость. За верные решения начисляются баллы; побеждает участник, набравший больше всего баллов.

Пользователи, возглавляющие турнирную таблицу на TopCoder, являются очень сильными программистами и регулярно принимают участие в состязаниях. Один из них, Петр Митричев, ведет собственный блог «Algorithms weekly by Petr Mitrichev», в котором пишет о соревнованиях по программированию, алгоритмах, математике и т. п.

2. Coderbyte

Coderbyte - больше 200 задач по программированию

На Coderbyte содержится больше 200 задач по программированию. Решать их можно онлайн, пользуясь при этом одним из 10 языков программирования на выбор (см. пример). Задачи распределены по группам, от простых (например, найти самое длинное слово в строке) до сложных.

Также на этом сайте вы найдете коллекцию руководств по алгоритмам, вводные видео и курсы по подготовке к собеседованиям. В отличие от HackerRank и подобных ему сайтов, здесь можно смотреть решения других пользователей, а не только официальные решения от Coderbyte.

3. Project Euler

Project Euler - обширная коллекция задач по программированию

Project Euler предлагает большую коллекцию задач по информатике и математике. Задания обычно связаны с написанием маленькой программы для решения математических задач (например, для нахождения суммы всех чисел в последовательности).

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

4. HackerRank

HackerRank

На HackerRank вы найдете задачи из разных областей знаний (алгоритмы, математика, SQL, функциональное программирование, ИИ и т. д.). Задачи можно решать онлайн (см. пример).

По каждой задаче ведется турнирная таблица и ветка обсуждений. Большинство задач сопровождаются пояснениями самой задачи и подхода к ее решению. Но посмотреть варианты решений других людей нельзя.

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

5. CodeChef

CodeChef - сайт по спортивному программированию

CodeChef это индийский сайт по спортивному программированию. Здесь вы найдете сотни задач, отсортированных по уровню навыков. Код можно писать в онлайн-редакторе.

CodeChef может похвастаться большим сообществом: программисты общаются на форумах, пишут руководства и принимают участие в соревнованиях.

6. Exercism.io

Exercism - больше 3000 задач по программированию

Сайт Exercism предлагает больше 3100 задач на 52 языках программирования. Вы выбираете язык, навыки работы с которым хотите улучшить, а затем решаете соответствующие задачи прямо на своей машине (Exercism имеет собственный интерфейс командной строки, который можно загрузить с GitHub).

Этот сайт имеет одно существенное отличие от остальных в списке: здесь вы после решения каждой очередной задачи работаете с наставником. Он просматривает ваши ответы онлайн и при необходимости помогает улучшить решение. После успешного решения задачи открывается доступ к следующей партии задач.

7. Codewars

Codewars - большая коллекция задач по программированию

Codewars предлагает большую коллекцию задач по программированию, представленных членами сообщества. Решать эти задачи можно онлайн в редакторе на сайте. Для решения вы выбираете один из нескольких предлагаемых языков. По каждой задаче у вас есть доступ как к обсуждению, так и к решениям других пользователей.

8. LeetCode

LeetCode - сайт по спортивному программированию

LeetCode это популярный сайт по спортивному программированию. Здесь вы найдете список из больше чем 190 задач, решать которые можно на 9 разных языках программирования. Эти задачи помогут вам подготовиться к техническим собеседованиям. Работать над ними можно онлайн.

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

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

Кроме того, на LeetCode организовываются соревнования между участниками.

9. SPOJ

Sphere Online Judge

Sphere Online Judge (SPOJ) это еще один сайт с уклоном в соревнования. Здесь вы найдете больше 20 тысяч задач по программированию. Свое решение можно писать в онлайн-редакторе. SPOJ проводит собственные соревнования, а также предоставляет площадку для обсуждения задач. В отличие от многих других аналогичных сайтов, здесь нет никаких официальных решений и учебных материалов.

10. CodinGame

CodinGame

CodinGame несколько отличается от остальных сайтов в нашем списке. Здесь вы не просто решаете отдельные задачи в онлайн-редакторе. Здесь вы, собственно, принимаете участие в написании кода для игр, в которые можно играть на сайте. Список доступных в настоящее время игр можно посмотреть здесь, а пример отдельной игры — здесь. К игре прилагаются описание проблемы, test cases и редактор, где можно писать собственное решение на 20 языках программирования.

Несмотря на отличия этого сайта от более стандартных сайтов по спортивному программированию, он довольно популярен среди программистов, любящих решать задачи и принимать участие в соревнованиях.

1 КОММЕНТАРИЙ

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here