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

Вопросы собесов t.me/+OOb6zFa_-Oo3NjZi
Задачи t.me/+CVnW0MJk6xZjZDc6
Вакансии t.me/+KuGNaHeKkQg1NzAy
Download Telegram
🤔 Расскажи data классы и sealed классы.

Data классы в Kotlin предназначены для хранения данных и автоматически генерируют методы, такие как equals(), hashCode(), toString() и copy(). Они идеально подходят для создания POJO/POCO объектов.
Sealed классы используются для представления ограниченного набора типов, похожих на перечисления, но с возможностью иметь классы с разными свойствами и методами. Это помогает обеспечить безопасное использование при работе с типами во время компиляции, улучшая обработку ошибок и логику ветвления.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1
🤔 В Java, какой интерфейс нужно реализовать, чтобы объекты класса могли быть упорядочены?
Anonymous Quiz
61%
Comparable
23%
Comparator
4%
ComparableInterface
12%
Orderable
🤔 В Java, каким образом можно синхронизировать доступ к переменной между несколькими потоками?
Anonymous Quiz
37%
volatile
59%
synchronized
2%
final
2%
static
🤔 Чем launch отличается от async/await?

Функция launch в Kotlin Coroutines используется для запуска новой сопрограммы, которая выполняется параллельно остальному коду, и не блокирует поток, в котором она была вызвана. Результатом launch является Job, который представляет собой ссылку на сопрограмму.
Async используется для запуска сопрограммы, которая возвращает Deferred — промис для результата. Await используется для получения этого результата, при этом ожидание результата suspend'ит (приостанавливает) текущую сопрограмму до его получения.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍1
🤔 В Kotlin, как можно реализовать паттерн "Наблюдатель" без использования библиотек?
Anonymous Quiz
22%
Использовать delegation
15%
Использовать interfaces
6%
Использовать object expressions
57%
Использовать callbacks
💊4👍1
🤔 В Kotlin, как определить функцию, которая принимает неограниченное количество аргументов одного типа?
Anonymous Quiz
86%
fun printAll(vararg items: String)
6%
fun printAll(items...: String)
3%
fun printAll(items: Array<String>)
5%
fun printAll(items: List<String>)
👍3
🤔 Расскажи как существуют и к чему привязаны фрагменты в Activity?

Фрагменты в Android — это компоненты приложения, которые могут быть добавлены в Activity для создания модульного интерфейса. Фрагменты жизненно привязаны к Activity, которая выступает как хост для них. Они имеют собственный жизненный цикл, который тесно связан с жизненным циклом своей родительской Activity. Фрагменты можно добавлять, удалять и заменять во время выполнения приложения, что делает их идеальными для адаптивных и динамических пользовательских интерфейсов.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
🤔 В Java, какой класс из пакета java.util.concurrent помогает синхронизировать задачи, вызывая их завершение при достижении общей точки синхронизации?
Anonymous Quiz
26%
CyclicBarrier
47%
Semaphore
20%
CountDownLatch
8%
Exchanger
🤔 Расскажи, про какие структуры данных знаешь.

Я знаю о многих структурах данных, включая массивы, связные списки (односвязные и двусвязные), стеки, очереди, деревья (бинарные, AVL, красно-черные), хеш-таблицы, графы, кучи (минимальные и максимальные), и более сложные структуры, такие как B-деревья и префиксные деревья (трие). Каждая структура данных имеет свои особенности и используется в зависимости от требований к алгоритму и операциям, которые необходимо оптимизировать.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊5👍2🔥2
🤔 В Kotlin, как обозначается блок кода, который выполняется независимо от того, было ли выброшено исключение?
Anonymous Quiz
6%
always { ... }
90%
finally { ... }
0%
end { ... }
3%
complete { ... }
🤔 В Kotlin, как преобразовать nullable переменную String? в non-nullable String используя оператор безопасного вызова?
Anonymous Quiz
54%
val result = nullableString ?: "default"
11%
val result = nullableString!!.toString()
23%
val result = nullableString?.let { it } ?: "default"
12%
val result = nullableString?.toString() ?: "default"
💊9🤯5
🤔 В каком потоке запускается самый обычный сервис?

В Android обычный сервис (`Service`) запускается в основном потоке приложения (UI thread). Это значит, что для выполнения длительных операций в сервисе следует использовать многопоточность, чтобы избежать блокировки интерфейса пользователя.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3
🤔 В Java, какой метод java.util.stream.Stream возвращает количество элементов в потоке?
Anonymous Quiz
53%
count()
5%
sum()
27%
size()
16%
length()
🤔 Какие есть особенности использования nothing в дженериках?

`Nothing` в Kotlin используется в дженериках для обозначения отсутствия значения. Это полезно, например, для функций, которые никогда не завершаются нормально (например, бросают исключение). `Nothing` является подтипом каждого другого типа, что позволяет его использовать в любом дженерике без нарушения типовой безопасности.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
🤔 В Kotlin, как проверить, является ли число типа Float NaN (not a number)?
Anonymous Quiz
54%
num.isNaN()
31%
Float.isNaN(num)
8%
num == NaN
7%
isNaN(num)
🤔 Бывают ли случаи, когда нельзя использовать inline?

Функции в Kotlin могут быть объявлены как `inline` для уменьшения накладных расходов при вызове функций высшего порядка. Однако, `inline` нельзя использовать, если тело функции содержит код, который не может быть встроен, например, если функция содержит рекурсивные вызовы сама на себя.

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