Этап 10 из 10 · ≈ 6 ч

Spring Batch и Integration

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

Пакетная обработка данных и интеграционные шаблоны.

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

  • Job, Step, чанки: чтение → обработка → запись пачками.
  • Перезапуск с места остановки, пропуск и повтор ошибок.
  • Spring Integration — шаблоны корпоративной интеграции.

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

Middle ≈ 6 ч

  • Строит пакетную обработку на Spring Batch с чанками, повторами и перезапуском

Практика. Реализовать импорт большого CSV в базу на Spring Batch с пропуском ошибочных строк и перезапуском с места падения.

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

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

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

Смотреть все
Для чего предназначен 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), авторизация на уровне полей.

Полный разбор
Какую задачу решает Spring Cloud Stream?Junior

Абстракция над брокерами: обработчик — обычная функция (Function, Consumer, Supplier), а связь с Kafka или RabbitMQ задаётся настройками через binder.

Полный разбор
Что делает аннотация @KafkaListener?Junior

@KafkaListener(topics = "orders", groupId = "billing") объявляет обработчик: цикл poll(), десериализацию, вызов метода и коммит offset берёт на себя контейнер Spring Kafka.

Полный разбор
Что означает подтверждение (ack) сообщения в RabbitMQ?Junior

Ack — сигнал брокеру, что сообщение обработано: до него сообщение считается невыполненным и при обрыве соединения вернётся в очередь другому потребителю.

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

Разборы темы

← Вся карта «Spring»

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

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

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

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