Встречается на собеседованиях • сегодня

Что такое циркулярная зависимость

Циркулярная зависимость (circular dependency) возникает, когда два или более модуля зависят друг от друга напрямую или через цепочку других модулей. Это создает бесконечный цикл импортов, что может привести к ошибкам во время выполнения или импорта.

Пример:

python
# module_a.py
from module_b import func_b
def func_a():
    return func_b()

# module_b.py
from module_a import func_a
def func_b():
    return func_a()

Как избежать:

  1. Реорганизовать код, вынеся общую логику в третий модуль
  2. Использовать ленивые импорты (импортировать внутри функций)
  3. Применять внедрение зависимостей (Dependency Injection)
  4. Использовать интерфейсы или абстрактные классы

Циркулярные зависимости усложняют поддержку кода и тестирование, поэтому их стоит избегать на этапе проектирования архитектуры.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы