ENIGMA AI
ENIGMA AI

Архитектура Backend и проектирование REST API: вопросы с интервью

Вопросы по технологиям

Разбор сложных вопросов по REST, gRPC и архитектуре бэкенда. Идемпотентность, кэширование и распределенные транзакции для Middle/Senior.

В 2026 году на интервью Middle+ инженеров фокус сместился с простого перечисления методов HTTP на проектирование отказоустойчивых систем. Ожидается знание спецификаций OpenAPI 4.0, понимание разницы между REST и протоколами вроде gRPC или NATS, а также умение решать проблемы согласованности данных в распределенных средах. Средний процент вопросов по архитектуре на секции System Design вырос до 40% от общего объема технического интервью.

Проектирование API: за пределами базовых CRUD

На собеседованиях уровня Senior в 2026 году редко спрашивают разницу между PUT и PATCH. Вместо этого интервьюеры проверяют понимание семантики и пограничных случаев. Один из популярных вопросов — обеспечение идемпотентности для не-идемпотентных методов.

Идемпотентность в распределенных системах

Если клиент отправляет запрос POST на создание заказа, но не получает ответ из-за сетевого сбоя, повторный запрос может привести к дубликату. Стандартное решение — использование Idempotency-Key в заголовках. На стороне сервера необходимо реализовать проверку этого ключа в кэше (например, Redis) перед выполнением бизнес-логики. Срок жизни ключа обычно составляет 24 часа.

Версионирование: стратегии и последствия

В 2026 году индустрия отошла от версионирования через URL (v1/v2) в пользу Header Versioning или Content Negotiation. Это позволяет сохранять чистоту ресурсов, но усложняет кэширование на уровне CDN. При обсуждении этой темы важно упомянуть Sunset Header (RFC 8594), который информирует клиентов о скором выводе версии из эксплуатации.

Кэширование и согласованность

Интервьюеры часто копают вглубь механизмов инвалидации. Основная проблема — Race Condition при обновлении кэша. Стоит разобрать паттерн Cache-Aside и проблемы «собачьей свалки» (Thundering Herd), когда при истечении срока жизни популярного ключа сотни запросов одновременно бьют в базу данных. Решение — использование Soft TTL и вероятностного пересчета или использование блокировок (Distributed Locks).

Сложные вопросы по HTTP/3 и QUIC

Поскольку к 2026 году HTTP/3 стал стандартом де-факто для высоконагруженных систем, на бэкенд-собеседованиях спрашивают, как QUIC решает проблему Head-of-Line Blocking, характерную для TCP. Нужно понимать, что в HTTP/3 потеря одного пакета блокирует только один поток (stream), а не всё соединение целиком, что критично для мобильных сетей и API с большим количеством мелких запросов.

Распределенные транзакции и паттерн Saga

Когда REST-запрос затрагивает несколько микросервисов, классический ACID не работает. На собеседованиях ждут разбора паттерна Saga. Существует два подхода: Оркестрация (центральный контроллер) и Хореография (событийная модель). Для уровня Senior важно уметь объяснить, как реализовывать компенсирующие транзакции: что делать, если третий сервис в цепочке упал, а первые два уже зафиксировали изменения. Нужно упомянуть, что компенсация — это не «откат» (rollback) в понимании БД, а новая «отменяющая» операция в бизнес-логике.

Безопасность API: OAuth 2.1 и современные угрозы

В 2026 году стандарт OAuth 2.1 объединил лучшие практики. На интервью могут спросить про отказ от Implicit Flow в пользу PKCE (Proof Key for Code Exchange) даже для серверных приложений. Также актуальна тема Rate Limiting: не просто ограничение по IP, а использование алгоритмов Token Bucket или Leaky Bucket с привязкой к Tier пользователя или конкретному API-ключу.

Производительность: JSON против бинарных форматов

REST традиционно ассоциируется с JSON, но для внутренних коммуникаций в 2026 году чаще обсуждают gRPC или Avro. Если на интервью просят сравнить их, делайте упор на стоимость сериализации. JSON — текстовый формат, его парсинг нагружает CPU. Бинарные форматы экономят до 30-50% ресурсов процессора и до 40% сетевого трафика за счет отсутствия повторяющихся ключей в каждом сообщении.

Часто задаваемые вопросы

Собеседование в Яндекс

Узнайте, какие вопросы по backend задают в Яндексе

Читать подробнее