Kotlin | Тесты
1.54K subscribers
24 photos
335 links
Cайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp

Вопросы собесов t.me/+OOb6zFa_-Oo3NjZi
Задачи t.me/+CVnW0MJk6xZjZDc6
Вакансии t.me/+KuGNaHeKkQg1NzAy
Download Telegram
🤔 Какой модификатор доступа делает класс или функцию доступными только внутри того файла, в котором они объявлены?
Anonymous Quiz
22%
internal
65%
private
11%
protected
2%
public
🤔 Как scope узнает о том, что корутина была отменена?

Scope получает сигнал отмены через isActive и CancellationException.
1. Проверка isActive – корутина может проверять свое состояние.
2. Бросок CancellationException – если корутина cancel(), все suspend-функции выбросят исключение.
3. Корутине может передаваться Job, который автоматически отменяется с Scope.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🤔 Какой способ объявления коллекции в Kotlin гарантирует её неизменяемость?
Anonymous Quiz
7%
mutableListOf()
11%
arrayListOf()
79%
listOf()
3%
mutableSetOf()
🤔 Есть ли случаи, когда не получится отменить корутину?

Да, есть три основных случая:
1. Блокирующий код – если внутри корутины используется блокирующая операция (Thread.sleep(), while(true) {}), она не реагирует на отмену.
2. Отмена родительской корутины не отменяет launch(NonCancellable) – если корутина запущена с NonCancellable, она игнорирует отмену.
3. Отмена не срабатывает, если корутина не проверяет isActive или yield() – долгие вычисления без точек приостановки не дадут корутине завершиться.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
🤔 Как в Kotlin можно задать условие в `when` выражении, которое выполняется для нескольких разных значений переменной?
Anonymous Quiz
16%
Используя индивидуальные случаи для каждого значения
63%
Группируя значения с помощью запятой
4%
Применяя регулярные выражения
17%
На каждое значение заводится отдельная ветка
🤔 Как в Kotlin можно гарантировать, что собственная функция расширения будет видна только в одном файле?
Anonymous Quiz
39%
Объявив ее как private
15%
Используя internal
33%
Декларируя ее как public
12%
Никак, функции расширения всегда глобальны
🤔 Как сделать свою корутину неотменяемой?

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
🤔 Как можно в Kotlin определить, что значение переменной не должно быть сериализовано?
Anonymous Quiz
14%
Объявляя переменную как transient
20%
Применяя модификатор noSerialize
14%
Используя аннотацию @Volatile
👍1
👍1
🤔 Чем отличаются runBlocking, runBlockingTest и runTest?

- runBlocking {} – полностью блокирует поток, пока не завершится корутина. Используется редко.
- runBlockingTest {} – устаревший механизм тестирования корутин (заменен на runTest).
- runTest {} – современный способ тестирования корутин, позволяет управлять виртуальным временем, ускоряя тесты.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
🤔 Как правильно объявить глобальную переменную, доступную во всем Kotlin проекте?
Anonymous Quiz
41%
Используя top-level переменную
39%
Объявив переменную в companion object
4%
Используя keyword global перед переменной
👍1
🤔 Как можно в Kotlin выполнить код, зависящий от конкретной реализации интерфейса, если объект этого интерфейса?
Anonymous Quiz
70%
Используя smart cast и проверку типа с `is`
15%
Применяя прямое приведение типов
13%
Вызывая специализированные функции интерфейса
2%
Используя паттерн Visitor
🤔 Как работает Mutex в корутинах?

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3🤔2
🤔 Какой из следующих подходов позволяет в Kotlin обработать исключение, сохраняя при этом цепочку вызовов функций?
Anonymous Quiz
33%
Используя try-catch блок внутри каждой функции
47%
Применяя функцию runCatching и последующие вызовы onFail или onSuccess
9%
Вызывая функции внутри блока finally
11%
Ни один из перечисленных методов
🤔 Какой тип ключевого слова Kotlin позволяет определить абстрактные свойства в классе или интерфейсе?
Anonymous Quiz
94%
abstract
3%
open
2%
sealed
1%
lateinit
😁5
🤔 Почему не рекомендуется использовать с корутинами synchronized блок и аналоги таких типов?

1. synchronized блоки в Java/Kotlin работают на уровне потоков, а не корутин – это разные механизмы синхронизации.
2. Блокировка потоков замедляет работу – Mutex работает в асинхронном стиле, не блокируя потоки.
3. Глобальные synchronized блоки не учитывают отмену корутин – если корутина отменена, synchronized не освобождает ресурс.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7💊1
🤔 Какой синтаксис правильно создает многомерный массив в Kotlin?
Anonymous Quiz
20%
Array(3) { Array(3) { 0 } }
60%
arrayOf(arrayOf(0, 0, 0), arrayOf(0, 0, 0), arrayOf(0, 0, 0))
7%
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
14%
MultiArray<Int>(3, 3)
💊6