В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
is проверяет идентичность, а не числовое равенство. В CPython малые целые обычно переиспользуются, но поведение за пределами кеша зависит ещё и от компиляции констант; правило «257 всегда разные» неверно.
Разбейте предложение на слова, возьмите первые limit и соедините пробелами. При limit=0 результат пустой; если limit больше числа слов, вернутся все слова.
Ищите первую True в монотонной последовательности версий 1…n. На плохой версии смещайте правую границу влево, на хорошей — левую вправо. Требуется O(log n) вызовов проверки.
Найдите ближайшую запись не позже даты и ближайшую не раньше неё, затем сравните два расстояния. Индекс по datetime позволяет избежать сортировки всей таблицы по вычисляемой разнице.
Функция вернёт True, а не сам элемент 1. Оператор := сохраняет результат predicate(obj), поэтому возвращается булев результат проверки, хотя название функции обещает объект.
Запускайте поиск в глубину из каждой подходящей клетки и отмечайте клетки текущего пути. При возврате снимайте отметку, чтобы другие пути могли их использовать; повтор внутри одного пути запрещён.
Используйте max(numbers, default=None). Встроенная функция вернёт наибольшее значение за один проход, а для пустого списка — явно заданный None без исключения.
Основные риски — отсутствие валидации/timeout, утечка provider response в логи, блокирующая длинная цепочка и неверный MIME. Пустой text приводит к возврату None вместо HTTP-ответа.
Разберите JSON, извлеките dependencies и вызовите функцию загрузки для каждой пары package/version. Не угадывайте сигнатуру загрузчика: передайте его зависимостью с явно оговорённым контрактом.
Для удаления всех пробельных символов используйте ''.join(s.split()). split без аргумента разделяет по последовательностям whitespace, а join объединяет части без разделителя.
Передавайте account.pk, а не экземпляр User. Стандартный JSON-сериализатор Celery не поддерживает ORM-модель; worker должен заново получить пользователя и проверить актуальное состояние.
Программа выведет {1: 'c'}. Ключи 1, 1.0 и True считаются равными и имеют одинаковый хеш; каждая следующая запись перезаписывает значение существующего ключа.