обеспечить вызов end() в функции g()
Поместите yield в try/finally и вызывайте end() в finally. Это обеспечивает очистку при исчерпании или закрытии начатого генератора, но не гарантирует мгновенное закрытие брошенного генератора.
Читать ответПодготовка к интервью
3221 вопрос в категории «Лайвкодинг»
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Каталог
Поместите yield в try/finally и вызывайте end() в finally. Это обеспечивает очистку при исчерпании или закрытии начатого генератора, но не гарантирует мгновенное закрытие брошенного генератора.
Читать ответСгруппируйте объекты a по code, затем обходите b и выдавайте группу только при первом появлении кода. Так сохранятся все подходящие объекты из a.
Читать ответДвигайтесь по двум RLE-потокам одновременно. На каждом шаге берите меньшую оставшуюся длину серии и добавляйте value1 × value2 × длина к результату.
Читать ответСумма перевода и комиссия должны фиксироваться одной транзакцией с идемпотентностью и проверкой средств. Сначала уточните, добавляется комиссия сверху или удерживается из суммы получателя.
Читать ответГенератор нельзя индексировать, его truthiness не проверяет наличие элементов, а predicate должен получать obj, не object. Проще вернуть первый подходящий элемент через next.
Читать ответАналог range(stop) можно реализовать генератором с while: выдавать числа от нуля, пока текущее значение меньше stop. Для отрицательного stop результат пуст.
Читать ответИспользуйте рекурсивный CTE. Для выбранных полей UNION удаляет повторные строки и не даёт одному циклу бесконечно добавлять те же узлы.
Читать ответОтделите источник команд от их обработки: функция должна принимать iterable, а тест передавать генератор с корректными, ошибочными командами и завершением.
Читать ответПри запуске файла как программы будут выведены Meta и True. Метакласс добавляет created_by при создании и Base, и Child.
Читать ответИспользуйте два множества: seen для встреченных строк и reported для уже выданных повторов. Это позволяет вернуть каждую повторяющуюся строку один раз без Counter.
Читать ответСгруппируйте транзакции по user_id, отсортируйте количество по убыванию и выберите первые пять. Для воспроизводимости добавьте сортировку по user_id при равенстве.
Читать ответСтоимость заказа — 17 400 ₽, после списания 3 333 баллов при курсе 1 балл = 1 ₽ к оплате 14 067 ₽. Размер новых бонусов зависит от согласованной базы начисления.
Читать ответ