linkedin-skill-assessments-quizzes

Андроїд

Питання 1. Який файл потрібно відредагувати, щоб додати функції, компоненти та дозволи до вашого Android-додатку?

Питання 2. Який XML-атрибут слід використовувати, щоб зробити ImageView доступним?

Питання 3. Ви запускаєте свій додаток, і коли переходите на новий екран, він падає. Яка дія НЕ допоможе вам діагностувати проблему?

Питання 4. Чому push-повідомлення можуть перестати працювати?

Питання 5. Який правильний набір класів компонентів потрібен для реалізації RecyclerView елементів, що відображає список віджетів вертикально?

    RecycleView
    RecyclerView.Adapter<T extends BaseAdapter>
    RecyclerView.ViewHolder<T extends BaseViewHolder>
    LinearLayoutManager
    RecycleView
    RecyclerView.Adapter
    RecyclerView.ViewHolder<T extends BaseViewHolder>
    LinearLayoutManager
    RecycleView
    RecyclerView.Adapter
    RecyclerView.ViewHolder
    LinearLayoutManager
    RecycleView
    RecyclerView.Adapter<VH extends ViewHolder>
    RecyclerView.ViewHolder
    LinearLayoutManager

Питання 6. Система Android знищує процес, коли потрібно звільнити пам’ять. Ймовірність знищення системою даного процесу залежить від стану процесу та активності в даний момент. При якій комбінації стану процесу та активності найбільш ймовірно буде знищено?

Питання 7. Ви створили клас NextActivity, який залежить від рядка з деякими даними, що передаються всередині intent. Який фрагмент коду дозволяє запустити вашу активність?

    Intent(this, NextActivity::class.java).also { intent ->
        startActivity(intent)
    }
    Intent(this, NextActivity::class.java).apply {
        put(EXTRA_NEXT, "some data")
    }.also { intent ->
        activityStart(intent)
    }
    Intent(this, NextActivity::class.java).apply {
        putExtra(EXTRA_NEXT, "some data")
    }.also { intent ->
        startActivity(intent)
    }
    Intent(this, NextActivity::class.java).apply {
        put(EXTRA_NEXT, "some data")
    }.also { intent ->
        activityStart(intent)
    }

Питання 8. Ви хочете включити модулі about та settings у свій проект. Які файли точно відображають їх включення?

Питання 9. Яка перевага використання анотації @VisibleForTesting?

Питання 10. Як би ви вказали у вашому файлі build.gradle, що ваш додаток вимагає принаймні рівень API 21 для запуску, але може бути протестований на рівні API 28?

      defaultConfig {
        ...
        minApiVersion 21
        targetApiVersion 28
      }
      defaultConfig {
        ...
        targetSdkVersion 21
        testSdkVersion 28
      }
      defaultConfig {
        ...
        minSdkVersion 21
        testApiVersion 28
      }
      defaultConfig {
        ...
      minSdkVersion 21
        targetSdkVersion 28
      }

Питання 11. Коли буде викликано onActivityResult() активності?

Посилання

Питання 12. Вам потрібно видалити подію на основі її ID з вашого API. Який фрагмент коду визначає цей запит у Retrofit?

Питання 13. Коли ви б використовували product flavor у налаштуваннях збірки?

Питання 14. За умови фрагмента нижче, як би ви отримали доступ до TextView з ID text_home, що міститься у файлі макета класу Fragment?

    private lateinit var textView: TextView
    override fun onCreateView(...): View? {
        val root = inflator.inflator(R>layout.fragment_home, container, false)
        textView = ??
        return root
    }

Питання 15. Чому ви використовуєте AndroidJUnitRunner при запуску UI-тестів?

Примітка: AndroidJUnitRunner дозволяє нам запускати тести в стилі JUnit3/4 на Android-пристроях

Питання 16. Що дозволяє вам правильно відновити стан користувача при перезапуску активності?

Посилання

Питання 17. Якщо головний потік заблокований занадто довго, система відображає діалог _.

Питання 18. Як би ви отримали значення електронної пошти користувача з SharedPreferences, переконавшись, що повернене значення не є null?

Пояснення: У методі "getDefaultSharedPrefarances(this).getString()" другий параметр передається так, щоб він міг бути повернений, якщо ключ не існує. Тому нам потрібно передати порожній рядок для повернення у випадку, якщо ключ не існує.

Питання 19. Чому проблематично визначати розміри, використовуючи пікселі на Android?

