Этап 1 из 10

Контейнер и бины

Основа

IoC и внедрение зависимостей, бины и их жизненный цикл, конфигурация и AOP.

Всё в Spring стоит на контейнере: он создаёт объекты-бины, связывает их зависимостями и оборачивает в прокси для транзакций, кэша и безопасности. Половина «магии» Spring и большинство вопросов на собеседованиях объясняются тем, как работает контейнер и прокси.

Темы этапа

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

Смотреть все
Как соотносятся IoC и DI в Spring?Junior

IoC (инверсия управления) — принцип: объекты не создают свои зависимости и не управляют своим жизненным циклом, это делает контейнер. DI (внедрение зависимостей) — конкретный способ IoC: зависимости передаются объекту извне — через конструктор, сеттер или…

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

При нескольких кандидатах — NoUniqueBeanDefinitionException. Решения: @Primary — бин по умолчанию; @Qualifier("имя") — выбрать конкретный в точке внедрения (он сильнее @Primary).

Полный разбор
Какие преимущества у constructor injection по сравнению с field injection? Выберите все верные.Junior

Внедрение через конструктор даёт final-поля, полностью готовый объект сразу после создания, явные зависимости и тесты без Spring — достаточно вызвать конструктор.

Полный разбор
Как внедрить сразу все реализации интерфейса и выбирать нужную в рантайме?Middle

Внедрить List<T> или Map<String, T>: Spring передаст все бины типа. Список — в порядке @Order, карта — с именами бинов в ключах. Нужная стратегия выбирается в рантайме.

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

Разборы темы

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

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

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

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

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