wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

1 глава "Паттерны разработки на Python"

Total questions: 24

Worksheet time: 17mins

Name
Class
Date
1.

Основные методологии применяемые для управления сложностью согласно книге "Паттерны разработки на Python"

a)

Test-Driven Development (TDD)

b)

Domain-Driven Design (DDD)

c)

Событийно-управляемые службы

2.

Что такое предметная область (Domain)?

a)

База данных приложения, где хранятся все таблицы и SQL запросы

b)

Набор HTTP-endpoints API сервиса

c)

Своеобразный способ выразить решаемую задачу

d)

Любые Python-библиотеки, которые вы используете в проекте

3.

Для интернет-магазина предметная область это -

a)

Заказ

b)

Товар

c)

Корзина

d)

Мобильное приложение

4.

Модель предметной области (Domain Model),
согласно первой главе "Паттерны разработки на Python", это ?

a)

Ядро приложения, где живут бизнес-правила

b)

Шаблон проектирования, который используется для оптимизации работы с БД и улучшения производительности приложения

c)

Абстракция бизнес-логики и правил, воплощенная в коде без привязки к техническим деталям реализации

d)

Набор алгоритмов машинного обучения, предназначенный для решения поставленной задачи

5.

Как должно быть согласно 1 главе "Моделирование предметной области"?

a)

b)

6.

Чем характеризуется "Объект-значение"?

a)

Нет идентификатора

b)

Неизменяемый, после создания атрибуты не меняются

c)

Должен наследоваться от dataclass или pydantic.BaseModel для удобства

d)

Сравнение по значению работает даже если это разные объекты в памяти

7.

Выберите пример корректного паттерна "Объект-значение"

a)

b)

8.

Определите ВСЕ ошибки, которые сделаны в текущем паттерне "Объект-значение"

a)

Наличие id

b)

Изменяемость

c)

Сравнение по id

d)

Зависимость от dataclass

9.

Сущность (Entity) - это объект предметной области, который?

a)

имеет уникальный идентификатор

b)

не может изменять свое состояние

c)

сравнивается по идентификатору

d)

поведение сущности управляет её состоянием

10.

Найдите пример корректной сущности

a)

b)

c)

11.

На удачу

a)

13

b)

6

c)

8

d)

7

12.

Определите ошибки в данной сущности User

a)

Жёсткая зависимость от БД

b)

Метод изменяет состояние и возвращает данные

c)

Нет уникального id

d)

Сравнение по атрибутам, а не по id

13.

Определите какие ошибки сделаны в сущности Product

a)

Ошибок нет

b)

Нет уникального ID

c)

Прямая зависимость от внешней библиотеки

d)

Сравнение по имени

14.

Что будет являться предметной областью для Банка?

a)

Клиент

b)

Postgres

c)

Перевод

d)

Счет

e)

Docker

15.

О чем говорит DDD (Domain Driven Design)?

a)

Если вы правильно поняли предметную область и выразили в коде, ваше ПО станет полезным инструментом, который решает реальные бизнес-проблемы и открывает новые возможности

b)

Если ваше ПО технически рабочее, оно автоматически приносит пользу бизнесу, даже если модель предметной области неверна или упрощена

c)

Если ваше ПО компилируется, выполняет базовые функции и не падает, этого достаточно для бизнеса

16.

Найдите ВСЕ ошибки для сущности BankAccount

a)

Сравнение не по id

b)

Зависимость от инфраструктуры

c)

Идентичность не по id

d)

Ошибок нет

17.

Чем характеризуются операции службы ?

a)

Не принадлежат ни одной сущности

b)

Не принадлежат ни одному объекту-значению

c)

Координируют работу нескольких объектов

d)

Не имеют состояния

18.

Определите что НЕ является корректной операцией службы

a)

b)

c)

19.

Магические методы в контексте DDD и моделирования предметной области позволяют ?

a)

Использовать операторы +, -, ==

b)

Интегрировать модели со стандартными функциями Python (len(), iter())

c)

Смешивать логику

d)

Сделать код читаемым

20.

Есть ли магический метод в классе Address?

a)

init

b)

str

c)

repr

d)

нет

21.

Найдите магические методы в классе BankAccount

a)

eq

b)

deposit

c)

withdraw

d)

str

e)

len

22.

Почему это исключение является доменным?

a)

Исключение содержит доменные данные

b)

Наследуется от базового класса Exception

c)

Так как вызывается внутри withdraw, который относится к банковской сфере

d)

Сообщение на языке бизнеса

23.

Является ли это исключение доменным?

a)

да

b)

нет

c)

возможно

d)

не знаю

24.

Почему данное исключение не является доменным?

a)

Не относится к бизнес-правилам

b)

Использует технические термины

c)

Не связано с сущностями или бизнес-процессами

d)

Не понятно бизнес-пользователю