Получить доступ

Индивидуальный план развития: Go

Выберите текущий и целевой грейд — останутся темы, которые нужно освоить, с проверяемыми критериями, практическими заданиями и оценкой трудоёмкости. План можно скопировать в документ компании, скачать таблицей или распечатать.

1 этап Основы языка

Основы языка Основа

Junior
  • Пишет программы со структурами, методами и указателями
  • Объясняет нулевые значения, область видимости по регистру имени и пакеты
  • Выбирает между приёмником-значением и приёмником-указателем

Практика. Сделать консольное приложение учёта задач со структурами, методами и сохранением в JSON.

2 этап Срезы, мапы и строки

Срезы, мапы и строки Основа

Junior
  • Объясняет len и cap среза и рост при append
  • Объясняет, почему срезы могут делить общий массив

Практика. Решить 10 задач «что выведет код» на срезы и append.

Middle
  • Избегает ловушек — изменение через подсрез, итерация по мапе, строки как байты

Практика. Найти и исправить ошибки с общим массивом в учебном коде обработки срезов.

3 этап Интерфейсы

Интерфейсы Основа

Junior
  • Объявляет маленькие интерфейсы и реализует их неявно

Практика. Сделать хранилище с интерфейсом и двумя реализациями — в памяти и в файле.

Middle
  • Объясняет, почему интерфейс с nil-указателем не равен nil
  • Применяет принцип «принимай интерфейсы, возвращай структуры»

Практика. Воспроизвести ловушку nil-интерфейса при возврате ошибки и исправить.

4 этап Ошибки

Ошибки Основа

Junior
  • Возвращает и проверяет ошибки, оборачивает их с контекстом через %w

Практика. Добавить обработку ошибок с контекстом во все слои учебного сервиса.

Middle
  • Использует errors.Is и errors.As и свои типы ошибок; panic — только для невозможных ситуаций

Практика. Ввести типизированные ошибки домена и переводить их в коды HTTP в одном месте.

5 этап Горутины, каналы и context

Горутины, каналы и context Основа

Junior
  • Запускает горутины и синхронизирует их через WaitGroup и каналы

Практика. Параллельно скачать 20 страниц горутинами и собрать результаты через канал.

Middle
  • Использует select, буферизованные каналы и пулы воркеров
  • Передаёт context для отмены и таймаутов
  • Находит гонки через -race и утечки горутин

Практика. Сделать пул воркеров с context, таймаутами и корректным завершением, проверить детектором гонок.

Senior
  • Проектирует конкурентные конвейеры с ограничением параллельности и корректным завершением

Практика. Реализовать конвейер обработки событий с backpressure и graceful shutdown под нагрузкой.

6 этап Память, инструменты и тесты

Память, инструменты и тесты Основа

Junior
  • Управляет зависимостями через go modules и пишет табличные тесты

Практика. Покрыть пакет табличными тестами и бенчмарками.

Middle
  • Профилирует сервис через pprof и снижает аллокации
  • Объясняет escape analysis и работу сборщика мусора Go

Практика. Найти через pprof горячее место и лишние аллокации в HTTP-сервисе и сократить их.

7 этап Сервисы на Go

Сервисы на Go Основа

Junior
  • Делает HTTP API на net/http с маршрутизацией и JSON

Практика. Сделать API заказов на стандартной библиотеке с тестами через httptest.

Middle
  • Пишет middleware для логирования, авторизации и восстановления после panic
  • Работает с PostgreSQL через pgx и делает graceful shutdown

Практика. Добавить middleware, работу с PostgreSQL через pgx, миграции и корректную остановку по SIGTERM.

← Карта «Go»

Закрытая бета

План есть — пора на собеседование

sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем