Встречается на собеседованиях • сегодня
Работал ли с Dependency Injection
Да, работал. Dependency Injection (DI) — это паттерн проектирования, который позволяет внедрять зависимости в класс извне, а не создавать их внутри. Это делает код более гибким, тестируемым и поддерживаемым.
В Python DI можно реализовать вручную или с помощью библиотек (например, injector, dependency-injector).
Пример ручной реализации:
python
class Database:
def query(self, sql):
print(f"Executing: {sql}")
class UserService:
def __init__(self, db):
self.db = db # Внедрение зависимости через конструктор
db = Database()
service = UserService(db) # DI в действии
service.db.query("SELECT * FROM users")С библиотекой dependency-injector:
python
from dependency_injector import containers, providers
class Container(containers.DeclarativeContainer):
db = providers.Singleton(Database)
user_service = providers.Factory(UserService, db=db)
container = Container()
service = container.user_service()DI особенно полезен в тестировании (можно подменять зависимости на mock/stub) и в сложных приложениях с множеством компонентов.

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