- PVSM.RU - https://www.pvsm.ru -

Где решать задачи по программированию, чтобы пройти путь from zero to hero

Если вам о чём-то говорят фамилии Зив, Хомченко и Рымкевич, иди сюда, дай обниму, бедолага-олимпиадник, то вы наверняка знаете, как важно прорешивать задачи для полноценного, осознанного и глубокого понимания изученного материала. Когда нет или совсем мало реальной практики, задачи дают возможность покрыть практикой все теоретические знания, погрузиться в неожиданные выводы, сложности, баги, препятствия. Более того, даже если практики достаточно, задачи помогают относительно быстро, комплексно и глубоко проработать типичные и нетипичные ситуации, возникающие в разработке (любой другой науке). Это всегда безопасный (никто не взрывает лабораторию и не роняет прод), доступный и удобный способ подробно разобраться в предмете. Определённо, программирования это касается в первую очередь.

Где решать задачи по программированию, чтобы пройти путь from zero to hero - 1

Как решать задачи?

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

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

  • После окончания работы над очередным сетом задач пройдитесь по записям, подчеркните самое главное, начните искать ответы на вопросы.

  • Перед новым подходом просмотрите предыдущие записи, освежите в памяти решённое.

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

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

  • Если на портале есть какие-то челленджи или соревнования, обязательно участвуйте — даже если у вас нет ни шанса на победу, вы испытаете своё мышление [1] в новых экстремальных условиях и сможете сравнить себя с другими участниками. В таком опыте обычно лежат точки роста.

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

  • Помните: путь в любую разработку начинается с hello world. 

🎓 Kaggle [2] — сайт содержит множество исследовательских задач, связанных с машинным обучением и большими данными. Особенно ценно то, что на Kaggle можно найти крутые датасеты, код и материалы для самостоятельного изучения и тренировок.

🎓 Codewars [9] — сборник задач и челленджей по широком спектру тем: алгоритмам, проектированию, паттернам, различным языкам программирования.

🎓 LeetCode [10] — популярный сайт с задачами, который особенно любят соискатели, мечтающие о работе в FAANG. Отличается от остальных тем, что решение задач нацелено именно на подготовку к собеседованиям в крупных компаниях. 

🎓 Codeforces [18] — популярнейший сайт с задачами, тренировками, соревнованиями (раундами) и прочими активностями для прокачки практики программирования. Кроме того, что позволяет решать всё про всё и содержит одну из крутейших баз заданий, имеет развитое сообщество, систему рейтинга и множество встроенных элементов геймификации.

🎓 Exercism [21] — классический задачник для 67 языков программирования. Подразумевает геймификацию, систему менторинга, обучение и т.д. При таких параметрах, конечно, имеет своё коммьюнити (хоть и не такое впечатляющее, как у предыдущих ресурсов).

🎓 All Cups [22] — соревновательно-обучательно-решательный портал с множеством задач от VK. Включает задачи по спортивному программированию (привет участникам олимпиады!), машинному обучению, искусственному интеллекту и, что особенно важно, по системному администрированию и всяческому хайлоаду. Если так можно сказать, это самый комфортный сайт для русскоязычного программиста (но мы же помним, что без английского далеко всё равно не уйти, даже здесь).

🎓 Задачи для программистов [26] — раздел задач на ТПрогере, который включает задачи и их разбор от компаний и пользователей. Ещё один комфортный русскоязычный ресурс с форматом статей-разборов.

🎓 SQL-EX.ru [27] — совершенно вырвиглазный сайт с наикрутейшими задачами и базой знаний по SQL. Отличное русскоязычное сообщество, справочники, учебники, обсуждения, статьи и книги. Настоящий мир SQL, пригодный как для школьника, так и для старшего инженера и разработчика. 

🎓 Питонтьютор [30] — интерактивный учебник-задачник по Python с задачами разной сложности. Русскоязычный, приятный, пошаговый и комфортный. Отличная помощь начинающим (и не только) питонистам.

Подборки от авторов Хабра — где-то есть неактуальные ссылки, но в целом подборки полезные.