Посилання

Питання 20. Вам потрібно отримати список пристроїв, підключених до вашого комп’ютера з увімкненим налагодженням USB. Яка команда виконається за допомогою Android Debug Bridge?

Питання 21. Яке визначення drawable дозволяє досягти форми нижче?

img

    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="oval">
        <stroke
            android:width="4dp"
	    android:color="@android:color/white" />
	<solid android:color="@android:color/black" />
    </shape>
    <oval xmlns:android="http://schemas.android.com/apk/res/android">
        <stroke android:width="4dp" android:color="@android:color/black"/>
        <solid android:color="@android:color/white"/>
    </oval>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="oval">
        <stroke
            android:width="4dp"
            android:color="@android:color/black" />
        <solid android:color="@android:color/white" />
    </shape>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="oval">
        <stroke
            android:width="4dp"
            android:color="@android:color/white" />
        <solid android:color="@android:color/white" />
    </shape>

Питання 22. Для збереження невеликої колекції даних ключ-значення, що слід використовувати?

Питання 23. Вам потрібно отримати список фотографій з API. Який фрагмент коду визначає HTTP GET-запит у Retrofit?

Питання 24. За умови тестового класу нижче, який фрагмент коду буде правильним твердженням?

Питання 25. Який тег слід використовувати для додавання компонента багаторазового використання до файлу макета?

Питання 26. Ви хочете надати інший drawable для пристроїв, що знаходяться в альбомному режимі і мова яких встановлена на французьку. який каталог названо правильно?

Питання 27. Чому вам може знадобитися включити наступний дозвіл до вашого додатку?

android.permission.ACCESS_NETWORK_STATE

Питання 28. Яке зображення найкраще відповідає наступному LinearLayout?

    <LinearLayout
        android:layout_width="match_parent"
	android:layout_height="match_parent"
	android:orientation="horizontal"
	android:gravity="center">
	<Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />
	<Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />
        </LinearLayout>

Питання 29. Ви хочете відкрити стандартний додаток Dialer на пристрої. Що не так з цим кодом?

val dialerIntent = Intent()
val et = findViewById(R.id.some_edit_text)
dialerIntent.action = Intent.ACTION_DIAL
dialerIntent.data = Uri.parse("tel:" + et.getText()?.toString())
startActivity(dialerIntent)

Питання 30. Коли слід зберігати файли в каталозі /assets?

Посилання

Питання 31. Ви хочете дозволити користувачам робити фотографії у вашому додатку. Що не є перевагою створення відповідного intent, замість прямого запиту дозволу камери?

Питання 32. Коли б ви використовували функцію ActivityCompat.shouldShowRequestPermissionRationale()?

Питання 33. Ви хотіли б увімкнути відстеження аналітики лише у release збірках. Як ви можете створити нове поле у згенерованому класі BuildConfig для зберігання цього значення?

buildTypes {
	debug {
		buildConfig 'boolean', 'ENABLE_ANALYTICS', 'false'
	}
	release {
		buildConfig 'boolean', 'ENABLE_ANALYTICS', 'true'
	}
}
buildTypes {
	debug {
		buildConfig 'String', 'ENABLE_ANALYTICS', 'false'
	}
	release {
		buildConfig 'String', 'ENABLE_ANALYTICS', 'true'
	}
}
buildTypes {
	debug {
		buildConfigField 'boolean', 'ENABLE_ANALYTICS', 'false'
	}
	release {
		buildConfigField 'boolean', 'ENABLE_ANALYTICS', 'true'
	}
}
buildTypes {
	debug {
		buildConfigField 'boolean', 'ENABLE_ANALYTICS', 'true'
	}
	release {
		buildConfigField 'boolean', 'ENABLE_ANALYTICS', 'false'
	}
}

Питання 34. Для оптимізації розміру APK, який кодек зображень слід використовувати?

Посилання

Питання 35. Ви створили код для здійснення мережевого виклику і протестували, що він працює у вашому середовищі розробки. Однак, коли ви публікуєте його в консолі Play, мережевий виклик не працює. Що не допоможе вам усунути цю проблему?

Питання 36. Який фрагмент коду досягне макету, показаного нижче?

