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

Вопросы собесов t.me/+OOb6zFa_-Oo3NjZi
Задачи t.me/+CVnW0MJk6xZjZDc6
Вакансии t.me/+KuGNaHeKkQg1NzAy
Download Telegram
🤔 В Kotlin, как запустить корутину, которая выполняется в главном потоке Android, и обработать исключение, возникшее в процессе её выполнения?
Anonymous Quiz
44%
Использовать MainScope().launch { try { ... } catch (e: Exception) { ... } }
31%
Использовать withContext(Dispatchers.Main) { ... }
15%
Использовать GlobalScope.launch(Dispatchers.Main) { ... }
10%
Использовать runBlocking { ... }
🤔 Что может тормозить приложение?

– Частые GC-сборки,
– UI-операции в главном потоке,
– Утечки памяти,
– Избыточные redraw,
– Сложные layout-структуры,
– Постоянные обращения к диску или сети без кеша.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
🤔 Как в Kotlin осуществить расширение встроенного класса, чтобы добавить новую функциональность?
Anonymous Quiz
17%
С помощью наследования
8%
Используя паттерн декоратор
74%
Создание функции расширения
1%
Прямое изменение исходного класса
🤔 Что даёт нам, как разработчикам, повысить качество продукта и упростить его тестирование?

Чистая архитектура, модульность, покрытие юнит-тестами, изоляция бизнес-логики, внедрение зависимостей, а также использование моков и интерфейсов — всё это упрощает поддержку, тестирование и масштабирование. Также помогает документация и CI/CD процессы.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
🤔 В Kotlin, как задать классу одно поле, доступное только для чтения извне класса, но изменяемое внутри класса?
Anonymous Quiz
67%
Использовать private set
13%
Использовать internal set
14%
Использовать protected set
6%
Использовать public set
🤔 Какое ключевое слово используется для создания однопоточного канала в Kotlin?
Anonymous Quiz
56%
channel
21%
single
3%
broadcast
20%
flow
🤔 Есть ли отличия между launch и async в обработке ошибок?

Да, есть.
- В launch {} ошибка автоматически передается вверх и может быть обработана CoroutineExceptionHandler.
- В async {} ошибки НЕ передаются автоматически, они остаются внутри Deferred<T>.
- Чтобы поймать ошибку в async {}, нужно вызвать await() внутри try-catch.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🤔 Что произойдет при вызове функции с параметром по умолчанию, если параметр не указан?
Anonymous Quiz
18%
Ошибка компиляции
1%
Ошибка выполнения
11%
Параметр принимает значение null
70%
Используется значение по умолчанию
💊2
🤔 Каким образом осуществляется навигация в Android?

Навигация в Android осуществляется несколькими способами, в зависимости от версии системы и используемых приложений. Основные методы включают жесты (свайпы, тапы), нажатия на экранные кнопки (на старых версиях), а также использование виртуальных или физических кнопок навигации (Домой, Назад, Последние приложения). Более современные версии Android полагаются преимущественно на жесты для навигации между приложениями и внутри них.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🤔 Опишите иерархию коллекций?

Основные интерфейсы и классы в Java Collections:
- Collection (базовый интерфейс)
- List — упорядоченные, допускают дубликаты (ArrayList, LinkedList)
- Set — уникальные элементы (HashSet, LinkedHashSet, TreeSet)
- Queue / Deque — структуры очередей (PriorityQueue, ArrayDeque)
- Map (не подчиняется Collection)
- HashMap, TreeMap, LinkedHashMap, ConcurrentHashMap
Каждый тип коллекции решает свою задачу: от хранения упорядоченных списков до ассоциативных массивов и очередей.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🤔 Объявление класса как final гарантирует, что он не может быть унаследован.
Anonymous Quiz
62%
variable?.let { // code }
5%
variable!!.run { // code }
21%
if (variable != null) { // code }
12%
variable?.also { // code }
💊26🤔6
🤔 В Kotlin, как можно создать генератор бесконечной последовательности чисел, начиная с заданного значения?
Anonymous Quiz
69%
Использовать generateSequence().
17%
Применить iterator и yield().
10%
Использовать рекурсивную функцию с tailrec.
3%
Создать infinite list с помощью listOf().
🤔 Чем отличаются add и replace?

– add — добавляет новый Fragment, старый остаётся.
– replace — удаляет текущий и добавляет новый.
add можно использовать при работе со стеком, replace — для замены.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
🤔 В Java, какой метод java.util.stream.Stream возвращает количество элементов в потоке?
Anonymous Quiz
68%
count()
4%
sum()
19%
size()
9%
length()
🤔 Какое значение будет у переменной val x = "abcdef".substringAfter('c', "default")?
Anonymous Quiz
12%
abc
74%
def
9%
default
5%
cdef
🤔 Как использовал Gradle в своей работе?

Gradle используется:
- Для сборки проекта и всех его модулей.
- Подключения зависимостей через implementation, api, kapt.
- Конфигурации build flavors, buildTypes (debug/release).
- Настройки proguard, versionCode, minSdk, compileSdk.
- Автоматизации процессов через Gradle tasks.
- Интеграции с CI/CD.
Также часто настраиваются build.gradle.kts файлы при использовании Kotlin DSL.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🤔 Какой результат будет у выражения listOf(1, 2, 3).fold(0) { sum, element -> sum + element } в Kotlin?
Anonymous Quiz
75%
6
15%
0
2%
1
8%
Ошибка компиляции