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

Вопросы собесов t.me/+OOb6zFa_-Oo3NjZi
Задачи t.me/+CVnW0MJk6xZjZDc6
Вакансии t.me/+KuGNaHeKkQg1NzAy
Download Telegram
🤔 Что из себя представляет Job?

Это объект управления корутиной, который:
- Хранит состояние корутины (активна, завершена, отменена).
- Связан с родительским контекстом (child-parent Job).
- Позволяет управлять жизненным циклом (отмена, ожидание завершения).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
🤔 Какой из нижеперечисленных модификаторов делает свойство доступным только в текущем модуле?
Anonymous Quiz
6%
private
14%
protected
79%
internal
1%
public
🤔2👍1
🤔 Как правильно создать одноэлементный список в Kotlin?
Anonymous Quiz
79%
listOf(1)
4%
setOf(1)
5%
mutableListOf(1)
12%
arrayOf(1)
💊10🤯2👀1
🤔 Какие известны способы обработки ошибок в корутинах?

1. Try-catch внутри launch {} или async {} – локальная обработка ошибок.
2. CoroutineExceptionHandler – глобальная обработка в launch, но не работает с async.
3. supervisorScope {} – дочерние корутины не завершают родительский scope при ошибке.
4. try-catch вокруг await() – обработка исключений из async.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
🤔 Что происходит, если попытаться изменить значение переменной, объявленной как `val`?
Anonymous Quiz
3%
Компиляция успешно пройдет
2%
Значение переменной будет изменено
94%
Произойдет ошибка компиляции
1%
Переменная станет `var`
🤔 Как в Kotlin можно вызвать конструктор суперкласса?
Anonymous Quiz
81%
super()
13%
this()
3%
base()
2%
parent()
🤔 Есть ли отличия между launch и async в обработке ошибок?

Да, есть.
- В launch {} ошибка автоматически передается вверх и может быть обработана CoroutineExceptionHandler.
- В async {} ошибки НЕ передаются автоматически, они остаются внутри Deferred<T>.
- Чтобы поймать ошибку в async {}, нужно вызвать await() внутри try-catch.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
🤔 Какое выражение в Kotlin корректно создает массив целых чисел?
Anonymous Quiz
54%
intArrayOf(1, 2, 3)
8%
arrayOfInt(1, 2, 3)
30%
Array<Int>(1, 2, 3)
8%
List<Int>(1, 2, 3)
👍1
🤔 В Kotlin, какой метод позволяет копировать объект data класса с возможностью изменения некоторых свойств?
Anonymous Quiz
8%
clone()
86%
copy()
3%
replicate()
3%
duplicate()
🤔 В чем разница между coroutineScope и supervisorScope?

Оба создают новый scope, но различие в обработке ошибок:
- coroutineScope {} – если одна дочерняя корутина упадет, отменяются все остальные.
- supervisorScope {} – если одна корутина упадет, остальные продолжают работу.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2
🤔 Какой модификатор доступа делает класс или функцию доступными только внутри того файла, в котором они объявлены?
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%
Никак, функции расширения всегда глобальны