KT Kotlin  ·  20 вопросов  ·  ~55 мин  ·  ⏱ Таймер 55:00  ·  Лёгкий  · 

Коллекции Kotlin

Задания про коллекции построены вокруг реального поведения List, MutableList, map, filter, группировки и последовательностей. Нужно видеть, где создаётся новая коллекция, где меняется исходная и когда отложенные вычисления действительно начинают выполняться.

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 20 вопросов отведено 55 минут. В каждом задании верен только один вариант. После завершения будут показаны общий результат и 4 тематических шкал.
Вопрос 1 из 20
Что выведет или вернёт код в «Агрегирование groupingBy»?
KotlinГруппировка · Агрегирование groupingBy
// Проследите фактическое выполнение без изменения кода.
fun main() {
    val words = listOf("a", "bb", "c", "ddd")
    val counts = words.groupingBy { it.length }.eachCount()
    println(counts.toSortedMap())
}
Вопрос 2 из 20
Что следует изменить прежде всего во фрагменте «Read-only представление MutableList»?
KotlinList и MutableList · Read-only представление MutableList
// Сохраните назначение фрагмента, но укрепите его контракт.
fun main() {
    val source = mutableListOf(1, 2)
    val view: List<Int> = source
    source += 3
    println(view)
}
Вопрос 3 из 20
Где поведение «Порядок filter и map» требует отдельной проверки?
Вопрос 4 из 20
Команда собирается использовать Sequence, когда раннее завершение или длинная цепочка действительно сокращают работу, а не по привычке. Что придётся учитывать после внедрения в «Ленивая бесконечная Sequence»?
Вопрос 5 из 20
Что добавить в регрессионный набор для «Read-only представление MutableList»?
Вопрос 6 из 20
Какое ограничение сохранится после правки «Порядок filter и map»: Сохранять ясную цепочку для небольших данных, а при больших объёмах измерить пользу `Sequence` или одного ручного прохода?
Вопрос 7 из 20
Сколько раз выполнится лямбда `map` и какой список получится?
KotlinПоследовательности · Ленивая бесконечная Sequence
// Проследите фактическое выполнение без изменения кода.
fun main() {
    val result = generateSequence(1) { it + 1 }
        .map { println("map $it"); it * 2 }
        .take(3)
        .toList()
    println(result)
}
Вопрос 8 из 20
Какой контракт определяет наблюдаемый результат «Агрегирование groupingBy»?
KotlinГруппировка · Агрегирование groupingBy
// На ревью требуется объяснить причину поведения.
fun main() {
    val words = listOf("a", "bb", "c", "ddd")
    val counts = words.groupingBy { it.length }.eachCount()
    println(counts.toSortedMap())
}
Вопрос 9 из 20
Что появится в выводе примера «Порядок filter и map»?
Kotlinmap и filter · Порядок filter и map
// Проследите фактическое выполнение без изменения кода.
fun main() {
    val result = listOf(1, 2, 3, 4)
        .filter { it % 2 == 0 }
        .map { it * it }
    println(result)
}
Вопрос 10 из 20
Какое утверждение точнее всего объясняет поведение фрагмента «Ленивая бесконечная Sequence»?
KotlinПоследовательности · Ленивая бесконечная Sequence
// На ревью требуется объяснить причину поведения.
fun main() {
    val result = generateSequence(1) { it + 1 }
        .map { println("map $it"); it * 2 }
        .take(3)
        .toList()
    println(result)
}
Вопрос 11 из 20
Какую точечную правку стоит принять на ревью фрагмента «Агрегирование groupingBy»?
KotlinГруппировка · Агрегирование groupingBy
// Сохраните назначение фрагмента, но укрепите его контракт.
fun main() {
    val words = listOf("a", "bb", "c", "ddd")
    val counts = words.groupingBy { it.length }.eachCount()
    println(counts.toSortedMap())
}
Вопрос 12 из 20
Команда собирается на границе владения возвращать копию или устойчивую неизменяемую структуру, если потребителю нужен снимок. Что придётся учитывать после внедрения в «Read-only представление MutableList»?
Вопрос 13 из 20
Что следует изменить прежде всего во фрагменте «Ленивая бесконечная Sequence»?
KotlinПоследовательности · Ленивая бесконечная Sequence
// Сохраните назначение фрагмента, но укрепите его контракт.
fun main() {
    val result = generateSequence(1) { it + 1 }
        .map { println("map $it"); it * 2 }
        .take(3)
        .toList()
    println(result)
}
Вопрос 14 из 20
Где поведение «Агрегирование groupingBy» требует отдельной проверки?
Вопрос 15 из 20
Каков фактический результат выполнения фрагмента «Read-only представление MutableList»?
KotlinList и MutableList · Read-only представление MutableList
// Проследите фактическое выполнение без изменения кода.
fun main() {
    val source = mutableListOf(1, 2)
    val view: List<Int> = source
    source += 3
    println(view)
}
Вопрос 16 из 20
Какой контракт определяет наблюдаемый результат «Порядок filter и map»?
Kotlinmap и filter · Порядок filter и map
// На ревью требуется объяснить причину поведения.
fun main() {
    val result = listOf(1, 2, 3, 4)
        .filter { it % 2 == 0 }
        .map { it * it }
    println(result)
}
Вопрос 17 из 20
Какое ограничение сохранится после правки «Агрегирование groupingBy»: Выбирать агрегирование без списков, если нужны только количества или сводные значения, особенно на больших данных?
Вопрос 18 из 20
Какое правило нужно применить, чтобы объяснить «Read-only представление MutableList»?
KotlinList и MutableList · Read-only представление MutableList
// На ревью требуется объяснить причину поведения.
fun main() {
    val source = mutableListOf(1, 2)
    val view: List<Int> = source
    source += 3
    println(view)
}
Вопрос 19 из 20
Какая небольшая правка заметно повышает надёжность «Порядок filter и map»?
Kotlinmap и filter · Порядок filter и map
// Сохраните назначение фрагмента, но укрепите его контракт.
fun main() {
    val result = listOf(1, 2, 3, 4)
        .filter { it % 2 == 0 }
        .map { it * it }
    println(result)
}
Вопрос 20 из 20
Какой редкий случай способен сломать наивную трактовку «Ленивая бесконечная Sequence»?

Ответьте на все 20 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу