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

Вопросы собесов t.me/+OOb6zFa_-Oo3NjZi
Задачи t.me/+CVnW0MJk6xZjZDc6
Вакансии t.me/+KuGNaHeKkQg1NzAy
Download Telegram
🤔 Как в Kotlin реализовать функцию, которая принимает два параметра и возвращает их сумму, используя лямбда-выражение?
Anonymous Quiz
62%
val sum = { a: Int, b: Int -> a + b }
29%
fun sum(a: Int, b: Int) = { a + b }
4%
val sum = function(a: Int, b: Int): Int { return a + b }
5%
val sum = fun(a: Int, b: Int) = a + b
🤔 В Kotlin, каким образом можно выполнить несколько операций фильтрации и преобразования данных последовательно?
Anonymous Quiz
8%
Использовать метод chain
88%
Использовать последовательные вызовы map и filter
2%
Использовать метод compile
2%
Применить оператор &&
🤔 Что происходит с объектами, которые больше не нужны?

Объекты, которые больше не имеют активных ссылок, считаются "мусором". Такие объекты автоматически удаляются сборщиком мусора (Garbage Collector), освобождая память для новых объектов. Это происходит в фоновом режиме и не требует прямого вмешательства разработчика.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
🤔 Как в Kotlin правильно инициализировать список, содержащий числа от 1 до 10?
Anonymous Quiz
16%
val numbers = 1..10
61%
val numbers = (1..10).toList()
12%
val numbers = listOf(1, 10)
10%
val numbers = Array(10) { i -> i + 1 }
🤔 Что такое примитивы?

Примитивы — это базовые типы данных, которые хранят значения напрямую, а не как объекты.
• Основные типы: int, float, double, boolean, char, byte, short, long.
• Примитивы эффективны по памяти и скорости, но не имеют методов.
Оболочки примитивов (Integer, Double и т.д.) позволяют использовать их как объекты.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍1💊1
🤔 Что такое руты в сборщике мусора?

Руты (GC Roots) — это объекты, которые сборщик мусора считает "живыми" и от которых начинается поиск достижимых объектов. Примеры GC Roots:
1. Локальные переменные в стеке потока.
2. Статические поля классов.
3. Объекты, на которые ссылаются JNI (Native) ссылки.
Если объект не достижим из GC Roots, он помечается для удаления.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1
🤔 В Kotlin, как можно инициализировать переменную типа List<Int> с числами от 1 до 10?
Anonymous Quiz
19%
val numbers = List(10) { it + 1 }
63%
val numbers = listOf(1..10)
15%
val numbers = (1..10).toArray()
3%
val numbers = mutableListOf(1 until 11)
💊4👍1
🤔 List(10) { it + 1 } правильно инициализирует список из 10 элементов, где каждый элемент на 1 больше его индекса.
Anonymous Quiz
37%
Изменяет и возвращает объект
27%
Выполняет код, возвращая исходный объект
2%
Преобразует объект в другой тип
34%
Возвращает результат переданной функции
💊9👀3
🤔 Что такое утечки памяти?

Утечки памяти возникают, когда объекты в памяти больше не используются, но продолжают удерживаться из-за активных ссылок, которые на них ссылаются.
1. В языках с автоматическим управлением памятью, таких как Java или Python, утечки обычно вызваны циклическими ссылками или неправильным использованием коллекций.
2. В языках со статическим управлением памятью, таких как C++, утечки происходят из-за отсутствия освобождения памяти после выделения (например, забыли вызвать delete после new).
3. Основная проблема утечек — рост потребления памяти, что может привести к замедлению программы или её краху.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
🤔 Как в Kotlin обозначить, что функция принимает другую функцию в качестве параметра?
Anonymous Quiz
67%
(Int) -> String
8%
Function<Int, String>
20%
{ Int -> String }
5%
Callable<Int, String>
💊5👍1
🤔 Как происходит составление хешмапы, если совпадает хеш-код?

В хешмапе, когда два ключа имеют одинаковый хеш-код (коллизия), выполняется разрешение коллизий:
1. Связанные списки (Chaining): элементы с одинаковым хеш-кодом хранятся в одном bucket'е в виде связанного списка.
2. Открытая адресация (Open Addressing): используется поиск следующей свободной ячейки (линейный или квадратичный).
3. Деревья: современные реализации, такие как HashMap в Java 8+, используют сбалансированные деревья для оптимизации поиска при высоком числе коллизий.
Каждый ключ проверяется методом equals для точного соответствия.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
🤔 В Kotlin, как обозначить функцию, которая принимает переменное количество аргументов одного типа?
Anonymous Quiz
91%
Использовать vararg
4%
Использовать array
4%
Использовать list
1%
Использовать spread
🤔 Можно ли наследоваться от data class?

Нет, наследование от data class запрещено.
1. Это связано с автоматической генерацией ключевых методов, таких как equals, hashCode, toString и copy.
2. Добавление наследования может привести к конфликтам в логике этих методов.
3. Если требуется общее поведение, лучше использовать композицию или обычные классы.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
🤔 В Kotlin, какой тип используется для представления символьных данных?
Anonymous Quiz
13%
String
74%
Char
0%
Text
13%
CharSequence
🤔 Как в Kotlin создать список, который автоматически удаляет дубликаты при добавлении элементов?
Anonymous Quiz
2%
Использовать listOf()
3%
Использовать mutableListOf()
81%
Использовать setOf()
14%
Использовать linkedSetOf()
💊7