Сборник тестов: 1500 вопросов и ответов на знание Android Машнин Тимур
Фоновые потоки в HaMeR явно взаимодействуют с UI потоком.
Вопрос 29
Какие из следующих Gang-of-Four паттернов применяются к Android фреймворкам параллельных вычислений?
Active Object
Template Method
Visitor
Monitor Object
Strategy
Factory Method
Вопрос 30
Какой из следующих POSA паттернов применяются к Android фреймворкам параллельных вычислений?
Command Processor
Extension Interface
Bridge
Template Method
Half-Sync/Half-Async
Thread-Specific Storage
Вопрос 31
Какие из следующих паттернов применяются в соответствующих фреймворках?
Active Object применяется в Java ExecutorService.
Bridge применяется в HaMeR.
Command Processor применяется в HaMeR.
Factory Method применяется в AsyncTask.
Strategy применяется в HaMeR.
Thread-Specific Storage применяется в Java Executor.
Вопрос 32
Что из следующего является преимуществом применения паттерна Thread-Specific Storage?
Это позволяет подклассам переопределить методы.
Это отделяет интерфейс от реализации, так они могут изменяться независимо.
Это уменьшает накладные расходы синхронизации для доступа к объекту.
Это откладывает некоторые шаги в алгоритме параллельной обработки для подкласса.
Вопрос 33
Что из следующего является известным применением паттерна Thread-Specific Storage?
Класс Android Looper.
Фреймворк Java Executor.
Стандарт C errno macro.
Android IntentService.
Вопрос 34
Что из следующего является предназначением паттерна Command Processor?
Определить запросы сервиса как единицы параллельного вычисления и запускать запросы сервиса в разных потоках из запрашивающего клиентского потока.
Обеспечить нескольким потокам использовать одну «логически глобальную» точку доступа без накладных расходов блокировки доступа для каждого объекта.
Упаковывать функциональность приложения, а также его параметризацию, в объект, чтобы сделать его пригодным для использования в другом контексте.
Отделить асинхронную и синхронную обработку сервиса в системе параллельных вычислений, путем введения двух сообщающихся слоев – один для асинхронной и другой для синхронной обработки сервиса, для упрощения программирования без чрезмерного снижения производительности.
Вопрос 35
Что из следующего является негативным последствием использования паттерна Command Processor?
Поддержка двусторонних операций требует дополнительных усилий программирования.
Клиент не заблокирован в течении обработки.
Функциональность управляется отправителем, а не получателем.
Поддержка контекстной и зависящей от времени выполнения логики приложения.
Вопрос 36
Что из следующего является примером ситуации, при которой применяется паттерн Active Object?
Когда методы объекта могут блокироваться в течение длительного времени, в течение их исполнения.
Когда дополнительные возможности должны быть реализованы последовательно для всех запросов к сервису.
Когда методы интерфейса объекта должна определить свои границы параллельного вычисления.
Когда есть необходимость отделить решение о том, какой кусок кода должен быть выполнен, от решения, какой контекст или время этого должно произойти.
Когда это необходимо для модернизации унаследованного кода, чтобы быть поточно-безопасным.
Когда несколько запросов метода клиента могут работать одновременно для объекта.
Вопрос 37
Что из следующего является известным использованием паттерна Active Object?
Фреймворк Android IntentService.
Фреймворк Java ExecutorService.
Фреймворк Java Executor.
Фреймворк Android HaMeR.
Вопрос 38
Что из следующего лучше всего описывает мотивацию для паттерна Half-Sync/Half-Async?
Гарантировать усовершенствования для сервиса, предоставляемые компонентом, не нарушая существующий код.
Отделить кратковременные операции от длительных операций в программах с параллельными вычислениями.
Упростить программирование параллельных вычислений без чрезмерного снижения производительности.
Гарантировать, что только один Looper находится в каждом потоке в программе с параллельными вычислениями.
Вопрос 39
Что из следующего верно описывает Android сервис?
Сервис это компонент приложения, который обеспечивает единую, ориентированную вещь для пользователя.
Сервис это компонент приложения, который отвечает на общесистемные широковещательные объявления.
Сервис это компонент приложения, который может выполнять длительные операции в фоновом режиме и не имеет пользовательского интерфейса.
Сервис это компонент приложения, управляющий доступом к структурированным наборам данных путем инкапсуляции данных и обеспечением механизмов для определения безопасности данных.
Вопрос 40
Что из следующего является ключевым различием между Started Service и Bound Service?
Bound Service предлагает интерфейс клиент/сервис, который позволяет расширенную двустороннюю коммуникацию между клиентом и сервисом.
Bound Service работает только до тех пор, пока клиент связан с ним, в то время как Started Service может работать бесконечно.
Bound Service запускается по требованию, в то время как Started Service предварительно запускается при загрузке системы.
Bound Service всегда работает в процессе своего клиента, в то время как Started Service всегда запускается в отдельном процессе.
Вопрос 41
Что из следующего лучше всего описывает цель onStartCommand () метода?
Он используется, чтобы уведомить сервис, что сервис должен быть удален, и поэтому должен очистить занятые ресурсы.
Он вызывается фреймворком Android Service, когда Started Service первый раз запускается.
Он вызывается каждый раз, когда Started Service получает Intent от клиента с помощью вызова startService ().
Он часто используется в сочетании с моделью параллельных вычислений, применяемой для выполнения обработки сервиса.
Вопрос 42
Что из следующего является причиной того, что методу stopSelf () передается параметр startId?
Чтобы позволить сервису выключиться и избежать работы в фоновом режиме и потребления системных ресурсов на неопределенный срок.
Чтобы гарантировать, что все ресурсы, выделенные оnCreate () методом освобождаются в оnDestroy () методе.
Для устранения необходимости в явном виде получать и освобождать блокировки в критических секциях.
Чтобы избежать преждевременного завершения работы сервиса, когда он еще обрабатывает одновременные запросы Intent.
Вопрос 43
Что из следующего является механизмом IPC, поддерживаемом Android для взаимодействия сервиса с Actiivty?
Используйте AIDL объект обратного вызова, который передается от активности сервису.
Отправить Intent команду через метод startService ().
Отправить Intent команду через метод bindService ().
Используйте Messenger объект, который передается от активности сервису.
Вопрос 44
Что из следующего является причиной того, что Handler не может быть использован для прямой связи между активностью и сервисом?
Обработчики не могут быть переданы в качестве «extras» в Intent.
Обработчики реализуют паттерн Command Processor, который работает только в пределах одного процесса.
Обработчик не может быть использован для связи между разными потоками.
Если пользователь имеет доступ к ресурсу на платформе, все приложения, которые пользователь запускает, имеют доступ к этому ресурсу.
Обработчики не реализуют интерфейс Parcelable.
Вопрос 45
Какие POSA паттерны связанны с использованием Android Intent, Started Service и Messenger?
Half-Sync/Half-Async
Activator
Active Object
Command Processor
Вопрос 46
Что из следующего означает возврат методом onStartCommand () значения START_NOT_STICKY?
Сервис должен оставаться остановленным, пока явно не будет запущен каким-либо кодом клиента.
Перезапуск сервиса через onStartCommand (), но не передавать намерение (передать NULL).
Перезапуск сервиса через onStartCommand (), передавая то же самое намерение.
Остановить сервис и вернуть код ошибки компоненту, который его вызвал.
Вопрос 47
Что из следующего является способом остановить Started Service?
Он может вызвать stopSelf (), чтобы закрыть себя сам.
Другой компонент может закрыть сервис, вызвав stopService ().
Сервис будет автоматически остановлен, когда все клиенты отвяжутся от него.
Сервис отключится автоматически, когда не будет больше Intent для обработки.
Вопрос 48
Что из следующего описывает предназначение Android IntentService?
Он обеспечивает фреймворк для выполнения удаленных вызовов методов синхронно и асинхронно.
Он обеспечивает фреймворк, который предлагает интерфейс клиент-сервис, который позволяет расширенную двустороннюю коммуникацию между одним или несколькими клиентами и сервисом.
Он обеспечивает обобщение фреймворка HaMeR, который инкапсулирует Handler, реализованный в сервисе, и позволяет активности передавать сообщения в Handler.
Он обеспечивает фреймворк для программирования Started Services, которые одновременно обрабатывают команды, выраженные в виде намерений.
Вопрос 49
Что из следующего является ключевым различием между IntentService и обычным сервисом?
IntentService останавливает себя автоматически, когда больше нет Intent для обработки, в то время как обычный сервис должен остановить себя вручную.
Обычный сервис обрабатывает намерения, отправленные клиентами, в фоновом потоке, в то время как IntentService обрабатывает запросы в потоке пользовательского интерфейса.
IntentService обрабатывает намерения, отправленные клиентами, в фоновом потоке, в то время как обычный сервис обрабатывает запросы в потоке пользовательского интерфейса.
Обычный сервис останавливает себя автоматически, когда больше нет Intent для обработки, в то время как IntentService должен остановить себя вручную.
Вопрос 50
Что из следующего является причиной развертывания сервиса для работы в другом процессе, чем процесс его клиента?
Чтобы позволить сервису быть совместно используемым несколькими приложениями.
Это оптимизирует взаимодействие между клиентом и сервисом.
Это позволяет сервису вызывать Java Native Interface (JNI) методы.
Это может сделать приложение более устойчивым при отказе сервиса.
Тест 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?
