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

Открытое интервью на Middle Go разработчика

Открытый разбор задач с Go-собеседования: каналы, конкурентный доступ, планировщик, слайсы и интерфейс error. Ведущий объясняет решения и типичные ловушки, участник рассуждает и пишет код вживую.

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

Открыть на YouTube

Таймлайн

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

Это открытое учебное собеседование на Middle Go-разработчика с лайвкодингом, а не подтверждённое интервью в конкретную компанию. Участник решает и разбирает задачи на объединение каналов, дедупликацию параллельных HTTP-вызовов, планировщик Go, семантику каналов, слайсы и пользовательские ошибки. В финале интервьюер даёт рекомендации по Go concurrency, планировщику и слайсам, после чего отвечает на вопросы зрителей о практике собеседований и разработке на Go.

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

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

  • Для merge нескольких каналов выходной канал нужно вернуть сразу; отдельные goroutine читают все входы через range, а отдельная goroutine закрывает выход после WaitGroup.Wait().
  • При дедупликации одновременных GetUser-вызовов состояние должно жить в декораторе, а не создаваться заново в каждом вызове: ключом служит имя пользователя, доступ к map защищается mutex.
  • Одно значение из канала не разбудит всех ожидающих goroutine: для широковещательного сигнала удобно хранить результат и ошибку вместе с каналом завершения, затем закрывать этот канал.
  • В Go до версии 1.22 переменная цикла могла быть общей для всех запущенных goroutine; в Go 1.22 переменная создаётся заново на каждой итерации.
  • Слайс, переданный в функцию, копирует заголовок, но обычно разделяет backing array; append в пределах capacity может перезаписать элементы исходного массива, а увеличение длины через reslice влияет только на видимость элементов.
  • Для подготовки к таким интервью стоит отдельно тренировать каналы, goroutine, WaitGroup, mutex, устройство планировщика Go и задачи на len/cap слайсов.

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

30 мин
BackendSenior

Mock-собеседование старшего Go разработчика из Тинькофф | Самое полное интервью

Длинное мок-собеседование по внутреннему устройству конкурентности в Go. Вопросы переходят от горутин и планировщика к примитивам синхронизации, архитектуре серверов и низкоуровневым аспектам процессоров.