Встречается на собеседованиях • сегодня
Разбирался ли с циклическими зависимостями
Циклические зависимости возникают, когда два или более класса зависят друг от друга напрямую или через цепочку зависимостей. В Java это может привести к проблемам при компиляции, загрузке классов или создании объектов (например, StackOverflowError).
Пример циклической зависимости:
java
class A {
private B b;
public A(B b) { this.b = b; }
}
class B {
private A a;
public B(A a) { this.a = a; }
}Способы решения:
- Использовать Dependency Injection (например, через Spring)
- Применять интерфейсы вместо конкретных классов
- Ленивую инициализацию (через @Lazy в Spring)
- Рефакторинг - вынести общую логику в третий класс
В Spring циклические зависимости можно разрешить через:
- Конструкторную инъекцию с @Lazy
- Сеттерную инъекцию вместо конструкторной
- Использование @PostConstruct

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы