Слияние двух упорядоченных массивов разными подходами
Оптимально сливать массивы двумя указателями за O(n+m), каждый раз выбирая меньший текущий элемент. Повторы сохраняются. Альтернативы — sorted(a+b) и ленивый heapq.merge.
Читать ответПодготовка к интервью
3221 вопрос в категории «Лайвкодинг»
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Каталог
Оптимально сливать массивы двумя указателями за O(n+m), каждый раз выбирая меньший текущий элемент. Повторы сохраняются. Альтернативы — sorted(a+b) и ленивый heapq.merge.
Читать ответФрагмент корректен и при запуске как основной скрипт печатает False. result_tuple — кортеж из одного числа, а не int; подчёркивания в литерале служат разделителями для читаемости.
Читать ответnonlocal связывает value во вложенной функции с переменной ближайшей внешней функции. Здесь такое имя существует, поэтому объявление корректно; вызов func4 внутри func3 напечатает 1.
Читать ответПоказанный фрагмент не выполняет ни одного SQL-запроса. all() и filter() только создают ленивые QuerySet; чтение БД начнётся при их вычислении.
Читать ответСначала исправьте запрос и добавьте индекс по likes.post_id. Для одного поста коррелированный COUNT не обязательно хуже JOIN; точное число лайков всё равно требует обработки соответствующих записей.
Читать ответПо моментам отправки и ответа нельзя точно восстановить ожидание в очереди. Примеры считают включительные пересечения секунд, а не физическую задержку; этот условный показатель можно вычислить отдельно.
Читать ответPurchase с двумя ForeignKey и quantity фиксирует покупку товара клиентом. Исправьте базовый класс на models.Model, задайте параметры DecimalField и ограничьте quantity значениями не меньше 1.
Читать ответЦикл напечатает 1, 2, 3 и 4, каждое число на новой строке. Для idx == 0 оператор continue пропускает оставшуюся часть текущей итерации, включая print.
Читать ответПри обычном запуске возникнет AttributeError: self.__mangled превращается в self._MangledGlobal__mangled, но такого атрибута экземпляра или класса нет. Одноимённая глобальная переменная не используется.
Читать ответЕсли нужен одинаковый статус всем товарам и не требуется логика save/сигналов, используйте Product.objects.update(status='new'). Это один UPDATE вместо чтения объектов и отдельного UPDATE для каждого.
Читать ответИспользуйте WHERE Company_Size > 100. Строгое сравнение исключает компании с ровно 100 сотрудниками; строки с NULL в Company_Size также не попадут в результат.
Читать ответСделайте фабрику декоратора с единицей времени и измеряйте интервал через time.perf_counter(). Для миллисекунд умножайте секунды на 1000; finally позволит записать длительность и при исключении.
Читать ответ