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

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

На данный момент этим ресурсом я пользуюсь чаще всего. В нём удобно всё, кроме названий: ката - название заданий, направленных на улучшение навыков и техник, кумитэ - название сниппетов, которые написанны в свободном стиле, с использованием техник, которые вы наработали в катах. Также, все задачи разделены на уровни: [1-8]kyu. 8 kyu - самые легкие задачи, 1 kyu - очень сложные задачи. Названия, кстати, взяты из каратэ и японских боевых искусств.

В целом все задания сразу же проверяются с помощью unit-test'ов. Есть открытые тесты, а есть "скрытые" тесты. Явные тесты отмечены во втором окошке под редактором кода.

На данном ресурсе можно тренировать не только искусство программирования (знание языка, усвоение каких-либо тем), но и умение решать алгоритмические и математические задачи с помощью разных ЯП.

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

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

Данный сайт посоветовал мне мой хороший приятель, при этом упоминая что данный сайт содержит достаточно сложные алгоритмические задачи. Немного порешав задачи на нём, я действительно заметил, что средний уровень задач на голову выше, нежели есть на Hackerrank и Codewars.

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

Данный сайт нравится мне тем, что на нём есть туториалы. Прежде чем решать задачу определённого рода, вам дадут абсолютно всю информацию для решения определённой задачи. Также, на сайте имеются задания с собеседований FAANG (Facebook, Amazon, Apple, Netflix, Google). Вы можете решать задачи дня, а также задачи по уровню, они не всегда подбираются правильно (по сложности), однако наличие туториалов компенсирует данный минус.

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

Дабы дать не только ресурсы для практики, я также предоставлю ресурсы для изучения теории:

vc.ru(рус) – собственно ресурс, на котором вы это читаете. Вы можете найти тут кучу статей от множества людей, которые делятся своим опытом.

Programiz(англ) – сайт, на котором вы можете выучить C++, C, Python, Java, JS, структуры данных, алгоритмы. Также содержит удобную онлайн-документацию по многим ЯП.

Code-Live.ru(рус) – сайт, который предоставляют ту же информацию, что и сайт выше, однако на русском языке.

learn.javascript.ru(рус) – сайт, на котором можно выучить Javascript и фреймворки, связанные с данным ЯП.

FreeCodeCamp(англ) – сайт, на котором содержится большое количество информации по веб-разработке, Data Science, и других специальностях.

Заключение

Если вам понравилась статья, то вы можете подписаться на мой телеграм, я выкладываю интересный материал по мере возможности.

99
Начать дискуссию