Вернуться в видеотекуТестовое собеседование на Go-разработчика | Эйч Навыки
Демонстрационное мок-интервью на Go с практическими вопросами по рантайму, конкурентности, code review и проектированию сервиса подписок. После интервью авторы разбирают результаты кандидата и презентуют программу подготовки.
- Направление
- Backend
- Формат
- Мок-собеседование
- Длительность
- 2 ч 2 мин
Коротко о видео
Это образовательный стрим с демонстрационным мок-интервью на 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-события.