img

    <androidx.constraintlayout.widget.ConstraintLayout
	...>

	<TextView
		android:id="@+id/text_dashboard"
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:layout_marginTop="16dp"
		android:padding="8dp"
		android:textAlignment="center"
		android:text="Dashboard"
		app:layout_constraintEnd_toEndOf="parent"
		app:layout_constraintStart_toStartOf="parent"
		app:layout_constraintTop_toTopOf="parent" />

    </androidx.constraintlayout.widget.ConstraintLayout>
    <androidx.constraintlayout.widget.ConstraintLayout
	...>

	<TextView
		android:id="@+id/text_dashboard"
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:layout_marginStart="8dp"
		android:layout_marginEnd="8dp"
		android:textAlignment="center"
		android:text="Dashboard"
		app:layout_constraintEnd_toEndOf="parent"
		app:layout_constraintStart_toStartOf="parent"
		app:layout_constraintTop_toTopOf="parent" />

    </androidx.constraintlayout.widget.ConstraintLayout>
    <androidx.constraintlayout.widget.ConstraintLayout
	...>

	<TextView
		android:id="@+id/text_dashboard"
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:layout_marginStart="8dp"
		android:layout_marginTop="16dp"
		android:layout_marginEnd="8dp"
		android:padding="8dp"
		android:textAlignment="center"
		android:text="Dashboard"
		app:layout_constraintEnd_toEndOf="parent"
		app:layout_constraintStart_toStartOf="parent"
		app:layout_constraintTop_toTopOf="parent" />

    </androidx.constraintlayout.widget.ConstraintLayout>
    <androidx.constraintlayout.widget.ConstraintLayout
	...>

	<TextView
		android:id="@+id/text_dashboard"
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:layout_marginStart="8dp"
		android:layout_marginTop="16dp"
		android:layout_marginEnd="8dp"
		android:padding="8dp"
		android:text="Dashboard"
		app:layout_constraintEnd_toEndOf="parent"
		app:layout_constraintStart_toStartOf="parent"
	/>

</androidx.constraintlayout.widget.ConstraintLayout>

Питання 37. Який набір джерел не доступний вам за замовчуванням, коли Android Studio створює новий проект?

Питання 38. Яке визначення запобіжить доступу інших додатків до вашого класу Activity через intent?

	<activity android:name=".ExampleActivity" />
	<activity android:name=".ExampleActivity">
		<intent-filter>
			<action android:name="android.intent.action.SEND" />
		</intent-filter>
	</activity>
	<activity android:name=".ExampleActivity">
		<intent-filter>
			<action android:name="android.intent.action.MAIN" />
			<category android:name="android.intent.category.LAUNCHER" />
		</intent-filter>
	</activity>
	<activity android:name=".ExampleActivity">
		<intent-filter>
			<action android:name="android.intent.action.VIEW" />
		</intent-filter>
	</activity>

Пояснення: Intent-фільтри використовуються для забезпечення доступності активностей іншим додаткам за допомогою intent. Тому ми повинні вибрати варіант, у якому немає intent-фільтра, щоб переконатися, що він недоступний через intent

Питання 39. Для збереження пам’яті на пристрої, як ви можете визначити, що пристрій користувача має обмежені можливості зберігання?

Питання 40. Що не є хорошим способом повторного використання коду Android?

Питання 41. Який макет найкращий для великих, складних ієрархій?

Питання 42. Вам потрібно оновитися до останньої версії плагіна Android Gradle. Який файл слід змінити?

посилання

Питання 43. Чому розробники часто розміщують код ініціалізації додатку в класі Application?

посилання

Питання 44. Яку папку слід використовувати для іконок запуску вашого додатку?

Питання 45. Яке визначення drawable дозволяє досягти форми нижче?

img

	<shape xmlns:android-"http://schemas.android.com/apk/res/android"
	    android:shape-"oval">
	    <gradient
               android:startColor-"@android:color/white"
               android:endColor-"@android:color/black"
               android:angle-"45"/>
	</shape>
	<rectangle xmlns:android-"http://schemas.android.com/apk/res/android">
	   <gradient
	      android:startColor-"@android:color/white"
	      android:endColor-"android:color/black"
	      android:angle-"135"/>
	</rectangle>
	<shape xmlns:android-"http://schemas.android.com/apk/res/android"
	   android:shape-"rectangle">
	   <gradient
	      android:startColor-"@android:color/white"
	      android:endColor-"@android:color/black"
	      android:angle-"135"/>
	</shape>
	<shape xmlns:android-"http://schemas.android.com/apk/res/android"
	   android:shape-"rectangle">
	   <gradient
	      android:startColor-"@android:color/white"
	      android:endColor-"@android:color/black"
	      android:angle-"98"/>
	</shape>

