Вернуться в видеотеку

Job interview на вакансию Golang Developer middle // Курс «Golang Developer. Professional»

Открытый вебинар OTUS с мок-собеседованием Golang Developer middle, разбором задачи на конкурентное выполнение задач и обсуждением подготовки к реальным интервью. В конце представлена программа курса Golang Developer Professional.

Источник: OTUS IT Онлайн - образование

Открыть на YouTube

Таймлайн

Коротко о видео

Вебинар OTUS показывает демонстрационное собеседование на позицию Golang Developer middle: кандидат отвечает на вопросы по базовым структурам Go, каналам, интерфейсам, горутинам, планировщику и сборке мусора. Затем он вслух проектирует решение задачи на ограниченный пул воркеров с лимитом ошибок; интервьюер разбирает синхронизацию, атомарный счётчик, WaitGroup и корректное завершение воркеров. В финале ведущий подводит итоги мок-интервью, отвечает на вопросы аудитории и представляет программу курса Golang Developer Professional.

Затронутые темы

Что взять на заметку

  • Для вопросов о слайсах важно различать массив и slice header: в нём указатель на массив, len и cap; при передаче в функцию Go копирует header по значению, поэтому изменения общего backing array могут давать побочные эффекты.
  • Map обычно обеспечивает поиск за O(1), но при неблагоприятных коллизиях время может деградировать до O(n); на интервью могут углубиться до хэшей, бакетов и размещения ключей со значениями.
  • Небуферизированный канал не равен каналу с буфером 1: отправка ожидает получателя; закрытие закрытого канала и запись в него вызывают panic, а чтение возвращает нулевое значение и признак закрытия.
  • Select позволяет неблокирующе читать или писать в каналы через default-ветку и выбирать готовую операцию среди нескольких каналов.
  • Для задачи с N параллельными исполнителями и порогом M ошибок подходит worker pool: фиксированное число горутин читает задачи из канала, счётчик ошибок синхронизируется atomic или mutex, после прекращения выдачи задач канал закрывают и ждут WaitGroup.
  • В демонстрации подчёркивается, что на coding-интервью стоит проговаривать ход мысли, сценарии и ограничения решения, а не молча писать код.
  • Нужно уметь объяснить graceful shutdown: передать context, обработать отмену через select и context.Done(), прекратить выдачу задач, закрыть канал и дождаться уже запущенных воркеров.

Рекомендуем посмотреть