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
Anonymous Quiz
17%
Использовать наследование для расширения классов.
28%
Применять функции расширения для добавления новых методов.
17%
Использовать классы-оболочки с внедрением зависимостей через конструктор.
38%
Все перечисленные методы подходят.
💊1
Anonymous Quiz
17%
С помощью наследования
8%
Используя паттерн декоратор
74%
Создание функции расширения
1%
Прямое изменение исходного класса
Чистая архитектура, модульность, покрытие юнит-тестами, изоляция бизнес-логики, внедрение зависимостей, а также использование моков и интерфейсов — всё это упрощает поддержку, тестирование и масштабирование. Также помогает документация и CI/CD процессы.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Anonymous Quiz
67%
Использовать private set
13%
Использовать internal set
14%
Использовать protected set
6%
Использовать public set
Anonymous Quiz
56%
channel
21%
single
3%
broadcast
20%
flow
Да, есть.
- В launch {} ошибка автоматически передается вверх и может быть обработана CoroutineExceptionHandler.
- В async {} ошибки НЕ передаются автоматически, они остаются внутри Deferred<T>.
- Чтобы поймать ошибку в async {}, нужно вызвать await() внутри try-catch.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Anonymous Quiz
55%
[[1, 2, 3], [3, 4, 5], [5, 6, 7], [7, 8, 9], [9, 10]]
18%
[[1, 2, 3], [2, 3, 4], [3, 4, 5], [4, 5, 6], [5, 6, 7]]
17%
[[1, 2, 3], [2, 3, 4], [3, 4, 5], [4, 5, 6], [5, 6, 7], [6, 7, 8], [7, 8, 9], [8, 9, 10]]
10%
[[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]
Anonymous Quiz
18%
Ошибка компиляции
1%
Ошибка выполнения
11%
Параметр принимает значение null
70%
Используется значение по умолчанию
💊2
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Anonymous Quiz
20%
Объявить класс как sealed
69%
Использовать модификатор final
7%
Объявить все методы как private
4%
Скрыть конструктор класса
💊2
Anonymous Quiz
11%
Использовать ключевое слово multiplatform
73%
Использовать Gradle плагин kotlin-multiplatform
10%
Объявить platform класс
5%
Использовать библиотеку kotlinx
🔥1
- 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
Anonymous Quiz
62%
variable?.let { // code }
5%
variable!!.run { // code }
21%
if (variable != null) { // code }
12%
variable?.also { // code }
💊26🤔6
Anonymous Quiz
69%
Использовать generateSequence().
17%
Применить iterator и yield().
10%
Использовать рекурсивную функцию с tailrec.
3%
Создать infinite list с помощью listOf().
– add — добавляет новый Fragment, старый остаётся.
– replace — удаляет текущий и добавляет новый.
add можно использовать при работе со стеком, replace — для замены.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
Anonymous Quiz
68%
count()
4%
sum()
19%
size()
9%
length()
Anonymous Quiz
12%
abc
74%
def
9%
default
5%
cdef
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
Anonymous Quiz
75%
6
15%
0
2%
1
8%
Ошибка компиляции