Питання 46. За умови ConstraintLayout нижче, яке твердження є правильним?

img

Питання 47. За умови цього фрагмента коду з файлу build.gradle, який вибір не є можливим варіантом збірки?

android {
    ...
    defaultConfig{...}

    buildTypes{
    debug{...}
    releasae{...}
}

    flavorDimensions "environment"
    productFlavors {
        producation {...}
        staging {...}
    }
}

Посилання

Питання 48. Коли слід використовувати каталог androidTest для зберігання ваших тестових класів?

Посилання

Питання 49. За умови APK з назвою app-internal-debug.apk, створеного з процесу збірки, яке твердження, ймовірно, є правильним?

Питання 50. При спробі збірки вашого проекту, що може вказувати наступна помилка?

Conversion to Dalvik format filed: Unable to execute dex: method ID not in [0, 0xffff]: 65536

Питання 51. Яке твердження у файлі build.gradle правильно вказує, що відповідний модуль є модулем бібліотеки Android?

Питання 52. За умови наступного файлу dimens.xml, як би ви визначили ImageView з середнім інтервалом знизу?

<?xml version=1.0 encoding="utf-8"?>
<resources>
    <dimen name="spacing_medium">8dp</dimen>
    <dimen name="spacing_large">12dp</dimen>
</resources>
<ImageView
   android:id=@+id/image_map_pin"
   android:layout_width="wrap_content"
   android:layout_heignt="wrap_content"
   android:src=@drawable/map_pin />
<ImageView
   android:id=@+id/image_map_pin"
   android:layout_width="wrap_content"
   android:layout_heignt="wrap_content"
   androi:layout_botttom="@dimen/spacing_medium"
   android:src=@drawable/map_pin />
<ImageView
   android:id=@+id/image_map_pin"
   android:layout_width="wrap_content"
   android:layout_heignt="wrap_content"
   android:layout_marginBottom="@resources/spacing_medium"
   android:src=@drawable/map_pin />
<ImageView
   android:id=@+id/image_map_pin"
   android:layout_width="wrap_content"
   android:layout_heignt="wrap_content"
   android:layout_marginBottom="@dimen/spacing_medium"
   android:src=@drawable/map_pin />

Питання 53. Що не є перевагою винесення ресурсів додатку, таких як зображення та рядки, з коду?

Питання 54. Яка головна мета п’ятого рядка в цьому фрагменті коду?

override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_post_create)

	if (savedInstanceState != null) return

	val fragment = CreatePostFragment()
		supportFragmentManager
		.beginTransaction()
		.add(R.id. fragment_container, fragment)
		.commit()

}

Питання 55. Який компонент не є точкою входу, через яку система або користувач можуть увійти у ваш додаток?

Питання 56. Що слід використовувати для відображення великого прокручуваного списку елементів?

Питання 57. Ви створили клас AboutActivity, який відображає деталі про ваш додаток. Який фрагмент коду дозволяє вам запустити вашу активність?

Пояснення: Intent(Context packageContext, Class<?> cls) Примітка: Class, а не KClass

Питання 58. Яке призначення файлу AndroidManifest.xml?

Питання 59. Який атрибут елемента використовується для вказівки мінімального рівня API, необхідного для запуску додатку?

Питання 60. Для зменшення вашого коду в release-збірках, який інструмент використовує Android Studio?

Пояснення: Коли ви збираєте свій проект, використовуючи плагін Android Gradle 3.4.0 або вище, плагін більше не використовує ProGuard для виконання оптимізації коду під час компіляції. Натомість плагін працює з компілятором R8 для обробки

Посилання

Питання 61. Яка ієрархія макетів, ймовірно, буде намальована найшвидше?

Питання 62. Який поточний рекомендований спосіб обробки довгих фонових завдань?

Посилання

Питання 63. Вам потрібно надати вашим користувачам певні функції вашого додатку на вимогу або як миттєві враження через Google Play. Який тип модуля слід створити?

  1. Посилання
  2. Посилання

Питання 64. Який підхід не рекомендується для забезпечення корисного офлайн-стану у вашому додатку?

Посилання

Питання 65. Якщо вам потрібно, щоб код вашого додатку перевіряв інформацію про поточну збірку, який клас слід використовувати?

