7 соревновательных площадок для прокачки знаний по Swift

Задачи для удовольствия, развития и заработка.
28 ноября 2017326451Илья Бубнов147536

Когда Apple объявила о запуске Swift в 2014 году, разработчики по всему миру были настроены скептически. Они сомневались в необходимости изучения еще одного языка и в том, что он будет действительно хорош. Однако с 2015 года, когда был открыт исходный код, популярность Swift стала неуклонно расти. Сегодня это не просто одна из опций для создания «яблочных» приложений, это главный инструмент разработчика.

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

Codewars

Codewars – одно из лучших мест для решения задач, связанных с написанием кода. Swift – не исключение. Вся система построена по принципу игры. То есть после успешного выполнения каждой задачи вы получаете очки опыта, которые складываются в уровни (начинаете с 8 kyu и далее до 1)

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

В Codewars также есть две замечательные опции:

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

CodinGame

Задания в CodinGame не просто имеют игровую концепцию. По сути, это и есть игры с программной составляющей. Например, задача «Power of Thor» заключается в перемещении Тора по игровому полю от исходной позиции к цели за минимальное число ходов.

Задания имеют 4 уровня сложности: лёгкий, средний, тяжёлый и очень тяжелый. Имеются официальные игры, а есть головоломки, созданные сообществом. Большинство задач в CodinGame имеет конкретное решение, поэтому приготовьтесь потратить немало нервов на его поиски. Также есть многопользовательские соревнования, где необходимо выполнить как можно больше задач за отведённое время. Есть и более масштабные конкурсы сообщества, проходящие примерно раз в месяц, с призами и подарками.

CodeChef

CodeChef – собрание заданий, схожее с CodeWars. Здесь вы тоже получаете очки за правильно решённые задачи и продвигаетесь по рейтингу.  Вопросы разделены на 5 категорий сложности: Beginner, Easy, Medium, Hard и Challenge. Ещё одна категория – Peer – предназначена для пользовательских задач.

Вам доступны сотни заданий, многие из них переведены на русский язык. Для их просмотра регистрация не обязательна, она потребуется для начисления очков рейтинга. Сам рейтинг нужен не только для удовлетворения амбиций, но и для участия в регулярных конкурсах, призовой фонд которых достигает 700 долларов.

DailyProgrammer

DailyProgrammer от Reddit – один из старейших ресурсов для программистов, где знания проверяются при помощи головоломок. К сожалению, на фоне конкурентов он быстро теряет популярность, и сегодня новые задания появляется не чаще, чем раз в 2-3 дня.

Задачи обозначаются как «Easy», «Intermediate» или «Hard». Но не стоит обольщаться: некоторые простые задачи могут оказаться для начинающих программистов неподъёмными. Но вы можете порыться в архивах и найти что-то по силам.

Project Euler

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

Кроме того, проблемы Project Euler носят математический и логический характер. То есть программирование здесь – не необходимость, а один из инструментов для решения задачи. Однако учитывая объём вычислений в большинстве случаев, ручкой и бумажкой вы вряд ли обойдётесь.

TopCoder

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

Единственным недостатком – каждое задание поддерживает только определенные языки. Поэтому узкопрофильных специалистов на Swift ждёт небольшое разочарование – соревнования по их дисциплине проводятся лишь раз в месяц.

Coderbyte

Coderbyte – ещё один вариант соревновательного программирования, идеальный для того, чтобы попрактиковаться в Swift. Задачи разделены на уровни: Easy, Medium и Hard. Они поставляются пошаговыми решениями и имеют форму для обсуждения вопросов.

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

Есть и ложка дёгтя – пользователи с бесплатными аккаунтами получают доступ только к 10 задачам и решениям. Чтобы получить больше заданий вам придётся заплатить  29 долларов за месяц или 150 за год. Учитывая основную направленность и уровень конкурентов, весьма сомнительное предложение.

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

Новые комментарии