Вопросы E-legion
Сылка
на таблицу со всеми правильными ответами!
1.
Какое основное отличие между apply() и
commit() у SharedPreferences.Editor при добавлении
данных в Preferences?
-
apply() вносит изменения только в память,
но для сохранения их на диск нужно
вызывать commit()
-
commit() вносит изменения только в память,
но для сохранения их на диск нужно
вызывать apply
+
commit() вызывается синхронно, а apply()
асинхронно при сохранении данных на
диск. Но при этом данные в памяти
обновляются моментально.
+
apply() и commit() отличаются только тем, что
commit() возвращает boolean значение об успехе
операции изменения данных.
2.
Какое основное предназначение метода
onLayout() у View?
-
Метод вызывается для определения
местоположения текущего View в его Parent
-
Метод предназначен для вычисления
размеров текущего View
+
Метод вызывается для определения
местоположения детей относительно
текущего View
-
Метод предназначен для вычисления
размеров детей текущего View
3.
Какой тип данных можно положить в Bundle?
*
-
Любой Object можно передать в bundle (и все
варианты что ниже)
+
Можно передавать Map - связка ключ,
значение
-
Bundle не предназначен для передачи данны
-
Можно передавать Bundle в Bundle
4.
Можно ли отправлять и читать SMS сообщения?
*
-
Можно читать, если есть нужный permission,
но отправлять нельзя
+
Можно читать и отправлять, если на это
есть специальные permissions.
-
Можно отправлять если есть нужный
permission, но читать нельзя
-
Нельзя ни отправлять, ни читать. Никаких
похожих Permissions нет.
5.
О каких событиях нельзя получить
уведомление через BroadcastReceiver в приложении?
-
Телефон загрузился
-
Состояние сети изменилось
+
Текущее приложение было удалено
-
Входящий звонок
6.
Что произойдет, если несколько раз
вызывать startService?
-
Создастся столько инстансов сервисов,
сколько раз вызывался startService
-
Произойдет ошибка при повторном вызове.
Приожение автоматически остановится.
Необходимо делать проверку перед
запуском сервиса, что сервис не запущен
-
При каждом запуске startService будет создан
новый инстанс, но запуск сервиса
произойдет только после завершения
предыдущего сервиса
+
Будет создан один истанс, все последующие
startService() уведомляют ранее созданный
экземпляр через специальный метод
7.
Что характерно для IntentService?
-
IntentService выполняется в отдельном потоке.
При нескольких вызовах будет создано
столько IntentService, сколько раз сколько
вызывался запрос. Все выполняется
параллельно
+
IntentService выполняется в отдельном потоке.
При нескольких вызовах будет создан
один IntentService, все запросы выполняются
последовательно
-
IntentService выполняется в UI потоке. При
нескольких вызовах будет создано
столько IntentService, сколько раз сколько
вызывался запрос. Все выполняется
параллельно
-
IntentService выполняется в UI потоке. При
нескольких вызовах будет создан один
IntentService, все запросы выполняются
последовательно
8.
Какой метод не доступен для рисования
на Canvas?
-
drawLine
-
drawPaint
-
drawRect
+
Все методы доступны
9.
От какого класса наследуются все UI
элементы, способные содержать другие
UI элементы?
-
View
+
ViewGroup
-
LayoutView
-
RootView
10.
Какого из Layout не существует в стандартном
SDK?
-
LinearLayout
+
FragmentLayout
-
RelativeLayout
-
TableLayout
11.
Сколько раз вызывается Service.onStartCommand?
-
Один раз, при запуске сервиса
+
Каждый раз, когда вызывается
Context.startService с соответствующим Intent-ом
-
Каждый раз, когда приложение «уходит»
в фоновый режим работы
-
Каждый раз, когда происходит binding к
сервису
12.
В каком потоке выполняется вызов метода
OnClickListener.onClick у View?
-
В потоке, который указан программистом
при создании View
-
В отдельном потоке, который создает
Android при регистрации события
-
В потоке, в котором было создано View
+
В главном потоке приложения
13.
Если вернуть false из View.onTouchEvent, в ответ
на MotionEvent с действием ACTION_DOWN, то:
+
Ни один MotionEvent текущего жеста больше
не попадет в onTouchEvent данного View
-
Если данное View не является ViewGroup, то
Android никак не интерпретирует возвращаемое
значение
-
Все MotionEvent-ы текущего жеста будут
попадать в это View
-
Если данное View является ViewGroup, то Android
никак не интерпретирует возвращаемое
значение
14.
Если печатать логи в каждом из перечисленных
методов activity: onCreate, onStart, onResume, onPause,
onRestart, onDestroy, какие цепочки логов
невозможны?
-
onPause - onDestroy - onCreate — onStart
-
onPause - onCreate — onStart
+
onPause - onRestart - onResume — onPause
-
onPause - onResume - onPause — onRestart
15.
Какие ограничения имеют экземпляры
класса Service?
+
Выполняться в том же процессе, что и
само приложение
-
Выполняться в отдельном от основного
приложения процессе
-
Запускать activity
-
Все варианты неправильные
16.
При каких значениях параметра
“android:launchMode” activity будет существовать
в системе максимум в одном экземпляре?
-
standard и singleTop
-
singleTop и singleTask
+
singleTask и singleInstance
-
singleInstance и standard
17.
Как внутри метода activity onCreate() определить,
что activity была пересоздана, а не запущена
в первый раз?
-
Только так: getIntent() == null;
+
Только так: savedInstanceState != null;
-
Только так: isChangingConfigurations();
-
Можно использовать любой из
вышеперечисленных способов
18.
Чем могут быть вызваны утечки памяти?
+
Сохранение ссылки на Activity или View в
статической переменной
-
Вызов FragmentManager.replace() не на GUI-потоке
-
Циклические ссылки
-
Отсутствие вызова setContentView(null) в методе
Activity.onDestroy()
19.
Что из нижеперечисленного появилось в
Android Lollipop?
+
Material design
-
Поддержка нескольких пользователей
-
Поддержка NFC
-
Всё перечисленное
20.
Как приложение может получить доступ
к внутренним файлам другого приложения?
+
У обоих приложений в AndroidManifest.xml должен
быть указан одинаковый sharedUserId
-
Приложения должны иметь одну подпись
-
Варианты 1 и 2 вместе
-
Никак
21.
Возможно ли изменять компоненты
пользовательского интерфейса из
background thread?
+
Невозможно. UI может быть изменен только
из UI thread. При попытке изменения системой
будет выброшен Exception
-
Невозможно. UI может быть изменен только
из UI thread. При попытке изменения ничего
не произойдет
-
Возможно с использованием Handler или
runOnUIThread()
-
Возможно из любого потока
-
Правильные вариант 1 и 2
-
Правильные вариант 1 и 3
22.
Какие из методов (onPause, onStop, onDestroy) будут
вызваны у activity, если в результате нажатия
пользователем кнопки внутри этой
activity будет показан диалог (наследник
DialogFragment)?
-
onPause -> onStop -> onDestroy
-
Только onPause -> onStop
+
Только onPause
-
Ни один из методов
23.
В каких случаях пересоздается activity,
созданная с параметрами по умолчанию?*
-
После перезагрузки устройства
-
При выходе приложения из background
+
При повороте экрана
24.
ContentProvider-ы можно использовать, как слой
абстракции для следующих источников
данных:
-
только база данных SQLite
-
только текстовые файлы
-
только Shared Preferences
+
Для любых источников данных, включая
описанные выше
25.
Верно ли, что ContenProvider, реализованный в
одном приложении, доступен другим
приложениям?
-
Верно
-
Верно, но при первом использовании
пользователю будет задан вопрос о
разрешении доступа
+
Верно, если есть соответствующая
настройка в манифесте
-
Не верно
26.
Что
будет если в манифесте не указать
"главную" Activity?*
-
Возникает ошибка сборки приложения
+
Возникает ошибка при установки приложения
-
Возникает ошибка при установки приложения
при API >= 11
-
Приложение соберется и установиться,
но не появиться в списке приложении на
устройстве
27.
Какой
метод класса ViewGroup (или его потомков)
при первой отрисовке вызовется первым?
*
-
onDraw
-
onSizeChanged
+
onMeasure
+
onLayout
28.
Каким способом нельзя сохранить ссылку
на AsyncTask при пересоздании activity
-
С помощью методов onRetainNonConfigurationInstance() /
getLastNonConfigurationInstance()
+
С помощью методов onSaveInstanceState() /
onRestoreInstanceState()
-
Сохранить ссылку в объекте Application
-
Сохранить ссылку в объекте Fragment
29.
Какой из ниже перечисленных механизмов
или компонентов, привязывается к
жизненному циклу Activity или Fragment? *
+
Поток, созданный в активити
-
Компонент Services
-
LoaderManager + Loaders
-
AsynkTask с методами onPostExecute и onPreExecute
30.
Что произойдёт, если вернуть null из
Fragment.onCreateView?
-
Возникнет исключительная ситуация
NullPointerException в конструкторе фрагмента
-
Возникнет исключительная ситуация
NullPointerException во время транзакции если не
указан тег
-
Возникнет исключительная ситуация
NullPointerException во время транзакции
+
Допустимо возвращать null
31.
Что произойдет при попытке выполнить
сетевой запрос с помощью URLConnection из
основных методов компонента Services на
Android OS 4+?
-
Выполнится запрос, UI тормозить не будет
-
Выполнится запрос, но UI системы будет
тормозить, пока выполняется запрос
-
Запрос не выполнится, так как Services не
предназначены для этого
+
Запрос не выполнится, так как Services
запускается в UI потоке и приложение
упадет с ошибкой
32.
Какой максимальный размер APK файла можно
загрузить в Google Play?
+
50мб
-
64мб
-
128мб
-
Нет ограничений на размер APK файла
33.
Какой порядок жизненного цикла правильный
во Fragment?*
+
onAttach(), onCreateView(), onAcitivtyCreated(), onDetach()
-
onAttach(), onAcitivtyCreated(), onCreateView(), onDetach()
-
onAcitivtyCreated(), onAttach(), onCreateView(), onDetach()
-
onCreateView(), onAttach(), onAcitivtyCreated(), onDetach()
34.
Как называется набор утилит для
подключения нативных библиотек?
-
ADB
-
SDK
+
NDK
-
ADT
35.
В каком порядке закончит свою работу
два AsyncTask-а, запущенные последовательно?
*
-
Зависит от того, как долго они выполняются,
так как AsyncTask-и работают параллельно
+
Если API >= 11, то закончат в порядке
запуска
-
Если API < 11, то закончат в порядке запуска
-
Если API < 11, то зависит от того, как долго
они выполняются, так как AsyncTask-и работают
параллельно
36.
Какие компоненты никогда не прописываются
в манифесте?
-
Activity
-
Service
-
Receiver
+
Loader
37.
Что нельзя сделать с помощью Intent?
-
Запустить Activity
-
Запустить Service
-
Отправить широковещательное сообщение
+
Прочитать данные из ContentProvider
38.
Какой способ сохранения ссылки на
runtime-объект (например AsyncTask) при пересоздании
activity рекомендуется в официальной
документации android?
-
С помощью методов onRetainNonConfigurationInstance() /
getLastNonConfigurationInstance()
-
С помощью методов onSaveInstanceState() /
onRestoreInstanceState()
-
Сохранить ссылку в объекте Application
+
Сохранить ссылку в объекте Fragment
39.
При запуске Activity из Service нужно:
-
Вызывать startActivity() на главном потоке
Service
+
Добавить в Intent флаг FLAG_ACTIVITY_NEW_TASK
-
Добавить в Intent флаг FLAG_ACTIVITY_NEW_INSTANCE
-
Использовать метод
Context.startActivityFromBackground()
40.
В каких случаях в приложении может быть
несколько файлов AndroidManifest.xml?
-
В случае поддержки разных локализаций
и конфигураций
-
В случае, если в Google Play устанавливается
разная цена в зависимости от региона
-
В случае наличия нескольких стартовых
Activity
+
Ни в каких, AndroidManifest.xml всегда один
41.
Какой компонент не может быть запущен
при помощи Intent?
+
Content provider
-
Broadcast receiver
-
Activity
-
Service
42.
Чему равен 1 dp., если плотность пикселей
экрана устройства соответсвует hdpi?*
-
1 px
+
1,5 px
-
2 px
-
3 px
43.
При нехватке ресурсов в системе какой
из перечисленных процессов android убьет
в последнюю очередь, при условии, что
ни один из процессов в данный момент не
отображает видимого пользователю
UI-интерфеса?
-
Процесс, в котором запущены три activity
+
Процесс, в котором запущен сервис и одна
activity
-
Процесс, который не содержит ни одного
запущенного компонента
-
Процесс, который занимает меньше всего
памяти
44.
Какие проблемы могут возникнуть, при
добавлении ListView в ScrollView?
-
Проблем не будет, все будет корректно
работать
-
Возникнет ошибка отрисовки элементов
на экране, элементы не отрисуются
-
Возникнет проблема скролинга, один из
элементов скролиться не будет
+
Скролл не будет работать ни в одном из
элементов
45.
Как обойти проблему 65к методов?
-
Проблема не обходится, нужно писать
меньше методов.
-
После компиляции APK необходимо сжать с
помощью архиватора
+
Использовать Multidex
-
Задать в настройках сборки специальные
параметры
46.
Какое расширение имеет файл со
скомпилированным байткодом в APK файле?
-
jar
+
dex
-
class
-
apk
47.
Что такое Toast?
-
UI элемент, добавляемый в Layout
-
Alert диалог
+
Всплывающее сообщение, скрываемое через
Х миллисекунд
-
Системное сообщение в шторке устройства
48.
Чей onCreate может быть вызван до
Application.onCreate?
+
ContentProvider.onCreate
-
Ничей, Application.onCreate всегда вызывается до
создания каких-либо сущностей приложения
-
Receiver.onCreate
-
Activity.onCreate
49.
Какие ограничения имеют экземпляры
класса Activity?
-
Занимать не весь экран
-
Быть запущена из другого приложения
-
Возвращать результат
+
Все варианты неправильные
50.
Какой(ие) метод(ы) обязательны для
переопределения при создании AsynсTask?
+
doInBackground()
-
doInBackground() и onProgressUpdate()а
-
doInBackground(), onProgressUpdate(), onPostExecute(), onPreExecute()
-
doInBackground() и onCancelled()
51.
Какой permission необходимо указать в
AndroidManifest.xml при использовании
HttpURLConnection?
-
android.permission.INTERNET и
android.permission.WRITE_EXTERNAL_STORAGE
-
android.permission.INTERNET и
android.permission.ACCESS_NETWORK_STATE
+
только android.permission.INTERNET
-
для использования HttpURLConnection не требуется
никакой permission
52.
В каком потоке выполняется вызов методов
Service-ов?
-
В потоке, который указан программистом
при создании сервиса
+
В главном потоке приложения
-
В потоке, который создаётся ОС специально
для сервисов данного приложения
-
В потоке, который создаётся для каждого
сервиса
53.
Чего нельзя добиться с помощью параметра
activity “android:configChanges”?
-
Отключить пересоздание activity при смене
ориентации экрана
-
Отключить пересоздание activity при смене
языка в настройках android
+
Совсем отключить пересоздание activity
54.
Что не может Activity?
-
Занимать не весь экран
-
Быть запущена из другого приложения
-
Возвращать результат
+
Все варианты неправильные
55.
Позволяет ли android автоматически менять
стиль пользовательского интерфейса в
зависимости от времени суток?
-
Не позволяет. Разработчику нужно
самостоятельно разрабатывать функции
определения текущего времени и вручную
выбирать нужный layout
-
Не позволяет, но SDK предоставляет метод
getResources().getConfiguration().isNight() для определения
ночного времени суток
+
Позволяет, для этого можно определить
разные файлы ресурсов с использованием
квалификаторов night и/или -notnight
-
Позволяет, для этого можно определить
разные файлы ресурсов с использованием
квалификатора -daytime
56.
Какая операция запрещена в onLoadFinished?
-
Создание и запуск Loaders с помощью методов
initLoader() или restartLoader()
-
Запуск новых Activity методом startActivity
+
Операции связанные с commit Fragment Transactions
-
Любые действия с UI элементами, требующих
выполнения в UI потоке
57.
В чем основное отличие ART от Dalvik?
-
Никаких отличий, просто решили
переименовать
-
Приложения на Dalvik работают быстрее за
счет виртуальном машины
+
Приложения на ART работают быстрее за
счет предварительной преобразования
байткод в момент установки приложения
-
Скорость компиляции приложения
58.
Что не является компонентом, описываемым
в манифесте?
-
Activity
-
Service
-
Receiver
+
Loader
59.
Каким образом можно вызвать метод,
доступа к которому нет на этапе компиляции?
-
При помощи mirroring
+
При помощи reflection
-
При помощи dependency injection
-
Никак нельзя
60.
Что представляет из себя Google Play Services ?
-
Набор подключаемых и документированных
библиотек для доступа к Google Services
- API документация, для доступа к Google Services
- API документация, для доступа к Google Services
-
Установленное на устройство пользователя
приложение Google Play Services, доступ к которому
происходит через вызовы Intent
+
Установленное на устройство пользователя
приложение Google Play Services, доступ к которому
происходит через набор подключаемых
библиотек.
61.
В каких случаях создаётся объект
Application, если он ещё не создан?
-
При запуске Activity
-
При запуске Service
-
При создании BroadcastReceiver
+
Во всех этих случаях
62.
Как остановить сервис? (выберите
НЕПРАВИЛЬНЫЙ вариант ответа)
-
метод StopService
-
метод StopSelf
+
оба варианта
Не "фонтан", но и не 0. Результатом не доволен, но результат оправдан. Назвать себя программистом Android было бы большим преувеличением, но мы не остановимся на достигнутом, а будем поступательно, шаг за шагом, идти вперед.
Наша цель: стать программистом Android.