Тест 20

Вопрос 1

Какие из следующих паттернов реализуются фреймворком Android IntentService?

Broker

Activator

Command Processor

Active Object

Вопрос 2

Какие из следующих утверждений описывают механизм взаимодействия Android Messenger?

Messenger может быть использован только для связи с Bound Service.

Messenger это обобщение фреймворка Android AsyncTask.

Messenger может быть использован для коммуникации с Started Service и Bound Service.

Messenger это обобщение фреймворка Android HaMeR.

Вопрос 3

Что из следующего определяет Bound Service?

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

Он предлагает интерфейс клиент/сервер, который позволяет расширить двустороннюю коммуникацию между одним или несколькими клиентами и сервисом.

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

Он позволяет приложениям выполнять фоновые операции и публиковать результаты в потоке пользовательского интерфейса, не манипулируя потоками и/или обработчиками.

Вопрос 4

Какие из следующих методов, унаследованных от Service должны быть переопределены, чтобы создать Bound Service?

onUnbind ()

onStartCommand ()

оnCreate ()

onBind ()

Вопрос 5

Что из следующего является способом, которым Bound Service может взаимодействовать с клиентом?

Взаимодействия могут использовать фреймворк Android HaMeR непосредственно.

Взаимодействия могут быть общими и сообщение-ориентированными.

Взаимодействия могут напрямую использовать механизмы IPC Android Linux.

Взаимодействия могут быть специфическими по типу и метод-ориентированными.

Вопрос 6

Что из следующего является мотивацией для фреймворка AIDL Binder?

Облегчить сложность написания вручную чреватого ошибками кода маршализации-демаршализации.

Позволяет клиентам вызывать методы, определенные объектами, находящимися в другом процессе.

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

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

Вопрос 7

Какие паттерны используются фреймворком AIDL Binder?

Broker

Leader/Followers

Publisher/Subscriber

Proxy

Вопрос 8

Что из следующего является преимуществом использования двусторонних асинхронных вызовов между Activity и Bound Service через фреймворк AIDL Binder?

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

Упрощает модель программирования клиента.

Избегает проблем, связанных с блокированием потока клиента во время двухстороннего синхронного вызова метода.

Позволяет Bound Service обрабатывать получаемые данные в пуле потоков.

Вопрос 9

Что является компонентом протокола?

Синхронизация

URL-адрес

Методы запроса

Семантика

Синтаксис

Вопрос 10

Что такое HTTP?

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

Протокол связи, который обычно используется в веб-браузерах.

Протокол связи, который был специально разработан для связи мобильного устройства с облаком.

Протокол связи, который основан на модели клиент/сервер.

Вопрос 11

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

Это наиболее энергоэффективный протокол.

Он контролируется запросами со стороны сервера.

Это наиболее пространственно эффективный протокол.

Существуют значительные инвестиции и инфраструктура для HTTP коммуникации.

Вопрос 12

Что является методами HTTP-запроса?

Механизмы, которые позволяют только клиенту отправлять мета информацию на сервер.

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

Альтернативные протоколы связи для HTTP, которые клиент может использовать для связи с сервером.

Указание на действия, которые клиент хотел бы, чтобы сервер применил к ресурсу.

Вопрос 13

Что из следующего является возможным компонентом запроса HTTP?

Тело запроса.

Заголовки.

Content-Type для тела.

Строка запроса.

Все перечисленное.

Вопрос 14

Что такое кодировка URL?

Альтернативное представление некоторых символов, которые могут быть помещены в URL.

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

Механизм кодирования, предназначенный, чтобы сделать возможным передачу больших файлов через параметры URL запроса.

Механизм кодирования, который повышает безопасность данных, передаваемых в URL.

Вопрос 15

Что является целью числового кода, включенного в строку статуса линию HTTP-ответа?

Чтобы обеспечить индикацию того, сколько заголовков включено в ответ.

Чтобы обеспечить индикацию того, сколько различных типов контента включено в тело ответа.

Чтобы обеспечить индикацию того, насколько большим является ответ.

Чтобы обеспечить индикацию того, что произошло, когда сервер обработал запрос.

Вопрос 16

Какие из следующих утверждений верны в отношении HTTP опроса?

Динамическая адаптация интервала опроса является одним из подходов к сокращению ненужных HTTP запросов.

Опрос может генерировать избыточную нагрузку на сервер, если интервал опроса слишком короткий.

