wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Кодирование и эволюция

Total questions: 44

Worksheet time: 29mins

Name
Class
Date
1.

Чем характеризуется поэтапное развертывание (staged rollout)?

a)

Новая версия развертывается на нескольких узлах и проверяется, работает ли она без проблем

b)

Новая версия развертывается на всех узлах и проверяется, работает ли она без проблем

c)

Постепенно обходятся все узлы

d)

Нет простоя сервиса

2.

Могут ли сосуществовать в системе в один и тот же момент времени старые и новые версии кода, форматы?

a)

Могут

b)

Не могут

3.

Обратная совместимость это - ?

a)

Новый код способен читать данные, записанные более старым кодом

b)

Старый код способен читать данные записанные более новым кодом

c)

Новый код не способен читать данные, записанные более старым кодом

d)

Старый код не способен читать данные записанные более новым кодом

4.

Прямая совместимость - это ?

a)

Старый код не способен читать данные записанные более новым кодом

b)

Новый код способен читать данные записанные более старым кодом

c)

Старый код способен читать данные записанные более новым кодом

d)

Новый код не способен читать данные записанные более старым кодом

5.

Чего добиться сложнее?

a)

Обратной совместимости

b)

Прямой совместимости

c)

Ничего, все возможно

6.

С какими представлениями данных обычно имеют дело программы (в рамках 4 главы)?

a)

Хеш-таблица

b)

Структура

c)

Дерево

d)

Последовательность байтов

7.

Что такое кодирование (encoding) в рамках 4 главы изучаемой книги?

a)

Способ преобразования из представления в памяти в последовательность байтов

b)

Способ преобразования из последовательности байтов в представления в памяти

c)

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

8.

Десериализация - это операция обратная

a)

Кодированию (encoding)

b)

Сериализации (serialization)

c)

Маршалинг (marshalling)

d)

Парсинг (parsing)

9.

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

a)

Кодирование привязано к конкретному языку

b)

Низкая эффективность

c)

Проблемы прямой и обратной совместимости

d)

Проблемы с безопасностью

10.

О каких наиболее популярных текстовых форматах, независимых от языка программирования говорится в 4 главе?

a)

JSON

b)

XML

c)

CSV

d)

BinaryFormatter

11.

В ... и CSV невозможно различать число и строку, состоящую из цифр (разве что с помощью ссылки не внешнюю схему)

(a)  

12.

... различает числа и строки, но не целочисленные значения и значения с плавающей точкой
и не позволяет задать их точность

(a)  

13.

Какие текстовые форматы хорошо поддерживают строки и символы в кодировке Unicode?

a)

CSV

b)

JSON

c)

XML

14.

Какие текстовые форматы НЕ имеют поддержки схем, вследствие чего значение каждого столбца и строки приходится определять приложению?

a)

XML

b)

CSV

c)

JSON

15.

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

a)

CSV

b)

JSON

c)

XML

d)

Двоичное кодирование

16.

Какой формат является двоичным форматом кодирования JSON?

a)

Thrift

b)

MessagePack

c)

Protocol Buffers

d)

Avro

17.

Найдите схему, которую требует Thrift для кодирования данных:
{ "userName": "Martin", "favoriteNumber": 1337 }

a)

struct Person {

1: required string userName,
2: optional i64 favoriteNumber,

}

b)

message Person {

required string user_name = 1;
optional int64 favorite_number = 2;

}

18.

Сколько различных двоичных форматов кодирования в библиотеке Thrift?

a)

1

b)

2

c)

3

d)

4

19.

О каком формате речь? "Здесь у каждого поля есть сигнатура типа и при необходимости указание длины. Встречающиеся в данных строки также преобразуются в кодировку ASCII"

a)

BinaryProtocol

b)

CompactProtocol

c)

DenseProtocol

20.

Чем формат кодирования CompactProtocol отличается от BinaryProtocol?

a)

Тип поля и номер тега упаковывается в один байт

b)

Использование целых чисел переменной длины

c)

Тип поля и номер тега упаковывается в два байта

d)

Использование целых чисел постоянной длины

21.

Что такое эволюция схемы?

a)

Изменение схемы с течением времени

b)

Возможность безопасно изменять формат данных со временем, не ломая существующие системы, которые еще не обновились

c)

Набор правил и возможностей системы сериализации, который позволяет гибко и безопасно изменять формат данных во времени, обеспечивая сосуществование разных версий приложений

22.

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

a)

Задается новый номер тега для поля

b)

Старый код игнорирует поле с непонятным тегом

c)

Статический анализатор определяет сколько байт пропустить

d)

Статический анализатор определяет сколько байт прочитать

23.

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

a)

Поле должно быть required

b)

Поле должно быть optional

c)

Поле должно быть repeated

d)

