Mock - собеседование от Team Lead из VK (секция Go)
Запись мок-собеседования по Go с тремя алгоритмическими задачами и разбором ключевых структур данных и конкурентных примитивов языка.
it-interview
Открыть на YouTube- Опубликовано на YouTube:
- Просмотры на YouTube: 3,6 тыс.
- Лайки на YouTube: 47
Таймлайн
Коротко о видео
Это мок-собеседование по Go, в котором кандидат решает задачи на поиск уникального числа, поиск подстроки и слияние двух каналов. После задач собеседующие разбирают устройство map, строк, каналов и слайсов в Go: хеш-коллизии, байты и руны, select, закрытие и буферизацию каналов, len/capacity слайсов. В авторском отзыве отмечено, что кандидат в целом рассуждает верно, но ему стоит закрепить практику и детали языка Go.
Затронутые темы
Что взять на заметку
- Для поиска уникального числа рассматривается множество на базе map: это даёт линейное время и линейную дополнительную память.
- Нужно уметь объяснить, почему поиск по map обычно O(1), что такое хеш-коллизии и почему худший случай может быть линейным.
- Поиск подстроки кандидат начинает с вложенных циклов и сравнения символов; важно заранее назвать сложность такого решения и его крайние случаи.
- Стоит различать байты и руны в строках Go, а также понимать, что обращение по индексу строки работает с байтом.
- При слиянии двух упорядоченных каналов нужно учитывать порядок значений, чтение из обоих каналов через select и завершение работы после их закрытия.
- Нужно повторить семантику буферизированных каналов: отправка блокируется при заполненном буфере, а запись в закрытый канал приводит к panic.
- Для слайсов полезно знать их представление через указатель, length и capacity, возможное перевыделение памяти при append и ограничения на сравнение слайсов.