Этап 4 из 15 · ≈ 6 ч

gRPC, GraphQL, WebSocket и вебхуки

Полезно знать с Middle

Когда REST не лучший выбор — межсервисное взаимодействие, гибкие запросы, реальное время.

стилькогда
RESTпубличные API, простота, кэширование HTTP
gRPCвзаимодействие сервисов: строгий контракт, бинарный формат, потоки
GraphQLклиенты сами выбирают поля: мобильные и сложные интерфейсы
WebSocket, SSEобновления в реальном времени
вебхукиуведомить внешнюю систему о событии

Что важно знать

  • gRPC работает поверх HTTP/2, контракт в protobuf, генерация кода.
  • GraphQL переносит сложность на сервер: N+1, ограничение тяжёлых запросов, кэширование.
  • Вебхуки: подпись запросов, повторы, идемпотентный приём.

Критерии освоения

Middle ≈ 6 ч

  • Выбирает стиль API под задачу — REST, gRPC, GraphQL, WebSocket, вебхуки — и обосновывает
  • Реализует gRPC-сервис с protobuf-контрактом

Практика. Реализовать один и тот же сервис в REST и gRPC и сравнить размер сообщений, задержку и удобство эволюции контракта.

Проверка знаний

Войдите, чтобы пройти тест: сданный тест отмечает тему пройденной на карте и в ИПР.

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

Смотреть все
Для чего предназначен Spring Batch?Junior

Пакетная обработка больших объёмов: импорт и выгрузка файлов, перерасчёты, рассылки — чтение, преобразование и запись порциями с сохранением прогресса и перезапуском с места сбоя.

Полный разбор
Как устроена chunk-ориентированная обработка в Spring Batch и что она даёт?Middle

Chunk — порция: прочитать N записей по одной, обработать, записать пачкой в одной транзакции. Память ограничена размером чанка, а после сбоя задание продолжается с последнего закоммиченного чанка.

Полный разбор
Что такое Spring Batch и из каких основных частей состоит batch job?Senior

Spring Batch — фреймворк для пакетной обработки больших объёмов: Job состоит из Step, шаг обычно chunk-ориентированный — ItemReader → ItemProcessor → ItemWriter пачками с коммитом на каждую пачку.

Полный разбор
Когда полезен Spring Integration?Senior

Spring Integration — реализация Enterprise Integration Patterns: сообщения проходят через каналы и конечные точки (маршрутизаторы, преобразователи, фильтры, разделители, агрегаторы), адаптеры подключают внешние системы — файлы, FTP, почту, JMS, Kafka, HTTP.

Полный разбор
Какие основные backend-риски у GraphQL?Senior

Клиент сам составляет запрос, поэтому риски на бэкенде: N+1 в резолверах, дорогие и глубокие запросы (DoS одним запросом), сложное кэширование (всё через POST на один URL), авторизация на уровне полей.

Полный разбор
Какой вопрос лучше всего определяет выбор между синхронным вызовом и событием через брокер?Middle

Главный вопрос: нужен ли ответ немедленно, чтобы продолжить? Нужен — синхронный вызов (REST, gRPC). Не нужен — событие через брокер.

Полный разбор
Какие HTTP-методы идемпотентны?Middle

Идемпотентны GET, HEAD, OPTIONS, PUT, DELETE: повтор запроса оставляет сервер в том же состоянии. POST и обычно PATCH — нет.

Полный разбор
Какие изменения REST API обратно совместимы для существующих клиентов?Middle

Добавлять можно (новое необязательное поле в ответе, новый эндпоинт, новый необязательный параметр); удалять, переименовывать, менять тип и ужесточать — нельзя.

Полный разбор

Разборы темы

← Вся карта «Backend-разработчик»

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования