Спортивное программирование и 5 ресурсов для решения задач

Виталий Подоба – программист Python, поделился своим опытом решения задач, и в этом поможет спортивное программирование c соответствующими онлайн-ресурсами.

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

спортивное программирование

Раньше на собеседованиях в IT-компаниях вроде Microsoft, IBM, Google кандидатам было принято давать тест-пазлы. Считалось, что если ты способен решать задачи на сообразительность, логику и эрудицию, ты будешь хорошим работником.

Когда перед автором встала задача собрать свою команду, он тоже пытался придерживаться этого правила. Однако после череды неудачных попыток ему стало понятно, что претенденту лучше давать задачи, которые он будет решать в течение рабочего дня. Ведь, как выяснилось на практике, хороший работник и хорошо решающий IT-задачки – это не одно и то же. Поэтому важность головоломок на собеседовании стала значительно меньше.

Но стоит отметить, что IT-задачи все-таки полезны. И вот несколько причин:

  • рекрутеры часто интересуются вашим рейтингом на подобных порталах. Он, конечно, не играет решающей роли при найме, но будет неплохим дополнением к вашему резюме и коду на github;
  • задачи заставляют мыслить нестандартно, что очень пригодится во время работы;
  • решать головоломки можно на разных языках, и это хороший повод попробовать кодить на непривычном языке;
  • подобные задачи позволяют найти новые решения старых проблем;
  • благодаря им ваш мозг остается в хорошей форме, вы сфокусированы и повышаете "problem solving" уровень;
  • решение головоломок особенно полезно для новичков, ведь они позволяют развивать логическое мышление и учат решать проблемы;
  • это приятно, а ограничение по времени и соревнование с другими программистами вызывает азарт.

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

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

Спортивное программирование: 5 онлайн-ресурсов с задачами

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

Project Euler

спортивное программирование

Project Euler - один из самых первых сайтов с задачами по спортивному программированию. Каждую неделю добавляется одна новая задача, и сейчас их более 600. Все задачи имеют разный уровень сложности, поэтому сайт подойдет как новичкам, так опытным разработчикам. Язык программирования и темп вы выбираете сами, что позволяет узнать много нового и работать в удобном режиме.

Top Coder

спортивное программирование

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

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

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

Hacker Earth

спортивное программирование

HackerEarth оснащен богатым инструментарием, способным проверить ваше решение. Их программное обеспечение может проверить не только технические, но и логические навыки решающего. Также платформа используется IT-компаниями для поиска талантливых разработчиков. Уровень сложности заданий выше среднего, поэтому новичкам здесь делать нечего.

CoderByte

спортивное программирование

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

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

Daily Programmer

спортивное программирование

Daily Programmer обычная группа на Reddit. В ней регулярно публикуют и обсуждают различные задачи. В неделю появляются 3 новые задачи, а в архиве их уже несколько сотен. Участники группы читают каждый комментарий и делятся собственным мнением по поводу вашего решения. В целом, это очень неплохой ресурс, чтобы пообщаться с хорошими программистами и научиться новому.

Источник

Помимо решения задач, советуем вам освоить:

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