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

Тестовое собеседование на Go-разработчика | Эйч Навыки

Демонстрационное мок-интервью на Go с практическими вопросами по рантайму, конкурентности, code review и проектированию сервиса подписок. После интервью авторы разбирают результаты кандидата и презентуют программу подготовки.

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

Открыть на YouTube

Таймлайн

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

Это образовательный стрим с демонстрационным мок-интервью на Go: Максим, переходящий из нагрузочного тестирования в разработку, отвечает на вопросы и решает задачи, а Дима даёт обратную связь. Разбираются устройство слайсов, память и GC, планировщик Go, горутины, синхронизация, каналы, code review, производительность и system design сервиса подписок. В финале интервьюер высказывает мнение, что Максиму можно пробовать собеседования на middle Go-разработчика, но стоит укрепить знания слайсов и практику архитектурных решений.

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

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

  • Для интервью на Go нужно уметь объяснить связь слайса с базовым массивом, изменение len/cap при append и момент, когда реаллокация прекращает совместное использование памяти.
  • Стоит подготовить связный рассказ о stack, heap и Garbage Collection, а также о модели планировщика Go и краже работы между процессорами.
  • Для задач с горутинами важно отличать запуск от ожидания завершения: применять sync.WaitGroup, понимать захват переменной цикла и выбирать каналы, mutex, sync.Map либо atomic-операции по характеру общей памяти.
  • Небуферизированная запись в канал без читателя блокируется; при объединении динамического набора каналов практичнее запускать чтение каждого канала в отдельной goroutine, корректно закрывать результирующий канал и не добавлять произвольный буфер.
  • В code review следует проверять ранний выход после ошибок валидации, не передавать SQL из HTTP-слоя в репозиторий и разделять входную модель, доменную модель и модель хранения.
  • В system design подписок сначала нужно уточнить нагрузку и границы сервиса; для внешних платёжных провайдеров предусмотреть долговечное логирование, повторные попытки с backoff и способ восстановить пропущенные webhook-события.

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