📝 Задания — Урок 36

← К оглавлению урока

⚡ О заданиях

24 вопроса из лекции по трём темам: мягкое удаление (3 вопроса), ленивая загрузка (8 вопросов), транзакции (11 вопросов). Смотри ответы в Решениях.

Блок 1: Мягкое удаление

Вопрос 1

Какие поля модели принято использовать для указания мягкого удаления записи?

  1. is_deleted
  2. deleted_at
  3. deleted_flag
  4. removed

Вопрос 2

Какой метод модели переопределяется для реализации мягкого удаления?

  1. save
  2. update
  3. delete
  4. remove

Вопрос 3

Какой класс наследуется для изменения управления запросами в модели?

  1. models.QuerySetManager
  2. models.SoftDeleteManager
  3. models.DeleteManager
  4. models.Manager

Блок 2: Ленивая загрузка

Вопрос 4

Какой атрибут в настройках Django включает отладочный режим, позволяющий видеть SQL-запросы в консоли?

  1. LOGGING
  2. DEBUG
  3. DEBUG_SQL
  4. LOG_LEVEL

Вопрос 5

Что означает термин «ленивая загрузка» (lazy loading) в контексте Django ORM?

  1. Автоматическое выполнение запросов к базе данных при старте приложения
  2. Задержка выполнения запросов к базе данных до момента, когда данные действительно понадобятся
  3. Постоянное выполнение запросов к базе данных при каждом доступе к модели
  4. Выполнение запросов к базе данных только во время миграций

Вопрос 6

Какой метод используется для предварительной загрузки связанных объектов с использованием SQL JOIN?

  1. filter_related
  2. select_related
  3. join_related
  4. prefetch_related

Вопрос 7

Какой метод используется для предварительной загрузки связанных объектов с использованием отдельных запросов?

  1. filter_related
  2. select_related
  3. join_related
  4. prefetch_related

Вопрос 8

Что произойдёт при попытке доступа к данным, если QuerySet ещё не был выполнен?

  1. Данные будут доступны немедленно
  2. Произойдёт ошибка выполнения
  3. Будет выполнен фактический запрос к базе данных
  4. Данные будут кешированы без выполнения запроса

Вопрос 9

Какой метод следует использовать для оптимизации запросов при доступе к ManyToManyField или обратным отношениям?

  1. select_related
  2. prefetch_related
  3. filter_related
  4. join_related

Вопрос 10

Какой класс используется для записи логов в файл в настройках логирования Django?

  1. FileLogHandler
  2. StreamLogHandler
  3. FileHandler
  4. StreamHandler

Вопрос 11

Какой уровень логирования следует использовать для записи всех SQL-запросов?

  1. INFO
  2. DEBUG
  3. WARNING
  4. ERROR

Блок 3: Транзакции

Вопрос 12

Какой принцип транзакции обеспечивает, что все операции внутри транзакции будут выполнены полностью или не будут выполнены вообще?

  1. Консистентность
  2. Атомарность
  3. Изолированность
  4. Долговечность

Вопрос 13

Какой декоратор используется для обеспечения атомарности в Django?

  1. @atomic
  2. @transaction
  3. @transaction.atomic
  4. @db.atomic

Вопрос 14

Что делает функция transaction.set_rollback(True)?

  1. Фиксирует текущую транзакцию
  2. Откатывает текущую транзакцию
  3. Переводит транзакцию в режим автокоммита
  4. Регулярно сохраняет транзакцию

Вопрос 15

Какой метод Django используется для выполнения кода после успешной фиксации транзакции?

  1. transaction.after_commit()
  2. transaction.post_commit()
  3. transaction.on_success()
  4. transaction.on_commit()

Вопрос 16

В каком случае следует использовать transaction.atomic как контекстный менеджер?

  1. Когда нужно управлять транзакцией для нескольких независимых операций
  2. Когда необходимо откатить транзакцию сразу после ошибки
  3. Когда требуется выделить конкретный блок кода для транзакции
  4. Когда необходимо автоматически коммитить изменения после каждой операции

Вопрос 17

Какой метод используется для отключения автокоммита в Django?

  1. transaction.set_autocommit(False)
  2. transaction.enable_autocommit(False)
  3. transaction.disable_autocommit()
  4. transaction.stop_autocommit()

Вопрос 18

Что произойдёт, если во время выполнения кода внутри transaction.atomic() возникнет исключение?

  1. Транзакция будет выполнена
  2. Транзакция останется в подвешенном состоянии
  3. Транзакция будет откатана
  4. Исключение будет проигнорировано, и выполнение продолжится

Вопрос 19

Какой метод используется для явной фиксации транзакции?

  1. transaction.complete()
  2. transaction.confirm()
  3. transaction.commit()
  4. transaction.finish()

Вопрос 20

Какой принцип транзакций обеспечивает, что результаты завершённой транзакции сохраняются даже при сбоях системы?

  1. Атомарность
  2. Консистентность
  3. Изолированность
  4. Долговечность

Вопрос 21

Какое исключение выбрасывается при нарушении целостности данных в Django?

  1. IntegrityError
  2. DataError
  3. TransactionError
  4. ConsistencyError

Вопрос 22

Какой модуль в Django используется для управления транзакциями?

  1. django.db.models
  2. django.db.transactions
  3. django.transaction
  4. django.db.transaction

→ Смотреть решения