Открытое собеседование на Go-разработчика | Навыки
Учебное открытое Go-собеседование с разбором типичных технических вопросов, практических задач и рекомендациями по поведению кандидата на интервью.
Эйч Навыки — менторская программа
Открыть на YouTube- Опубликовано на YouTube:
- Просмотры на YouTube: 9,3 тыс.
- Лайки на YouTube: 210
Таймлайн
Коротко о видео
Открытый учебный разбор собеседования на Middle Go-разработчика: кандидат отвечает на теоретические вопросы и решает задачи, а интервьюер Александр Сахаров комментирует ход рассуждений. Разбирают слайсы, указатели, map, каналы, горутины, интерфейсы и алгоритмическую задачу о стеке с минимумом, затем дают подробный фидбэк и отвечают на вопросы о подготовке, курсе и карьерном старте.
Затронутые темы
Что взять на заметку
- При передаче слайса в функцию копируется его заголовок (указатель, длина и capacity), поэтому результат append нужно возвращать или явно менять длину слайса у вызывающего кода.
- В собеседовании полезно разбирать код последовательно вслух: проговаривать гипотезу, план и назначение переменных, а не молча писать решение.
- Конкурентный доступ к map требует синхронизации не только записи, но и чтения, если параллельно возможны изменения и рост map; map следует инициализировать через make.
- Закрывать канал должен отправитель после завершения всех отправляющих горутин; для этого подходит отдельная горутина с WaitGroup. Чтение из уже закрытого канала без проверки может давать нулевые значения и приводить к ошибочному циклу.
- Интерфейс с типизированным nil-указателем не равен nil, потому что в интерфейсе сохранён динамический тип; такие случаи стоит покрывать тестами.
- Для стека с операцией Min за O(1) можно хранить отдельный стек минимумов, добавляя новое значение при условии «меньше или равно текущему минимуму» и удаляя его синхронно с основным стеком.