Собеседование на Go (Golang): алгоритмы и вопросы по языку

Почему программа зависла на канале? Куда уходит память? Что не так в этом обработчике? Это обычные вопросы на собеседовании Go-разработчика. В курсе - ответы на них, алгоритмические задачи и пробные собеседования на время.
Средний уровень
5-7 часов в неделю
Сертификат Stepik

Чему вы научитесь

  • Отвечать на вопросы о срезах, map, интерфейсах и ошибках в Go
  • Предсказывать вывод кода с defer, panic и recover
  • Писать горутины и каналы без утечек и взаимных блокировок
  • Находить и исправлять гонки данных
  • Объяснять, как работают планировщик, стек и куча, сборщик мусора
  • Писать табличные тесты и бенчмарки
  • Находить ошибки в чужом коде на код-ревью
  • Оценивать сложность решения по ограничениям задачи
  • Узнавать приём по условию задачи
  • Решать задачи на графы, деревья и динамическое программирование

О курсе

Курс идёт в том же порядке, что и собеседование

Сначала вопросы по языку: что выведет код, что станет со срезом после append, почему программа зависла на канале. Потом алгоритмическая задача и задача на горутины. Во многих компаниях ещё и код-ревью. В конце курса - пробные собеседования на время.

Задачи на горутины проверяются по времени и утечкам

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

Go изнутри: срезы, интерфейсы, горутины, рантайм

  • Срезы и map: как растёт срез, когда append портит чужие данные, почему map не сжимается после delete
  • Интерфейсы и ошибки: почему nil-интерфейс бывает не равен nil, errors.Is и errors.As, порядок defer
  • Горутины и каналы: закрытый канал, deadlock, гонки данных, sync, context, errgroup
  • Рантайм: планировщик, стек и куча, сборщик мусора
  • Встраивание, дженерики, тесты и бенчмарки

Алгоритмы: один модуль - один приём

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

Код-ревью: найди ошибки в чужом сервисе

HTTP-обработчик, кэш, воркер очереди. Сначала отметь все проблемы - среди вариантов есть ловушки. Потом исправь код: проверка запустит его под нагрузкой, с ошибками и таймаутами.

Пробные собеседования на время

Каждое идёт 60 минут: вопросы по языку, алгоритмическая задача без подсказки, какой приём нужен, и задача на конкурентность. После каждого - разбор.

Для кого этот курс

- Go-разработчикам, которые готовятся к собеседованию - Тем, кто знает основы Go и хочет понять, как язык устроен внутри - Тем, кто теряется на алгоритмической секции и не знает, с какой стороны подойти к задаче - Тем, кто прошёл курс "Полный курс: Язык программирования Go (Golang)" и хочет двигаться дальше

Начальные требования

Уверенное знание основ Go: циклы, условия, функции, срезы и map, структуры и методы. Синтаксис языка в курсе не объясняется.

Как проходит обучение

Каждый модуль состоит из уроков: короткая теория с примерами кода и их настоящим выводом, вопросы "что выведет код" или "найди ошибку" и задачи на программирование. В задачах пишешь только функцию, скрытая программа сама читает тесты и проверяет ответ. В конце модулей про язык - технические вопросы с собеседований с ответами, в конце курса - код-ревью и пробные собеседования на время.

Программа курса

В курс входят

  • 61 урок
  • 240 тестов
  • 130 интерактивных задач
загружаем...

Наши преподаватели

Certificate

Сертификат

Сертификат Stepik

Что вы получаете

  • Решение автора к каждой задаче
  • Пробные собеседования на время с разбором
  • Технические вопросы с собеседований с ответами
  • Задачи на код-ревью: найти ошибки и исправить код
  • Сертификат о прохождении курса

Сколько стоит обучение

1 590 ₽
Вы попробовали и поняли, что вам сейчас не подходит этот курс? Ничего страшного, мы вернём вам деньги в течение 30-ти дней после покупки.

Часто задаваемые вопросы

Расскажите о курсе друзьям