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

Вопросы на собеседовании в 2ГИС

199 вопросов с собеседований в 2ГИС

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

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

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

Подборка объединяет вопросы, отмеченные на этапах интервью в 2ГИС. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: api, backend, microservices.

Каталог

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

Найдено: 199
Теория

Как работает механизм SO_REUSEPORT на уровне сокетов Linux и как он позволяет процессам слушать один и тот же порт без блокировок?

SO_REUSEPORT позволяет нескольким сокетам привязаться к одному адресу и порту при соблюдении условий Linux. Ядро распределяет входящие соединения между отдельными слушателями, уменьшая конкуренцию за общий accept.

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

В чем разница между балансировкой трафика на уровнях L4 (TCP) и L7 (HTTP) модели OSI? Какой инструмент выбрать для WebSocket?

L4 распределяет соединения по сетевым параметрам, а L7 понимает прикладной протокол и может маршрутизировать HTTP по пути или заголовкам. Для WebSocket подходят оба уровня при правильной поддержке соединений.

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

Что такое OOM Killer, по какому принципу он рассчитывает oom_score и как защитить Python-процесс от принудительного уничтожения?

OOM Killer выбирает процесс для завершения при нехватке доступной памяти; учитываются потребление и oom_score_adj. Защита начинается с ограниченного расхода памяти, а не с запрета убивать процесс.

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

Что такое операции Zero-Copy (системный вызов sendfile) и как передать файл в сокет, минуя копирование в пользовательское пространство приложения?

sendfile передаёт данные между файловыми дескрипторами внутри ядра, избегая промежуточного read/write через пользовательский буфер. Это уменьшает копирование и число переходов между приложением и ядром.

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

Что такое TCP Slow Start и почему для межсервисного взаимодействия внутри ЦОД критично держать пул постоянных соединений (Keep-Alive)?

TCP Slow Start постепенно увеличивает окно перегрузки, чтобы не перегрузить сеть. Переиспользование соединений уменьшает затраты на новые TCP/TLS-handshake и повторный разгон передачи.

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

Как устроен механизм виртуальной памяти в Linux и чем Major Page Fault отличается от Minor Page Fault?

Виртуальная память отображает адресное пространство процесса на физические страницы и другие backing-объекты. Minor fault обрабатывается без загрузки страницы с диска, major fault требует соответствующего I/O.

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

Что происходит на уровне ядра Linux при вызове fork() процессами [компания/сервис] и как работает механизм Copy-on-Write?

fork создаёт дочерний процесс с отдельным адресным пространством, логически копирующим родителя. Linux использует copy-on-write: физические страницы сначала разделяются, а копирование происходит при записи.

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

В чем разница между алгоритмом Нагла (TCP_NODELAY) и TCP_CORK на уровне буферизации сетевых пакетов ядра?

TCP_NODELAY отключает алгоритм Нагла и уменьшает ожидание небольших записей. TCP_CORK, напротив, просит Linux удерживать неполные сегменты, чтобы собрать более крупную отправку.

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

Что такое проблема TIME_WAIT-сокетов в Linux и как бэкенд под высокой нагрузкой может полностью исчерпать эфемерные порты?

TIME_WAIT удерживает состояние закрытого TCP-соединения для корректного завершения и защиты от старых сегментов. Частое создание исходящих соединений к одному адресу может исчерпать доступные пары портов.

Читать ответ
Поведенческий

В каком виде обычно приходят задачи — подробное ТЗ или нет?

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

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

Как на практике заставить модель в конкретном поле генерировать только значения из заданного короткого списка строковых ID и никаких других символов?

Задайте поле как enum в поддерживаемой схеме или используйте constrained decoding, ограничивающий допустимые токены. Затем всё равно валидируйте результат и принадлежность ID списку на backend.

Читать ответ