В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Создайте отдельный словарь в замыкании декоратора и сохраняйте результат по ключу аргументов. Проверка наличия ключа, а не истинности результата, позволяет кешировать None, 0 и False.
Достаточно двух наименьших и двух наибольших элементов. Минимум произведений этих пар и пары минимум × максимум учитывает положительные, отрицательные числа и нули.
Код напечатает 5.0, затем «Успешно выполнено» и «Завершено». Исключения нет, поэтому except пропускается, else выполняется, а finally завершается последним.
Обойдите матрицу: каждая ещё не посещённая ячейка начинает новую область. Flood fill отмечает всех её соседей с тем же значением; диагонали не учитываются.
Храните этаж и состояние дверей в объекте лифта, а разбор команд отделите от изменения состояния. Диапазон этажей и начальное положение передавайте параметрами.
Поставьте указатели на крайние линии, вычисляйте площадь и двигайте указатель у меньшей высоты. Так находится максимум за O(n) времени и O(1) дополнительной памяти.
Верните из add(a) функцию, которая принимает b и использует a из замыкания. Вызов add(a)(b) вычислит a + b; промежуточную функцию можно переиспользовать.
Код содержит синтаксическую ошибку в if. По замыслу он ищет минимальную подстроку s, содержащую все различные символы a; кратность символов в a через set теряется.
Исправьте изменяемый аргумент по умолчанию, проверьте блокирующий API-вызов и разделите ошибки клиента и отдельного заказа. Повторный импорт должен быть идемпотентным.
Зафиксируйте длину текущего валидного окна как кандидата на максимум, затем продолжите движение правой границы. Считать ответ до восстановления инварианта нельзя.
Перевод небезопасен: SQL строится интерполяцией, деньги представлены float, а списание и зачисление не объединены в транзакцию. Параллельные запросы могут нарушить баланс.
TTL-кеш хранит результат и время истечения для каждого ключа аргументов. При повторном вызове до истечения возвращается кеш, после — функция вычисляется заново.