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

Вопросы собесов t.me/+OOb6zFa_-Oo3NjZi
Задачи t.me/+CVnW0MJk6xZjZDc6
Вакансии t.me/+KuGNaHeKkQg1NzAy
Download Telegram
🤔 Что происходит, если попытаться изменить значение переменной, объявленной как `val`?
Anonymous Quiz
3%
Компиляция успешно пройдет
1%
Значение переменной будет изменено
95%
Произойдет ошибка компиляции
1%
Переменная станет var
🤔 Какой результат выполнения выражения val result = (1..5).reduce { acc, i -> acc * i }?
Anonymous Quiz
17%
15
66%
120
13%
60
4%
30
🤔 В чём разница между функциями коллекций associateWith() и associateBy()?

associateBy создаёт Map, где ключи берутся из заданной логики, а значениями становятся элементы коллекции. associateWith наоборот — элемент становится ключом, а значение задаётся отдельно.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
🤔 Как в Java создать массив фиксированного размера?
Anonymous Quiz
65%
int[] array = new int[5]
20%
ArrayList array = new ArrayList<>(5)
7%
int[] array = {1,2,3,4,5}
8%
Array array = Array.of(5)
🤔 Какой типовой параметр используется для объявления изменяемого множества в Kotlin?
Anonymous Quiz
9%
Set
5%
HashSet
85%
MutableSet
1%
LinkedHashSet
🤔 Разница ArrayList, LinkedList, Vector?

ArrayList, LinkedList и Vector — это структуры данных для хранения элементов. ArrayList основан на динамическом массиве, поэтому обеспечивает быстрый доступ по индексу (O(1)), но медленное удаление и вставку в середине (O(n)). LinkedList реализован как двусвязный список, что делает его более эффективным для операций вставки и удаления (O(1) при доступе по ссылке), но медленным для доступа по индексу (O(n)). Vector похож на ArrayList, но является синхронизированным, что делает его безопасным для многопоточной среды, однако снижает производительность при однопоточных операциях.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🤔 Как можно в Kotlin управлять версиями зависимостей в модульных проектах для предотвращения конфликтов?
Anonymous Quiz
76%
Использование Gradle version catalog
11%
Применение Maven BOMs
2%
Использование строгой версификации
🤔 Откуда у Handler способность работать с главным потоком?

Handler связан с Looper, который обрабатывает очередь сообщений. Главный поток имеет свой Looper, созданный автоматически при запуске приложения, и Handler, связанный с этим Looper, может отправлять сообщения в главный поток.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1
🤔 Какие модификаторы доступа могут быть в типах в Kotlin?

- public — доступен везде (по умолчанию).
- internal — доступен в пределах модуля.
- protected — доступен внутри класса и подклассов.
- private — доступен внутри файла или класса.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
🤔 Как в Kotlin преобразовать nullable тип String? в non-nullable String?
Anonymous Quiz
8%
.nonNull()
63%
!!
27%
.orEmpty()
2%
.safe()
💊9
🤔 Возможно ли из обычных функций вызывать composable функцию?

Нет, composable функции можно вызывать только из других composable функций. Для этого используется аннотация
@Composable, которая указывает компилятору, что функция предназначена для декларативного описания интерфейса.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🤔 Какой оператор используется для приведения типов в Kotlin?
Anonymous Quiz
3%
cast
87%
as
7%
is
3%
instanceof
🤔 Почему происходят гонки потоков и как с этим бороться?

Гонки происходят, когда два потока одновременно обращаются к общим данным без синхронизации. Решения:
- synchronized,
- ReentrantLock,
- Atomic-типы,
- volatile — только если нужна гарантия видимости, но не атомарности.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
🤔 Как в Kotlin можно абстрагировать процесс логирования так, чтобы можно было легко переключаться между различными реализациями логирования без изменения основного кода?
Anonymous Quiz
70%
Использовать интерфейс Logger и различные его реализации.
12%
Использовать singleton объект для логирования.
3%
Применить макросы логирования.