Какой самый классный проект или фича, которой вы гордитесь?
Один из самых запоминающихся челленджей в Golang — разработка высоконагруженного сервиса обработки потоков данных с минимальной задержкой.
Читать ответПодготовка к интервью
264 вопроса с собеседований в Мвидео
Что проверяют на интервью
Подборка объединяет вопросы, отмеченные на этапах интервью в Мвидео. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: go, database, backend.
Каталог
Один из самых запоминающихся челленджей в Golang — разработка высоконагруженного сервиса обработки потоков данных с минимальной задержкой.
Читать ответСтейт-машина (State Machine) — это модель, которая описывает систему через набор состояний и переходов между ними.
Читать ответВ нашей команде по разработке на Go практикуются следующие подходы:
Читать ответВ Kafka данные передаются в виде событий (сообщений), которые публикуются в топики.
Читать ответAdvisory lock (рекомендательная блокировка) — это механизм блокировки, который не навязывается системой автоматически, а используется по соглашению между процессами.
Читать ответВ Go компилятор автоматически решает, где выделять память — в стеке или куче — на основе анализа жизненного цикла переменных (escape analysis).
Читать ответВ одном из проектов на Go я использовал паттерн Chain of Responsibility для обработки HTTP-запросов с разными уровнями валидации и авторизации.
Читать ответВ нашей команде архитектурой обычно занимается старший разработчик или технический лидер (Tech Lead).
Читать ответОдна из интересных инженерных задач, с которой я сталкивался в Golang, была связана с оптимизацией высоконагруженного сервиса для обработки потоковых данных.
Читать ответВ Go слайс (slice) передаётся в функцию по значению, но сам слайс — это структура, содержащая указатель на массив, длину и ёмкость. При передаче копируется именно эта структура, а не данные массива.
Читать ответПри работе с невнятными бизнес-требованиями важно наладить коммуникацию с заказчиком или бизнес-аналитиком для уточнения целей и контекста задачи. Часто я использую следующие подходы:
Читать ответНиже пример функции-обёртки в Go, которая запускает переданную функцию с таймаутом 1 секунду, измеряет время выполнения и возвращает ошибку, если время вышло:
Читать ответ