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

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

MV* паттерны — это архитектурные подходы, разделяющие логику приложения на слои:
- MVC (Model-View-Controller): Контроллер управляет моделью и обновляет представление.
- MVP (Model-View-Presenter): Презентер принимает действия от view, взаимодействует с моделью и обновляет UI.
- MVVM (Model-View-ViewModel): ViewModel содержит логику и состояние, а view автоматически подписана на изменения через биндинг.
Цель — отделить UI от логики и улучшить масштабируемость, читаемость и тестируемость.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
🤔 Каким образом можно гарантировать выполнение какой-либо логики после всех попыток выполнения и перехвата исключений в Kotlin?
Anonymous Quiz
84%
Использовать блок finally
8%
Применить try и catch без finally
1%
Вызвать функцию doFinally()
7%
Завершить блок catch соответствующим кодом
🤔 Какой модификатор доступа в Kotlin по умолчанию?

Для верхнеуровневых элементов (файлов, классов) — public.
Для членов класса — также public, если не указано иначе.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🤔 Как в Kotlin реализовать функцию, которая принимает массив функций и последовательно применяет их к начальному значению?
Anonymous Quiz
32%
Использовать fold начиная с начального значения
15%
Применить apply к каждой функции в массиве
31%
Использовать forEach и последовательно вызывать каждую функцию
22%
Применить reduce на массиве функций
🤔1
🤔 Какая функция в Kotlin позволяет выполнить код только в том случае, если значение переменной не `null`?
Anonymous Quiz
30%
checkNotNull
46%
requireNotNull
15%
runNotNull
8%
alsoNotNull
💊2
🤔 Зачем нужен @Binds, когда уже есть @Provides?

-
@Provides используется, когда ты сам пишешь реализацию метода, который создаёт объект — подходит для фабричных методов или случаев с дополнительной логикой.
-
@Binds применяется, когда ты просто хочешь связать интерфейс с уже существующей реализацией, без явного кода создания. Он экономит ресурсы компиляции, так как генерирует меньше обёрток и вызывается напрямую.
@Binds предпочтительнее, если не требуется сложная логика в методе.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1💊1
🤔 Как можно в Kotlin выполнить преобразование списка строк в список их длин?
Anonymous Quiz
88%
Использование map { it.length }
4%
Применение convert { length }
3%
Вызов list.transform { it.length }
4%
Использование collect { it.length }
🤔 Как в Kotlin правильно инициализировать список, содержащий числа от 1 до 10?
Anonymous Quiz
22%
val numbers = 1..10
57%
val numbers = (1..10).toList()
17%
val numbers = listOf(1, 10)
4%
val numbers = Array(10) { i -> i + 1 }
🤔 В какие стороны может быть направлена вариантность в дженерике?

Вариантность бывает:
- In (контравариантность) — объект принимает типы, более общие, чем указанный (Consumer).
- Out (ковариантность) — объект возвращает типы, более специфичные (Producer).
- Без ограничений — используется с * или без ключевого слова, когда точная типизация не важна.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🤔 Какой тип данных возвращает функция без явного указания типа возвращаемого значения?
Anonymous Quiz
74%
Unit
7%
Void
13%
Any
6%
Nothing
📱 Стажировки и вакансии для KOTLIN разработчиков.

- Вакансии которых нет на джоб-агрегаторах
- Только прямые контакты HR в Telegram

👉 @jobs_kotlin

Пока другие листают джоб-сайты — ты уже пишешь HR в Telegram.
🤔 В Kotlin, какой способ позволяет создать иммутабельный список?
Anonymous Quiz
78%
listOf()
16%
mutableListOf()
4%
ArrayList()
2%
LinkedList()
🤔 Как синхронизировать корутины?

С помощью:
- Mutex — аналог Lock для корутин.
- Channel — для безопасного обмена данными.
- atomic/Volatile — при использовании из kotlinx.atomicfu.
- Использование withContext и Dispatchers для контроля над потоком.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
🤔 В Java, как можно обеспечить потокобезопасное ленивое инициализирование синглтона без использования синхронизации?
Anonymous Quiz
42%
Использовать Double Check Locking
27%
Использовать volatile
14%
Использовать внутренний статический класс
16%
Использовать synchronized
🔥1
🤔 Какая функция в Kotlin используется для ленивой инициализации свойства?
Anonymous Quiz
4%
lazyOf
77%
lazy
19%
lateinit
0%
deferred
🤔 Какой жизненный цикл сервисов?

Жизненный цикл зависит от типа сервиса:
- Start Service (обычный):
- onCreate()
- onStartCommand()
- onDestroy()
- Bound Service (привязанный):
- onCreate()
- onBind()
- onUnbind()
- onDestroy()
Система может перезапустить сервис, если он был завершён (в зависимости от флага START_STICKY, START_NOT_STICKY и т.п.).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2