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

Открытое собеседование на Junior Go разработчика

Открытое mock-интервью Junior Go-разработчика с разбором опыта кандидата, задач по конкурентности и RLE-сжатию строки. В конце — фидбек по подготовке к собеседованиям и ответы на вопросы зрителей.

Источник: Эйч Навыки — менторская программа

Открыть на YouTube

Таймлайн

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

Публичная демо-версия mock-интервью на позицию Junior Go developer: кандидат рассказывает о практиках, проектах, Docker Compose, CI/CD, PostgreSQL, MongoDB и приложении с OpenAI. Интервьюер проверяет понимание горутин, замыканий, WaitGroup, каналов, worker pool, mutex, data race, context и select, а затем даёт задачу на RLE-сжатие строки. В финале интервьюер даёт кандидату предметный фидбек, после чего ведущие отвечают на вопросы и рассказывают о программе менторства и платном mock-интервью.

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

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

  • Для задач с горутинами нужно объяснять, когда замыкание читает переменную цикла, передавать значение в горутину явно и отдельно обеспечить ожидание завершения горутин через sync.WaitGroup.
  • Worker pool следует строить из фиксированного числа воркеров: каждый продолжает читать URL из канала до его закрытия, а основной поток ждёт завершения всех воркеров.
  • Одновременную запись нескольких горутин в обычную map в Go нужно синхронизировать, например sync.Mutex: map не потокобезопасна и конкурентные записи могут привести к panic.
  • Для отмены работы при пустом входном канале недостаточно проверять context перед чтением: нужен select, одновременно ожидающий URL и ctx.Done().
  • В RLE-задаче надо сжимать именно соседние одинаковые символы, а не собирать частоты через map; важно сбрасывать счётчик при смене символа, обработать последнюю группу и пустую строку.
  • По фидбеку интервьюера кандидату стоит углубить понимание замыканий в Go, каналов, worker pool и select, а также практиковать типовые алгоритмические задачи без костылей.

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