Так клиент не имеет прямого доступа к серверному состоянию, клиент может тратить ресурсы путем опроса сервера для обновлений, когда их нет.

Все перечисленное.

Вопрос 17

Что из следующего верно о Push сообщениях?

Опрос никогда не должен быть объединен с Push сообщениями.

Если состояние, которое должно быть отправлено клиенту, является чрезвычайно чувствительным, модель «push to poll», где сервер посылает Push уведомление, а затем клиент опрашивает для обновления состояния, является наиболее подходящей.

Push сообщения опираются на постоянную связь между мобильным устройством и серверами системы Push сообщений.

Если состояние, которое должно быть отправлено клиенту, чрезвычайно большое (например, несколько мегабайт), модель «push to poll», где сервер посылает Push уведомление, а затем клиент опрашивает для обновления состояния, является наиболее подходящей.

Вопрос 18

Что из следующего верно о JSON?

JSON более эффективен по размеру, чем XML.

JSON является текстовым форматом.

JSON может быть использован, чтобы представить массивы объектов.

JSON менее эффективен по размеру, чем XML.

Вопрос 19

Что из следующего верно о Java аннотациях?

Они не могут быть применены к переменным-членам.

Они могут быть использованы для обеспечения метаданных для методов и других Java конструкций.

Они не могут быть применены к интерфейсу.

Они не могут быть применены к классу.

Вопрос 20

Какие из следующих утверждений верны о библиотеке Retrofit?

Она может быть использована только для отправки примитивных типов в качестве параметров HTTP-запроса.

Она может автоматически маршализовать Java объекты в тело HTTP-запроса.

Она поддерживает только передачу данных через тело запроса.

Она может быть использована для обеспечения строгой типизации для взаимодействия с HTTP облачными сервисами.

Вопрос 21

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

REST определяет методы, чтобы добавить безопасность для запросов, с помощью кодирования токенов в HTTP-заголовках.

REST определяет отображение JSON для параметров запроса.

REST обеспечивает набор аннотаций, чтобы помочь в маршализации данных в HTTP запросах.

REST требует, чтобы все данные передавались с помощью POST запроса.

Ничего из перечисленного.

Все перечисленное.

Вопрос 22

Какие из следующих утверждений верны о HTTP опросе?

Опрос создает ситуации, когда данные со стороны клиента и сервера могут быть не синхронизированы.

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

Опрос может быть неэффективным, если данные на сервере не часто меняются и клиент часто опрашивает.

Опрос может быть эффективным (с точки зрения накладных расходов), если данные на сервере изменяются непрерывно и клиент опрашивает нечасто.

Вопрос 23

Какие из следующих утверждений верны о маршализации данных из JSON в объекты Java?

Это требует использования XML.

Это может быть автоматизировано с помощью библиотек, таких как Jackson.

Это обычно не используется.

Это возможно только на стороне сервера.

Вопрос 24

Что из следующего является мотивацией для использования ContentProvider в Android приложениях?

Дать возможность приложению обмениваться данными с другими приложениями.

Для обеспечения общих средств доступа к хранилищу структурированных данных.

Для оптимизации доступа к приватным данным приложений.

Для облегчения использования Sync Adapters и Content Observers.

Чтобы отделить хранение данных от доступа к этим данным.

Для обеспечения поточно-безопасного доступа к структурированному хранилищу приложения.

Вопрос 25

Какова цель заголовка Content-Type?

Указывает клиенту формат данных, определенных в одном или нескольких заголовках ответа.

Указывает клиенту, когда ресурс переместился.

Указывает серверу формат данных, определенных в параметрах URL запроса.

Указывает клиенту или серверу формат данных, включенных в тело запроса или ответа.

Вопрос 26

Что из следующего является возможным результатом запроса, который сервер может указывать с кодом ответа 2XX?

Запрос был успешно обработан.

Клиент послал плохой запрос.

Сервер обнаружил внутреннюю ошибку.

Сервер не может найти запрошенный ресурс.

Вопрос 27

Что из следующего верно о cookies?

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

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

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

Они имеют специальный метод запроса, который должен быть использован, чтобы отправить их.

Вопрос 28

Что из следующего является причиной того, что Android отделяет Content Resolvers от Content Providers?

Это позволяет реализации Content Provider находиться в другом адресном пространстве, чем приложение, которое имеет доступ к нему с помощью Content Resolver.

