Суммарное время просмотра фильмов с устройств smart_tv
Соедините события просмотра с devices, отфильтруйте тип smart_tv и сгруппируйте по user_id и movie_id. SUM(duration_sec) даст суммарные секунды просмотра для каждой пары.
Читать ответПодготовка к интервью
3221 вопрос в категории «Лайвкодинг»
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Каталог
Соедините события просмотра с devices, отфильтруйте тип smart_tv и сгруппируйте по user_id и movie_id. SUM(duration_sec) даст суммарные секунды просмотра для каждой пары.
Читать ответДостаточно пройти матрицу сверху вниз, сдвигая указатель столбца только влево при встрече единиц. Для примера результат 4; сложность O(строки + столбцы), для квадратной матрицы — O(N).
Читать ответСоедините Orders с Customers по CustomerID и выберите CustomerName, OrderDate. При INNER JOIN в приведённых данных останется только заказ клиента 2, поскольку клиентов 37 и 77 нет.
Читать ответРазберите текст на слова один раз, затем отдельно вычисляйте максимум длины, частоты, пунктуацию и палиндромы. Заранее задайте правила регистра, повторов и того, что считается специальным символом.
Читать ответЕсли вертикальная ось существует, её удвоенная координата равна min(x) + max(x). Для каждой точки (x,y) проверьте отражение (sum_x-x,y), сохраняя кратность совпадающих точек.
Читать ответРекурсивно суммируйте вложенные списки, а числовые листья добавляйте напрямую. Однако произвольная глубина ограничена стеком Python: для очень глубокой структуры нужен итеративный обход.
Читать ответВ __exit__ возвращайте True только тогда, когда тип возникшего исключения входит в заданные классы или наследуется от них. Возврат False оставляет исключение неподавленным.
Читать ответХраните счётчик в замыкании и увеличивайте его через nonlocal при каждом вызове. Фабрика позволяет создать несколько независимых функций-счётчиков без глобального состояния.
Читать ответОберните метод функцией с *args/**kwargs, напечатайте func.__name__ и верните результат оригинала. self будет обычным первым аргументом, поэтому декоратор подходит разным классам.
Читать ответbook_id=book.id правильно привязывает обложку к созданной книге. Нужно исключить дублирующее поле связи в cover, не мутировать validate_data и объединить создание всех записей транзакцией.
Читать ответДобавьте annotate(post_count=Count('posts', distinct=True)), затем filter(post_count__gt=10). Так подсчёт и фильтрация выполняются в БД, а в шаблон передаётся готовый QuerySet.
Читать ответВсе три проверки напечатают True. Но поиск в генераторе потребляет его элементы: после нахождения 3 следующий next(z) вернёт 4, тогда как список и множество остаются неизменными.
Читать ответ