Питання 66. У ConstraintLayout нижче, чому кнопка не розширюється, щоб заповнити ширину батьківського елемента?

    <androidx.constraintlayout.widget.ConstrantLayout
        ...>
	    <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Button"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"/>

    </androidx.constraintlayout.widget.ConstrantLayout>

Питання 67. Що не є випадком використання для idling resources у ваших Espresso-тестах?

Питання 68. Що не є типом ресурсу для надання вашому додатку рядків?

Питання 69. Що не входить у життєвий цикл активності?

Питання 70. Ви хочете дозволити користувачам робити фотографії у вашому додатку. Який фрагмент коду є правильним підходом?

  fun showCamera(view: View) {
      Log.i(TAG, "Show camera button pressed.")
      if (ContextCompat.shouldShowRequestPermissionRationale(thisActivity,
      Manifest.permission.CAMERA) {
        showCameraPreview()
      }
       else {
         requestPermissionLauncher.launch(Manifest.permission.CAMERA)
       }
   }
  fun showCamera(view: View) {
      Log.i(TAG, "Show camera button pressed.")
      if (ContextCompat.checkSelfPermission(thisActivity,
      Manifest.permission.CAMERA)
      == PackageManager.PERMISSION_GRANTED) {
        showCameraPreview()
      }
      else {
         requestPermissionLauncher.launch(Manifest.permission.CAMERA)
      }
  }
  fun showCamera(view: View) {
      Log.i(TAG, "Show camera button pressed.")
      showCameraPreview()
  }
  fun showCamera(view: View) {
      Log.i(TAG, "Show camera button pressed.")
      if (ContextCompat.checkSelfPermission(thisActivity,
      Manifest.permission.CAMERA)
      != PackageManager.PERMISSION_GRANTED) {
         showCameraPreview()
       }
       else {
          requestPermissionLauncher.launch(Manifest.permission.CAMERA)
       }
  }

Питання 71. За умови рядкового ресурсу нижче, який фрагмент коду є дійсним?

<string name="upload_photo_notification">%1$d of %2$d photos uploaded</string>
val string: String = getString(
   R.string.upload_photo_notification,
   "2",
   "5"
)
val string: String = getString(
   R.id.upload_photo_notification,
   2,
   5
)
val string: String = getString(
   R.string.upload_photo_notification,
   2,
   5
)
val string: String = getString(
   R.id.upload_photo_notification,
   "2",
   "5"
)

Посилання

Питання 72. Різні мови мають різні правила граматичної угоди з кількістю. Для підтримки наступних двох рядків кількома мовами у вашому додатку, яке ідеальне визначення ресурсу?

"You have 1 day remaining"
"You have 2 days remaining"
<string name="trial_days_left_one"> You have %1$d day remaining</string>
<string name="trial_days_left_other">You have %1$d days remaining</string>
<plurals name="trial days left">
    <plural quantity="one">You have %1$d day remaining</plural>
    <plural quantity="other">You have %1$d days remaining</plural>
</plurals>
<plurals name="trial_days_left">
    <item quantity="one">You have %1$d day remaining</item>
    <item quantity="other">You have %1$d days remaining</item>
</plurals>
<string name="trial_days_left">
    <plural quantity="one">You have %1$d day remaining</plural>
    <plural quantity="other">You have &1$d days remaining</plural>
</string>

Питання 73. Коли операційна система використовує метод onTrimMemory()?

Посилання

Питання 74. У вашому додатку є RecyclerView елементів. Ви хочете мати різну конфігурацію для портретного та альбомного режимів. який фрагмент коду дозволить вам найкраще підтримати макет нижче?

img

recyclerView.setLayoutManager(GridLayoutManager(this, 3))
val coulumnCount = resources.getInteger(R.integer.column_count)
recyclerView.setLayoutManager(GridLayoutManager(this, columnCount))
recyclerView.setLayoutManager(LinearLayoutManager(this))
val coulumnCount = resources.getInteger(R.integer.column_count)
recyclerView.setLayoutManager(LinearLayoutManager(this, columnCount))

Питання 75. Вам потрібно видалити подію на основі її ID з вашого API. Який фрагмент коду визначає цей запит у Retrofit?

Питання 76. Ви хочете дозволити користувачам робити фотографії у вашому додатку. Що не є перевагою створення відповідного intent, замість прямого запиту дозволу камери?

Питання 77. Який поточний рекомендований спосіб обробки довгих фонових завдань?