Подготовка к интервью

Вопросы на собеседовании в Мвидео

264 вопроса с собеседований в Мвидео

264 вопроса 1634 компании 353 технологии

Что проверяют на интервью

Как устроена подборка

Подборка объединяет вопросы, отмеченные на этапах интервью в Мвидео. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: go, database, backend.

Каталог

Результаты поиска

Найдено: 264
Лайвкодинг

Задача: реализация Outbox pattern — добавить колонки в таблицу и описать запросы для системы с несколькими воркерами, гарантией уникальной обработки и повторной обработкой при ошибке

Стейт-машина (State Machine) — это модель, которая описывает систему через набор состояний и переходов между ними.

Читать ответ
Теория

Как можно наладить блокировки в запросе? Расскажи про виды блокировок (пессимистичные, оптимистичные, advisory locks).

Advisory lock (рекомендательная блокировка) — это механизм блокировки, который не навязывается системой автоматически, а используется по соглашению между процессами.

Читать ответ
Теория

Какие типы памяти есть в Go? Чем отличается стек от кучи (heap)?

В Go компилятор автоматически решает, где выделять память — в стеке или куче — на основе анализа жизненного цикла переменных (escape analysis).

Читать ответ
Теория

Расскажи про какую-нибудь интересную задачу из последнего, что тебе понравилось делать.

Одна из интересных инженерных задач, с которой я сталкивался в Golang, была связана с оптимизацией высоконагруженного сервиса для обработки потоковых данных.

Читать ответ
Теория

Что произойдёт со slice при передаче в функцию, добавлении элемента и изменении существующего?

В Go слайс (slice) передаётся в функцию по значению, но сам слайс — это структура, содержащая указатель на массив, длину и ёмкость. При передаче копируется именно эта структура, а не данные массива.

Читать ответ
Теория

Работали ли вы с задачами, описанными на бизнес-уровне без детальной проработки?

При работе с невнятными бизнес-требованиями важно наладить коммуникацию с заказчиком или бизнес-аналитиком для уточнения целей и контекста задачи. Часто я использую следующие подходы:

Читать ответ
Теория

Есть функция `unpredictableFunc()`, нужно обернуть её так, чтобы она выполнялась с таймаутом (например, 1 секунда), и логировалось время выполнения.

Ниже пример функции-обёртки в Go, которая запускает переданную функцию с таймаутом 1 секунду, измеряет время выполнения и возвращает ошибку, если время вышло:

Читать ответ