Это позволяет реализации Content Provider быть активированным по запросу при обращении через ContentResolver.

Чтобы гарантировать, что доступ к состоянию Content Provider автоматически синхронизируется, чтобы предотвратить race condition.

Для оптимизации производительности путем удаления дополнительных уровней косвенности в цепочке вызовов выполнения.

Вопрос 29

Какие из следующих шаблонов проектирования применяются к Content Resolvers и Content Providers в Android?

Observer

Chain of Responsibility

Visitor

Abstract Factory

Activator

Proxy

Вопрос 30

Что из следующего верно о сервлетах?

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

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

Сервлет имеет методы doXXXX для каждого типа контента, который может быть отправлен на сервер.

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

Вопрос 31

Какие из следующих утверждений верны об обработке входных данных клиента в сервлете?

Сервлет может получить доступ к параметрам URL запроса, отправленного клиентом.

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

Сервлет может получить доступ к URL закодированным параметрам, размещенным в теле запроса, отправленного клиентом.

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

Вопрос 32

Какие из следующих утверждений верны в отношении маршрутизации запроса и сервлетов?

Web. xml файл может быть использован для определения, какие запросы должны быть направлены каким сервлетам.

Web. xml файл никогда не используется для маршрутизации запросов сервлетам.

Все запросы должны быть направлены к одному и тому же сервлету.

Запросы могут быть направлены различным сервлетам, на основе пути ресурсов, указанным в запросе.

Вопрос 33

Что из следующего может привести к атаке с внедрением?

Повторяя исполняемые предоставленные клиентом данные обратно клиенту без фильтрации.

Неудачная проверка того, что тип данных, отправляемых на сервер, тот, который ожидается.

Позволить предоставленным клиентом данным управлять путем выполнения с участием конфиденциальных данных.

Хранение предоставленных клиентом данных без фильтрации, а затем повторная отправка их другим клиентам.

Все перечисленное.

Вопрос 34

Какие из следующих утверждений верны в отношении предоставленных клиентом данных?

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

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

Поскольку данные клиента трудно фильтровать, облачный сервис никогда не должен принимать тело в HTTP-запросе.

Данные, предоставленные клиентом, в параметрах URL запроса всегда безопаснее, чем те же данные в теле URL закодированного запроса.

Ничего из перечисленного.

Вопрос 35

Что из следующего является преимуществом применения механизма AsyncQueryHandler для доступа к Android Content Provider?

Легче программировать, чем синхронные механизмы для доступа к Content Provider.

Он использует унаследованный параллелизм эффективно.

Он не берет на себя дополнительные накладные расходы по параллельным вычислениям.

Он не блокирует UI поток.

Вопрос 36

Каковы основные различия между механизмами AsyncQueryHandler и LoaderManager для доступа к Android Content Provider?

AsyncQueryHandler является более общим механизмом для выполнения CRUD операций для Content Provider.

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

AsyncQueryHandler требует, чтобы приложения создавали явно фоновые потоки для выполнения CRUD операций.

LoaderManager дает возможность CRUD операциям для Android Content Provider быть выполненным в фоновых потоках.

Вопрос 37

Какие из следующих утверждений верны относительно Spring DispatcherServlet?

Он может вызвать различные методы объекта Controller в зависимости от пути запроса.

Этот класс предназначен для управления информацией о конфигурации и направлении ее в соответствующие @Autowired переменные-члены.

Он не может быть использован в контейнере веб-приложений.

Он используется для маршрутизации запросов для Spring Controller объектов.

Вопрос 38

Что из следующего является использованием аннотации @RequestBody?

Чтобы указать для Spring, что тело входящего HTTP-запроса должно быть демаршализовано для обеспечения значения для параметра метода с аннотацией @RequestMapping.

Чтобы указать, что Spring должен извлечь «тело» заголовка из входящего HTTP-запроса и использовать его, чтобы определить тип содержимого ответа.

Чтобы указать, что Spring Controller должен сохранить тело входящего HTTP-запроса в базе данных.

Чтобы указать, что Spring Controller должен обновить свою текущую информацию о маршрутизации с использованием информации в теле входящего HTTP-запроса.

Вопрос 39

@RequestParam не может быть использована, если HTTP-запрос имеет тело из нескольких частей.

Да

Нет

Вопрос 40

Что из следующего верно о @ResponseBody?

