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

Как устроен контекстный менеджер изнутри? Что происходит с исключением внутри блока with и как бы вы написали менеджер, который управляет транзакцией в базе?

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

Как подойти

Проверяют, понимаете ли вы протокол контекстного менеджера: как with вызывает __enter__ и __exit__, как через __exit__ проходит и подавляется исключение. Второе: умеете ли вы применить это к реальной задаче — транзакции с commit/rollback, вложенности и async.

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

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

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

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

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