Найти тему
Я, Golang-инженер

#65. Yandex Cup. Backend: 7 ресурсов для подготовки к чемпионату по программированию

Оглавление

Это статья об основах программирования на Go. На канале я рассказываю об опыте перехода в IT с нуля, структурирую информацию и делюсь мнением.

Хой, джедаи и амазонки!

Зарегистрировался на чемпионате Yandex Cup по направлению backend. Хочу систематизировать ресурсы, полезные для подготовки и хотя бы немного позаниматься перед участием - об этом сегодняшняя публикация.

Фрагмент домашней страницы чемпионата Yandex CUP
Фрагмент домашней страницы чемпионата Yandex CUP

1. О чемпионате

Краткая информация о чемпионате:

Фрагмент домашней страницы чемпионата Yandex CUP
Фрагмент домашней страницы чемпионата Yandex CUP

Сайт чемпионата: >>> клик <<<

Чемпионат делится на четыре этапа: пробный чемпионат (влияет только на опыт) - квалификация - полуфинал - финал. Финал проходит очно, остальные этапы - дистанционно.

Даты этапов для чемпионата 2024 года следующие:

Фрагмент домашней страницы чемпионата Yandex CUP
Фрагмент домашней страницы чемпионата Yandex CUP

В квалификации и пробном чемпионате можно выбрать несколько категорий:

Категории чемпионата
Категории чемпионата

Меня интересует бэкенд:

Доступные языки для чемпионата по бэкенду
Доступные языки для чемпионата по бэкенду

Среди задач для бэкенда опять алгоритмы:

Задачи бэкенда
Задачи бэкенда

Вот такая структура чемпионата.

2. Как подготовиться

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

Посмотрел, как можно подготовиться хотя бы немного к чемпионату, именно в контексте Яндекса. Вот какие нашёл ресурсы:

2.1. Яндекс Контест

Яндекс Контест - тот самый пробный раунд чемпионат, который не обязателен, но покажет какие примерно стоит ожидать задачи, как работать с площадкой, и вообще - увереннее себя чувствовать, если впервые в таком движе. На сайте чемпионата Yandex Cup этот пробный раунд чемпионата упомянут вскользь.

Ссылка: >>> клик <<<

Фрагмент сайта Яндекс Контеста
Фрагмент сайта Яндекс Контеста

Меня интересует бэкенд:

Фрагмент сайта Яндекс Контеста
Фрагмент сайта Яндекс Контеста

Перечень задач:

Фрагмент сайта Яндекс Контест
Фрагмент сайта Яндекс Контест

Пожалуй, с этого сайта и начну готовиться.

Со второй попытки решил "разминочную очень простую задачу A" за 8 мин 43 сек.

Сходу решил выбрать ещё задачу по SQL и завис: так и не смог разобраться с ней. Вот её условие:

Условие и моё решение задачи на SQL
Условие и моё решение задачи на SQL

Ответ один, какие бы вариации я не придумывал: WA - wrong answer:

Тестирование задачи
Тестирование задачи

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

2.2. Телеграм-группа Yandex Cup

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

Ссылка на группу: >>> клик <<<

Пример поста в чате:

Пост в чате ТГ
Пост в чате ТГ

Теоретически, в чате можно познакомиться с кем-то, кто может прояснить какой-то вопрос и задать его напрямую в ЛС.

2.3. Сайт Yandex Cup

На самом сайте чемпионата есть задачи с описанием решений:

Фрагмент сайта Yandex Cup
Фрагмент сайта Yandex Cup

Описание решения в основном текстом - объясняется логика, а не код:

Фрагмент сайта Yandex Cup
Фрагмент сайта Yandex Cup

Ссылка на сайт: >>> клик <<<

Кстати, эти задачи дублируются с заданиями пробного чемпионата, о котором рассказал двумя параграфами ранее (но задача по sql тут не объясняется).

2.4. CodeRun. Бэкенд

Ещё одна площадка, связанная с Яндексом: вроде бы как на алгоритмы, но в разделе backend:

Фрагмент страницы CodeRun
Фрагмент страницы CodeRun

Пример описания сложной задачи:

Описание задачи НОД и запросы (2.0)
Описание задачи НОД и запросы (2.0)

Ссылка: >>> клик <<<

2.5. Yandex.Taxi Coding Fest

Разбор решений задач, предложенных участниками онлайн-соревнования по backend'у Yandex.Taxi Coding Fest.

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

Ссылка: >>> клик <<<

2.6. GitHub it-специалиста №1

Задачи с решениями квалификационного этапа Yandex Cup 2023 (по описанию репозитория). Хорошая структура ReadMe:

Пример задачи из ReadMe
Пример задачи из ReadMe

Он пишет кстати на 2х языках: Go и Python. Конкретная эта задача о хокку решена на Go:

Фрагмент решения
Фрагмент решения

Ссылка: >>> клик <<<

2.7. GitHub it-специалиста №2

Судя по описанию репозитория - это тренировочный бэкенд-контест Яндекса. Куда? Непонятно: это может быть как стажировка, так и школа Яндекса или ещё что-нибудь:

Фрагмент ReadMe
Фрагмент ReadMe

Задачи в репозитории решены на Python. Ради интереса решил первую задачу про шифры: результат с примерами сходится, но какие ещё есть тесты неизвестно.

Ссылка на задачи: >>> клик <<<

Ссылка на моё решение по шифрам: >>> клик <<<

3. Выводы

На этом всё. Сегодня четверг, доступ к квалификации доступен до понедельника: есть несколько дней посмотреть что-то полезное по найденным материалам и подготовиться.

А вы участвовали в чемпионатах по программированию?

https://ru.freepik.com/free-photo/team-working-animation-project_22633692.htm
https://ru.freepik.com/free-photo/team-working-animation-project_22633692.htm

Бро, ты уже здесь? 👉 Подпишись на канал для начинающих IT-специалистов «Войти в IT» в Telegram, будем изучать IT вместе 👨‍💻👩‍💻👨‍💻