Ctrl K
Python · Middle · Теория

Нужно гарантированно освобождать ресурс — например, блокировку или временную директорию — даже если код внутри упал с исключением. Как вы реализуете свой контекстный менеджер и чем отличаются способы это сделать?

~4 мин голосом

Как подойти

Проверяют, понимает ли кандидат протокол контекстного менеджера на уровне механики: когда и с какими аргументами вызывается __exit__, как работает подавление исключений и почему генераторный вариант через contextmanager без try/finally не освобождает ресурс при ошибке.

Встречал этот вопрос на настоящем собесе?
Ответов0
Средний балл—
Сильных—
Тренировали0
Темы
Похожие вопросыЧто такое контекстный менеджер и как работает конструкция with? Как сделать свой контекстный менеджер? JuniorКак устроен контекстный менеджер изнутри? Что происходит с исключением внутри блока with и как бы вы написали менеджер, который управляет транзакцией в базе? Senior

Ответь голосом

Интервьюер задаст этот вопрос и послушает. Думай вслух, проси подсказку, если нужно. Закончил — пауза или «Я ответил», через минуту здесь балл и какие пункты закрыты.

Войти, чтобы ответить

Лучше в наушниках · ~4 мин