Поле должно быть visible

24.

Можно ли поменять тип данных в схеме?

a)

Нет

b)

Да

c)

Да, но существует риск потери точности полей

d)

Да, но существует риск усечения полей

25.

Какой пакет засветился в УКЗ по Банку для airflow-de?

a)

Protocol Buffers

b)

Apache Thrift

c)

Apache Avro

26.

Использует ли Avro схему для задания структуры кодируемых данных?

a)

Да

b)

Нет

27.

Какие особенности существуют для двоичного формата кодирования Avro?

a)

В схеме нет номеров тегов

b)

Нет ничего что идентифицирует поля и их типы данных

c)

Целые числа кодируются с помощью кодирования со значениями переменной длинны

d)

Для разбора двоичных данных проходим по полям в схеме в алфавитном порядке

28.

Что такое схема для записи (writer's schema)?

a)

Схема, которую приложение использует для кодирования данных в формат Avro

b)

Схема, которую приложение использует для декодирования данных

29.

Схема для чтения и схема для записи для формата Avro обязательно должны совпадать?

a)

Да

b)

Нет

c)

Должны быть совместимы

30.

Откуда читающий данные код знает, с помощью какой схемы для записи кодировались данные?

a)

Схема вставляется в начало одного из передаваемых файлов

b)

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

c)

Отправка схемы при с установке соединения между процессами

d)

Схема вставляется в начало каждого передаваемого файла

31.

Самое важное преимущество подхода Avro по сравнению с Protocol Buffers и Thrift?

a)

Схема содержит номера тегов

b)

Схема не содержит номера тегов

c)

Отсутствие проверок во время кодирования/декодирования

32.

В чем заключается удобство двоичных форматов кодирования, основанных на схемах?

a)

Намного компактнее "двоичного JSON"

b)

Схема - вид документации и она всегда актуальна

c)

БД данных схем не дает проверять прямую и обратную совместимость изменений схемы при развертывании

d)

Проверка типов данных во время компиляции для языков программирования со статической типизацией

33.

Какие распространенные способы движения данных рассматриваются в 4 главе?

a)

Поток данных через БД

b)

Поток данных через сервисы REST и RPS

c)

Поток данных через общее адресное пространство

d)

Поток данных передачи сообщений

34.

Какие простые изменения разрешены в большинстве реляционных БД?

a)

Добавление нового столбца

b)

Удаление столбца

c)

Добавление нового столбца со значение null по умолчанию

d)

Удаление столбца со значением null по умолчанию

35.

Предоставляемый сервером API называется?

a)

сервис

b)

клиентский интерфейс

c)

протокол передачи данных

36.

Главная цель сервис-ориентированной и микросервисной архитектур?

a)

Снизить связанность

b)

Повысить сопровождаемость и эволюционируемость

c)

Обеспечить независимое развертывание компонентов

d)

Повысить производительность

37.

Какие популярные подходы к проектированию web-сервисов существуют?

a)

RPC

b)

REST

c)
  • Event-Driven Architecture

d)

SOAP

38.

... - основанный на формате XML протокол для выполнения запросов к сетевым API

(a)  

39.

Пользователи какого подхода к проектированию web-сервисов сильно зависят от поддержки утилит, генерации кода и различных IDE?

a)

RPC

b)

REST

c)

SOAP

40.

RPC - это (в рамках 4 главы) ?

a)

remote procedure call

b)

random protocol call

c)

recursive program control

d)

real-time packet channel

41.

Основная идея удаленного вызова процедур (RPC)?

a)

Абстрагировать сетевое взаимодействие, чтобы вызвать функцию/метод на удалённом компьютере так же просто, как если бы это был локальный вызов в рамках одной программы

b)

Обеспечить максимально возможную скорость передачи данных по сети, превосходящую все другие протоколы

c)

Заменить все локальные вызовы функций в программе на удалённые для лучшей масштабируемости

d)

Сделать сетевое взаимодействие видимым и явным для программиста, заставляя его вручную работать с сокетами и потоками

42.

Фундаментальные недостатки RPC?

a)

Проблемы сети

b)

Передаются ссылки на объекты

c)

Потеря ответов при запросах

d)

Сетевые запросы занимают одно и тоже время

e)

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

43.

Какие преимущества дает использование брокера сообщений по сравнению с RPC?

a)

повышает надежность системы

b)

предотвращает потерю сообщений

c)

нет привязки к IP-адресам, номерам портов

d)

может отправлять одно сообщение нескольким получателям

44.

Акторная модель характеризуется?

a)

Актор - один клиент/сущность

b)

Взаимодействие между акторами осуществляется путем отправки и получения асинхронных сообщений

c)

Доставка сообщений гарантируется

d)

Необходимостью заботиться о потоках выполнения