P.S. Если вы давно хотели написать статью на Хабр, но сомневаетесь в своих силах или качестве материала, пишите мне в личку или присылайте черновик и свои вопросы на neo@habr.team — поможем, подскажем, дадим редакторский совет.

Автор:
Exosphere

Источник [36]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/obuchenie/383799

Ссылки в тексте:

[1] мышление: http://www.braintools.ru

[2] Kaggle: https://www.kaggle.com/

[3] Kaggle titanic dataset. Анализ данных с помощью SQL запросов: https://habr.com/ru/post/590541/

[4] Разговор с дата-сайентистом — гроссмейстером Kaggle: https://habr.com/ru/company/skillfactory/blog/538328/

[5] Kaggle: Британские спутниковые снимки. Как мы взяли третье место: https://habr.com/ru/company/ods/blog/325096/

[6] Как я занял 13 место из 3500+ участников и стал Kaggle Competition Master / Хабр: https://habr.com/ru/company/alfa/blog/716116/

[7] «Айсберг вместо Оскара!» или как я пробовал освоить азы DataScience на kaggle / Хабр: https://habr.com/ru/post/331992/

[8] Kaggle: История о том как мы учились предсказывать релевантность поисковых запросов и заняли 3-е место: https://habr.com/ru/post/305026/

[9] Codewars: https://www.codewars.com/

[10] LeetCode: https://leetcode.com/

[11] From Zero to Hero: определите ваш уровень решения LeetCode задач от 1 до 5: https://habr.com/ru/post/713498/

[12] Я решил 500 задач на LeetCode — и они действительно меня чему-то научили: https://habr.com/ru/company/geekfactor/blog/597035/

[13] Есть ли польза от решения алгоритмических задач на LeetCode?: https://habr.com/ru/post/709550/

[14] Пройти LeetCode за год: экскурсия по сайту и roadmap: https://habr.com/ru/post/708570/

[15] Моя история подготовки к интервью в FAANG: https://habr.com/ru/post/682358/

[16] Разбор алгоритмических задач с собеседований в Google, Facebook, Amazon: https://habr.com/ru/post/586598/

[17] Первые 255 задач на «‎литкоде»‎ / Хабр: https://habr.com/ru/post/658573/

[18] Codeforces: http://codeforces.com/

[19] Если хочешь разобраться, найдешь возможность»: говорим о Codeforces с основателем проекта: https://habr.com/ru/company/spbifmo/blog/538918/

[20] Как выиграть ВСОШ по информатике и больше не волноваться о ЕГЭ?: https://habr.com/ru/post/720840/

[21] Exercism: https://exercism.org/

[22] All Cups: https://cups.online/ru/

[23] All Cups — новая экосистема чемпионатов для IT-специалистов / Хабр: https://habr.com/ru/company/vk/news/t/496520/

[24] Соревнования по программированию на платформе All Cups: https://habr.com/ru/company/vk/blog/565534/

[25] All Cups: история одного дизайна экосистемы с большой историей: https://habr.com/ru/company/vk/blog/507080/

[26] Задачи для программистов: https://tproger.ru/problems

[27] SQL-EX.ru: https://www.sql-ex.ru

[28] Как изучать SQL в 2023 году: https://habr.com/ru/post/725166/

[29] Ультимативная дорожная карта для изучения SQL и баз данных в 2023 году + источники для знаний: https://habr.com/ru/post/725414/

[30] Питонтьютор: http://pythontutor.ru

[31] Как не стать Python-разработчиком: https://habr.com/ru/post/350748/

[32] Изучаем Python за 6 месяцев. Подробный план обучения: https://habr.com/ru/post/709102/

[33] Сайты для обучения программированию: Топ 100: https://habr.com/ru/post/508076/

[34] Топ 8 лучших ресурсов для практики программирования в 2018: https://habr.com/ru/post/414009/

[35] 11 крупнейших международных соревнований по программированию на 2022 год / Хабр: https://habr.com/ru/company/timeweb/blog/600015/

[36] Источник: https://habr.com/ru/post/726366/?utm_source=habrahabr&utm_medium=rss&utm_campaign=726366