@ResponseBody может быть использован для указания параметров метода Controller, которые не должны быть включены в HTTP-ответ, отправленный клиенту.

@ResponseBody указывает, что возвращаемое значение из метода Controller должно быть использовано для создания тела HTTP-ответа.

@ResponseBody помогает отделить логику метода Controller от специфических деталей HTTP-протокола.

@ResponseBody в основном используется для push-уведомлений и не имеет отношения к HTTP.

Вопрос 41

Что из следующего верно о классе Spring Application?

Он может обеспечить способ main (), чтобы запустить Spring.

Он не должен наследовать от Spring-специфичного супер класса.

С помощью Spring Boot и соответствующих аннотаций, он может быть использован для установки Dispatcher сервлета.

Он может быть использован для предоставления информации о конфигурации для Spring.

Все перечисленное.

Вопрос 42

Что из следующего является причиной использования Dependency Injection?

Чтобы уменьшить количество вручную написанного кода конфигурации, необходимого для соединения приложения вместе.

Чтобы помочь отделить один или более классов от своих зависимостей.

Для повышения производительности при запуске приложения.

Для повышения безопасности приложения.

Вопрос 43

Для чего @Autowired используется?

Чтобы указать, что одна или более зависимостей класса должны быть автоматически обеспечены с помощью Dependency Injection.

Чтобы указать, что конкретный класс реализует интерфейс, который будет использоваться для Dependency Injection.

Чтобы указать, что автоматический Wire формат должен быть использован для маршрутизации HTTP-запроса.

Чтобы указать, что переменная-член не поточно-безопасна и должна иметь блокировку.

Вопрос 44

Что из следующего верно о ORM?

Object relational mapping используется, чтобы помочь в сохранении экземпляров объектов Java в базе данных.

Object relational mapping используется для сохранения HTTP-запросов в журнале как реляционные объекты.

Object relational mapping всегда использует JSON в качестве формата сохранения состояния.

Object relational mapping требует столбец для каждого экземпляра объекта, который будет храниться в базе данных.

Вопрос 45

Какие из следующих утверждений верны о коде, показанном ниже:

@RequestMapping (»/some/path»)

public @ResponseBody List <Video> findVideos (@RequestParam («title») String videoTitle) {

String query = «select * from video where video. title =»»+videoTitle+»'»;

return executeDatabaseQuery (query)

}

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

Произвольная логика потенциально может быть введена в запрос.

@RequestParam будет фильтровать параметр title и код является безопасным.

@RequestParam не будет фильтровать параметр title и код может пострадать от SQL injection атаки.

Вопрос 46

Что из следующего верно о Spring JPA Repositories?

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

Реализации интерфейсов хранилищ автоматически создаются Spring.

Они могут сохранять только объекты Java, которые реализуют Serializable.

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

Вопрос 47

Что из следующего верно о традиционных ОС-аккаунтах?

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

Если пользователь имеет доступ к ресурсу на платформе, все приложения, которые пользователь запускает, имеют доступ к этому ресурсу.

По умолчанию, если пользователь запускает приложение, процесс приложения связан с аккаунтом этого пользователя.

Если пользователь имеет доступ к ресурсу на платформе, все приложения имеют доступ к этому ресурсу.

По умолчанию, если пользователь запускает приложение, процесс приложения не связан с учетной записью этого пользователя.

Вопрос 48

Что из следующего верно о Android?

Если пользователь имеет доступ к ресурсу на платформе, все приложения имеют доступ к этому ресурсу.

Если пользователь имеет доступ к ресурсу на платформе, все приложения, которые пользователь запускает имеют доступ к этому ресурсу.

Если пользователь запускает приложение, процесс приложения связан с отдельным аккаунтом для этого приложения.

Если пользователь запускает приложение, процесс приложения связан с аккаунтом этого пользователя.

Приложение имеет доступ ко всем ресурсам на устройстве, связанным с его аккаунтом пользователя.

Вопрос 49

Что из следующего верно для разрешения Интернет на Android?

Существует Linux-пользователь, который представляет разрешения Интернет.

Существует группа пользователей Linux, которая представляет разрешение Интернет.

Есть несколько групп пользователей Linux, которые представляют разрешение Интернет.

Только Root-пользователь может иметь разрешение Интернет.

Вопрос 50

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

Люди манипулируют другими людьми.

Люди забывают вещи.

Люди врут друг другу.

Люди воруют у других людей.