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

Cобеседование на Middle в Go с тимлидом из X5: лайв-кодинг и теория

Открытое тренировочное интервью на Middle Go с разбором теории рантайма и задач на предсказание поведения слайсов и интерфейсов. В финале — обратная связь кандидату и ответы на вопросы зрителей о подготовке к техническим собеседованиям.

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

Открыть на YouTube

Таймлайн

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

Это открытое мок-собеседование на позицию Middle Go-разработчика: Роман Спиридонов проводит кандидату Александру теоретическую часть и задачи на рассуждение о поведении Go-кода. Кандидат рассказывает о переходе из системного администрирования и Python-разработки в Go, после чего отвечает на вопросы о типах, слайсах, map, интерфейсах, сборщике мусора, конкурентности, каналах и context. В конце интервьюер даёт положительную обратную связь по уровню кандидата, отмечая пробелы в базовых типах и коллизиях map; затем участники отвечают на вопросы зрителей о грейдах, собеседованиях и пользе знания рантайма Go.

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

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

  • Подготовьте короткий рассказ о переходе в Go: кандидат объясняет опыт Python-разработки, самостоятельное изучение Go в течение примерно полугода и желание работать с более крупным контуром систем.
  • Для Middle Go важно уметь объяснить, почему Go выбирают вместо Python: конкурентность, стандартные инструменты форматирования, профилирования и тестирования — но не выдавать личные предпочтения за универсальный факт.
  • Повторите базовую модель слайса: длина и capacity, общий базовый массив, передачу заголовка слайса по значению, поведение append и copy, а также отличие допустимого индекса базового массива от доступного по длине слайса.
  • Отдельно подготовьте внутреннее устройство map: сравнимость ключей, bucket, поиск по хешу, коллизии, overflow-bucket и рост с эвакуацией элементов.
  • Нужно различать nil-интерфейс и интерфейс с конкретным типом, но nil-значением: это проверяется в задаче на сравнение интерфейсов с nil.
  • Для вопросов о рантайме повторите GMP-модель, work stealing, работу netpoller при сетевом I/O, поведение при блокирующих системных вызовах, mutex, WaitGroup, buffered/unbuffered channels и context.
  • Обратная связь интервьюера: знания о конкурентности были сильной частью ответа, а типы данных Go и механизм коллизий map стоит повторить.

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