28 cайтов, на которых можно порешать задачи по программированию

Аватар Александр Курилкин

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

Обложка поста 28 cайтов, на которых можно порешать задачи по программированию

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

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

Codeforces — несомненно самая популярная и известная платформа во всем мире для проведения соревнований на алгоритмику. Кроме крупных контестов сайт зачастую проводит свои «раунды» — участникам даются 5 задач на два часа. Есть система рейтинга, на основе которой участники делятся на два дивизиона. Таким образом, профи не соревнуются с новичками напрямую. Все задачи можно сдать и проверить даже после соревнований. Кроме «раундов» доступны и «тренировки» — задачи с прошедших соревнований публикуются в режиме дорешивания.

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

28 cайтов, на которых можно порешать задачи по программированию 1

Timus Online Judge — русскоязычная (хотя английский язык также поддерживается) платформа, на которой более тысячи задач удачно отсортированы по темам и по сложности. Также тут регулярно проводятся контесты уральского региона, которые, впрочем, не представляют для вас ничего интересного, если только вы не студент УрФУ или другого близлежащего вуза ?

***

SPOJ — крупный англоязычный сайт с более чем 20000 задачами на абсолютно разные темы: динамическое программирование, графы, структуры данных и т.д. Изредка проводит контесты, которые не представляют интереса, если вы не живете в странах их проведения.

***

informatics.mccme.ru — платформа с множеством теоретических материалов и задач по соответствующим темам. Все очень удобно собрано по категориям и темам. Также содержит большую базу задач с прошедших олимпиад школьников.

***

CodeChef — менее крупный аналог Codeforces и TopCoder, тоже с огромным архивом задач и регулярными контестами.

***

acmp.ru — сайт, который будет полезен всем благодаря своему архиву задач, удобно (и по большей части правильно) отсортированному по сложности и темам. Соревнования проводятся, но участвовать в них имеет смысл только школьникам Красноярского края, для которых эта платформа изначально и предназначалась.

***

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

***

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

***

CodinGame — сайт, на котором программирование и видеоигры сливаются в единое целое. Здесь вы найдете большую коллекцию задач на программирование, оформленных в виде видеоигр. Также тут изредка (раз в два месяца) проводятся контесты, содержащие в себе задачи на оптимизацию и ИИ, победители которых получают ценные призы. А если вы решите много задач, то на вас могут обратить внимание компании, которые набирают на этом сайте работников!

***

CodeCombat будет больше полезен для новичков. Эта платформа наглядно демонстрирует, что обучение программированию — это не так сложно и скучно, как может показаться. Сайт представлен в виде игры, которая разделена на несколько частей, возрастающих по сложности. В каждой части содержится множество задач на те или иные темы, призванные научить программированию с нуля любого человека. Если вы давно мечтали заняться программированием, но никак не находили в себе, обязательно обратите внимание на этот сайт.

***

HackerRank наоборот будет больше интересен профессионалам, которые уже многое умеют. На этом сайте собрано множество задач на самые разные разделы Computer Science: традиционная алгоритмика, ИИ, машинное обучение и т.д. Если вы решите много задач, то вами могут заинтересоваться работодатели, регуляторно мониторящие эту платформу.

***

C Puzzles — подборка головоломок, специфичный для языка С, со всеми его причудами. Например, дан код, который, по логике, не должен работать, но, тем не менее, он компилируется и даже правильно выполняет свою задачу. Надо понять, почему так? На этой сайте вы сможете приобрести навык отладки программ и чтения кода других.

***

Codewars — cборник задач на разные темы, от алгоритмов до шаблонов проектирования.

***

LeetCode — сайт с задачами для подготовки к собеседованиям.

***

Programming Praxis — блог, включающий в себя много интересных задач.

***

PythonChallange — сайт с загадками, возрастающими по сложности. Для их решения необходимо написать программу на Python.

***

Al Zimmermann’s Programming Contests — платформа, на которой раз в полгода проводятся контесты с задачами на исследование и оптимизацию. Интересен тем, что писать программу необязательно — даются только тестовые данные. Ответы можно расчитывать вручную, или просто гадать их на кофейной гуще.

***

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

***

Prolog Problems — аналогично с Ruby Quiz. Подборка задач для программистов, использующих Prolog.

***

MindCipher — сборник занимательных математических и логических задач (в том числе и по программированию).

***

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

***

CheckIO — сайт с задачами для программистов всех уровней, оформленный в виде игры.

***

E-olimp — украинская тестирующая система с большим архивом задач.

***

Empire of Code — сайт для программистов, где необходимо писать код, реализующий стратегию и тактику виртуальных бойцов.

***

Operation Go — практика написания кода на Go в игровой форме.

***

Russian AI Cup — ежегодный контест от mail.ru по разработке ИИ. Участвовать могут все — от школьников до профессионалов. Победителям и призерам так же полагаются крутые призы. Обязательно примите участие, если вы заинтересованы этой темой.

***

Задачи Типичного Программиста — да, на нашем сайте тоже есть задачи с собеседований, причем на самые разные темы: от логических и математических до алгоритмических. В эту подборку включены лучшие из них (она регулярно обновляется).

Для начинающих
Практика
Игры для программистов
Собеседование
Для продолжающих
382371