Это достигается за счёт внедрения зависимостей (Dependency Inversion Principle):
- Domain-слой знает только об интерфейсах, например, UserRepository.
- Data-слой реализует эти интерфейсы, но уже зависит от domain.
- На этапе инициализации (DI) связываются реализации и абстракции.
Таким образом, направление зависимости переворачивается, и domain остаётся независимым.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой из приведенных типов нельзя использовать в when выражении без аргумента?
Anonymous Quiz
6%
Int
34%
String
37%
Boolean
23%
Long
🤔 В Java, какое ключевое слово используется для определения констант?
Anonymous Quiz
26%
constant
48%
final
25%
static
0%
fixed
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Какова основная цель использования типа Nothing в Kotlin?
Anonymous Quiz
8%
Представление отсутствующего значения в коллекциях
79%
Обозначение функции, которая никогда не возвращает значение
7%
Использование в качестве универсального типа для параметров
6%
Замена null для безопасных вызовов
🤔 В Kotlin, как правильно создать несколько вторичных конструкторов в классе?
Anonymous Quiz
84%
Использовать ключевое слово constructor для каждого вторичного конструктора.
3%
Использовать разные имена для каждого конструктора.
6%
Использовать аннотацию @Overload для различения конструкторов.
7%
Определить только один первичный конструктор и использовать init блоки.
Doze — это режим энергосбережения, введённый с Android 6.0.
Когда устройство долго не используется, система ограничивает:
- Доступ к сети.
- WakeLock-и.
- Фоновые задачи и синхронизации.
Исключения: alarms, high-priority FCM, foreground service.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Какая ключевая функция файла AndroidManifest.xml, которую нельзя выполнить другими способами?
Anonymous Quiz
10%
Определение зависимостей приложения
77%
Объявление разрешений для доступа к компонентам устройства
3%
Управление сетевыми настройками
10%
Конфигурация внешнего вида приложения
🤔 Какое преимущество предоставляют корутины в Kotlin по сравнению с традиционными потоками?
Anonymous Quiz
50%
Низкая нагрузка на систему
15%
Автоматическое управление памятью
12%
Нет необходимости в синхронизации
23%
Возможность отмены выполнения
Рекомендуется использовать делегирование через основной конструктор и инициализирующие блоки. Также можно применять аннотацию
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 В Java, какой класс из пакета java.util.concurrent используется для разбиения большой задачи на меньшие части и последующего параллельного выполнения?
Anonymous Quiz
43%
ExecutorService
27%
ForkJoinPool
21%
ConcurrentHashMap
8%
Semaphore
🤔 В Kotlin, как вернуть значение из when выражения?
Anonymous Quiz
69%
val result = when (x) { 1 -> "one"; 2 -> "two"; else -> "unknown" }
18%
val result = when (x) { 1 -> return "one" 2 -> return "two" else -> return "unknown" }
3%
val result = when (x) { 1: "one", 2: "two", else: "unknown" }
11%
val result = when { x == 1 -> "one" x == 2 -> "two" else -> "unknown" }
Сервис не запустится без разрешения и foreground-нотификации, если он работает в фоне на Android 8.0 и выше. Также необходимо явно указать сервис в манифесте, и для долгоживущих задач использовать foregroundService, иначе система его завершит.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой из следующих методов корректно реализует паттерн Singleton в Kotlin?
Anonymous Quiz
82%
object SingletonExample { fun demo() = "Demo" }
11%
class SingletonExample { companion object { fun demo() = "Demo" } }
4%
class SingletonExample private constructor() { fun demo() = "Demo" }
2%
class SingletonExample { object Demo { fun demo() = "Demo" } }
🤔 Как можно в Kotlin определить, что функция расширения применима только к коллекциям определённого типа элементов?
Anonymous Quiz
48%
Использование ограничений на тип в функции расширения
4%
Применение специфичных для типа операторов
39%
Использование ключевых слов where T : SpecificType
8%
Реализация через аннотацию @ExtensionFor(SpecificType)
- px (pixels) — абсолютные пиксели экрана.
- dp (density-independent pixels) — масштабируемые пиксели, зависят от плотности экрана.
- sp (scale-independent pixels) — как dp, но учитывают пользовательские настройки размера шрифта.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой результат выполнения выражения val result = (1..5).map { it * 2 }.filter { it > 5 }?
Anonymous Quiz
93%
[6, 8, 10]
4%
[2, 4, 6, 8, 10]
2%
[5, 6, 8, 10]
1%
[1, 2, 3, 4, 5]
🤔 Какой результат выполнения выражения val x = "Kotlin".indexOf('t')?
Anonymous Quiz
7%
1
77%
2
10%
3
7%
-1
- Стек (Stack) — хранит локальные переменные, параметры, вызовы функций. Объём ограничен (обычно от 512 КБ до 2 МБ на поток).
- Куча (Heap) — используется для динамического размещения объектов (new). Размер зависит от платформы и может быть от нескольких МБ до нескольких ГБ.
Стек быстрее, но меньше. Куча медленнее (и управляется GC), но объёмнее.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какое значение будет у переменной val x = listOf(1, 2, 3).associateBy { it * it }?
Anonymous Quiz
81%
{1=1, 2=4, 3=9}
11%
{1=1, 4=2, 9=3}
6%
{1=2, 4=3, 9=1}
2%
{2=1, 3=4, 4=9}