in

Десять сайтов с задачами для оттачивания навыков программирования в 2019 году

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

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

1. Coderbyte

coderbyte

Проект Coderbyte содержит более 200 задач по кодингу, которые вы можете решить в онлайн-редакторе при помощи одного из десяти языков программирования. Доступ к части задач бесплатный, к остальным он открывается после покупки подписки. К задачам прилагается более 800 000 решений, проранжированных по оценке пользователей. Кроме раздела с задачами имеются также пособия по написанию программных решений на различных языках. Приобретение подписки открывает доступ к туториалам по собеседованиям в крупных компаниях и задачи с собеседований. Также в свободном доступе находятся однонедельные вводные курсы по языкам программирования и веб-разработке.

Уровень сложности: для новичков и середнячков.

2. Codewars

coderwars

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

Уровень сложности: для новичков и середнячков.

3. CodeFights

codefights

CodeFights содержит задания для решения в онлайн-редакторе и форум для обсуждения заданий. В качестве целей можно поставить изучение новых концепций программирования или подготовку к собеседованию. Программы можно писать более чем на 30 различных языках. В работе над кодом вы можете посоревноваться с Company Bots – ботами, написанными инженерами таких компаний как Uber, Dropbox и Quora. Обучение, как и в случае Codewars, построено в игровой форме с получением очков и прогресс-баром. Заработанные за выполнение заданий очки можно тратить на открытие новых заданий.

Уровень сложности: для новичков и середнячков.

4. CodinGame

codingame

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

Уровень сложности: для новичков и середнячков.

5. TopCoder

topcoder

TopCoder это один из сайтов для онлайн-соревнований по программированию с задачами на алгоритмы. Соревнования проходят несколько раз в месяц в заранее оговоренное время. Кроме этого, дополнительно можно выбрать одну из трех ветвей продолжительных соревнований: UX/UI дизайн, разработка и Data Science. Победители соревнований получают денежные призы от нескольких сот до пары тысяч долларов.

Уровень сложности: для середнячков и продвинутых.

6. HackerRank

hackerank

HackerRank сосредоточен на вопросах информатики и содержит проблемы для таких областей как алгоритмы, математика, SQL, функциональное программирование, искусственный интеллект и т.д. Аналогично предыдущим ресурсам, такие задания можно решить и протестировать в онлайн-редакторе (пример). В структуру сайта также включены возможность обсуждений и рейтинг лидеров по каждой задаче, большинство заданий содержат пояснения о рассматриваемой проблеме и наводящие соображения о том как подойти к ее решению.

Уровень сложности: для середнячков и продвинутых.

7. LeetCode

leetcode

На LeetCode собрана отличная коллекция алгоритмов программирования, связанных понятиями структур данных, таких как бинарные деревья, динамическая память, связанные списки и т. д. Эти проблемы немного более общие и продвинутые, чем те, что можно обнаружить на описанных выше ресурсах, однако это важные задачи для тех, кто готовится к собеседованию на должность разработчика программного обеспечения. На сайте есть специальный раздел Mock Interview, предназначенный для подготовки к собеседованиям. Ресурсом проводятся собственные конкурсы по программированию. Также есть раздел статей, которые помогут вам лучше разобраться в определенных проблемах в области алгоритмов.

Уровень сложности: для середнячков и продвинутых.

8. CodeChef

codeshef

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

Уровень сложности: для середнячков и продвинутых.

9. GeeksforGeeks

geekforgeeks

GeeksforGeeks содержит одну из лучших подборок статей, объяснений и примеров кода для области алгоритмов и структур данных. Здесь вы можете посмотреть пример того как один сложный вопрос разбивается на несколько более простых с поэтапным объяснением решений при помощи примеров кода на разных языках. Прежде чем посмотреть ответ к задаче, вы также можете потренироваться в онлайн-редакторе. Если вы решили разобраться в вопросах алгоритмов, этот сайт одно из лучших решений, чтобы их понять.

Уровень сложности: для середнячков и продвинутых.

10. Codeforces

codeforces

На ресурсе Codeforces, спонсируемом командой Телеграма, регулярно проводятся международные соревнования, в которых соперничают профи спортивного программирования. Если вы начинающий кодер, эти задачи, скорее всего, будут для вас слишком сложными (вот пара примеров). Понятно, что решение таких задач требует продвинутых знаний в математике и алгоритмах.

Уровень сложности: для продвинутых.

Заключение

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

Вам это может быть интересно:

Перевод материала от GREATECH.

Оригинал

Как вы оцените нашу статью?

0 рейтинг
Upvote Downvote

Топ десять лучших приложений для Linux в 2019 году

Проблемы со сном

Будут ли технологии решать наши проблемы со сном?