Обзор встроенных декораторов в Python‑классе
classmethod получает класс, staticmethod не получает скрытого аргумента, а property читается как атрибут экземпляра. В примере prop имеет лишний параметр a и ошибочно вызывается со скобками.
Читать ответПодготовка к интервью
3221 вопрос в категории «Лайвкодинг»
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Каталог
classmethod получает класс, staticmethod не получает скрытого аргумента, а property читается как атрибут экземпляра. В примере prop имеет лишний параметр a и ошибочно вызывается со скобками.
Читать ответОтфильтруйте события add_to_cart и сгруппируйте их по user_id. В HAVING потребуйте хотя бы одно добавление каждого товара 101 и 102 и ни одного добавления 104.
Читать ответХраните три независимых списка ящиков и реализуйте __iter__ как генератор, последовательно выдающий предметы из каждого. Каждый новый обход получит собственный итератор.
Читать ответПосле разделительной линии будет один SELECT: он выполняется при list(qs). Создание QuerySet и вызов filter без использования результата сами по себе запросов не выполняют.
Читать ответПорядок 1, 3, 2 возможен только после исправления return data или определения data. В показанном фрагменте data не определена: после первого ожидания печатается 1 и возникает NameError.
Читать ответЕсли level — ForeignKey или OneToOneField курса, задайте queryset = Course.objects.select_related('level').all(). Это загрузит связанные уровни без дополнительного запроса на каждый курс.
Читать ответХраните результаты в словаре по ключу из аргументов и используйте wraps для сохранения метаданных функции. Простой вариант требует хешируемых аргументов и подходит для чистых синхронных функций.
Читать ответСоздайте customers первой, затем purchases с customer_id INTEGER NOT NULL REFERENCES customers(id). Первичные ключи SERIAL обеспечат автогенерацию идентификаторов в PostgreSQL.
Читать ответСравнивайте символы двумя индексами от краёв к центру. При первом различии верните False; если индексы встретились, строка — палиндром. Дополнительная память O(1).
Читать ответНакопите счётчики в словаре за один проход: для каждого числа увеличивайте значение по его ключу. Это даёт ожидаемое время O(n) и память O(k) для k уникальных чисел.
Читать ответСравнивайте строки посимвольно до первого несовпадения, ограничившись длиной самой короткой строки. Для пустого массива результатом будет пустая строка.
Читать ответДобавляйте элементы во входной стек. Когда выходной пуст, переложите туда весь входной стек: порядок развернётся, и первым окажется самый старый элемент. Операции амортизированно O(1).
Читать ответ