Вернуться в каталог собеседований

Tech Interview Fest | Моковое cобеседование для Go Junior | Solvery + Go-go! | Владимир Балун, Ozon

Моковое собеседование Junior Go с разбором фундаментальных вопросов и проектированием кэша для удалённого key-value-хранилища. В конце — обратная связь кандидату и ответы на вопросы зрителей о подготовке и поиске первой работы.

Solvery
  • Опубликовано на YouTube:
  • Просмотры на YouTube: 29,7 тыс.
  • Лайки на YouTube: 623
Открыть на YouTube

Таймлайн

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

Это партнёрский стрим Tech Interview Fest с моковым техническим собеседованием на позицию Junior Go: Владимир Балун задаёт Максиму вопросы и поясняет ожидаемую логику рассуждений. Разбираются устройство map, коллизии и ключи с денежными значениями, строки и strings.Builder, slice, диагностика HTTP 500, процессы, потоки и goroutine. В практической части проектируют кэширующий декоратор над key-value-хранилищем, затем обсуждают ограничения кэша, обратную связь и подготовку к собеседованиям.

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

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

  • Для денежных ключей map не стоит использовать float: безопаснее хранить сумму в минимальных единицах, например в копейках как int, либо применять отдельную структуру.
  • Нужно уметь объяснить, что ключ map должен быть comparable, как хеширование приводит к бакету, что такое коллизия и зачем при поиске сравнивать фактические ключи.
  • Go-строки неизменяемы; при многократном добавлении фрагментов стоит рассматривать strings.Builder или буфер со slice и заранее резервировать ёмкость, чтобы сократить лишние аллокации.
  • По slice важно знать состав заголовка (указатель, length, capacity), амортизированную стоимость append в конец и необходимость сдвигать элементы при вставке или удалении в начале и середине.
  • При HTTP 500 сначала локализуйте сбой по логам, метрикам и трассировкам: проверьте RPS, отдельные endpoint’ы, память и CPU, сетевую доступность, а также корреляцию ошибки с недавними релизами.
  • Кэш-декоратор должен прозрачно реализовывать тот же интерфейс, различать cache hit и cache miss, учитывать конкурентный доступ к map, ограничение размера и вытеснение редко используемых данных, а также устаревание значений.
  • По мнению интервьюера, лучше готовиться на практических сценариях и регулярно проходить собеседования: это помогает увидеть пробелы в основах Go, алгоритмах, сетях, ОС и наблюдаемости сервисов.

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