ProGuard — это инструмент для:
- Минификации (сжатие имён классов, методов и полей),
- Удаления неиспользуемого кода,
- Обфускации (затруднение обратной декомпиляции кода).
В Android он часто используется в прод-сборках для защиты кода и уменьшения размера APK.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Anonymous Quiz
64%
true
19%
false
10%
null
7%
Ошибка компиляции
Anonymous Quiz
6%
constructor
93%
init
1%
static
0%
setup
Это достигается за счёт внедрения зависимостей (Dependency Inversion Principle):
- Domain-слой знает только об интерфейсах, например, UserRepository.
- Data-слой реализует эти интерфейсы, но уже зависит от domain.
- На этапе инициализации (DI) связываются реализации и абстракции.
Таким образом, направление зависимости переворачивается, и domain остаётся независимым.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊7🔥2👍1
Anonymous Quiz
7%
Int
34%
String
36%
Boolean
24%
Long
💊8
Anonymous Quiz
27%
constant
48%
final
25%
static
0%
fixed
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1
Какова основная цель использования типа Nothing в Kotlin?
Anonymous Quiz
8%
Представление отсутствующего значения в коллекциях
79%
Обозначение функции, которая никогда не возвращает значение
7%
Использование в качестве универсального типа для параметров
6%
Замена null для безопасных вызовов
Anonymous Quiz
86%
Использовать ключевое слово constructor для каждого вторичного конструктора.
3%
Использовать разные имена для каждого конструктора.
6%
Использовать аннотацию @Overload для различения конструкторов.
6%
Определить только один первичный конструктор и использовать init блоки.
Doze — это режим энергосбережения, введённый с Android 6.0.
Когда устройство долго не используется, система ограничивает:
- Доступ к сети.
- WakeLock-и.
- Фоновые задачи и синхронизации.
Исключения: alarms, high-priority FCM, foreground service.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Какая ключевая функция файла AndroidManifest.xml, которую нельзя выполнить другими способами?
Anonymous Quiz
9%
Определение зависимостей приложения
78%
Объявление разрешений для доступа к компонентам устройства
4%
Управление сетевыми настройками
10%
Конфигурация внешнего вида приложения
Anonymous Quiz
51%
Низкая нагрузка на систему
14%
Автоматическое управление памятью
11%
Нет необходимости в синхронизации
24%
Возможность отмены выполнения
Рекомендуется использовать делегирование через основной конструктор и инициализирующие блоки. Также можно применять аннотацию
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Anonymous Quiz
46%
ExecutorService
24%
ForkJoinPool
23%
ConcurrentHashMap
8%
Semaphore
Anonymous Quiz
70%
val result = when (x) { 1 -> "one"; 2 -> "two"; else -> "unknown" }
16%
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" }
🤔3
Сервис не запустится без разрешения и foreground-нотификации, если он работает в фоне на Android 8.0 и выше. Также необходимо явно указать сервис в манифесте, и для долгоживущих задач использовать foregroundService, иначе система его завершит.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Anonymous Quiz
81%
object SingletonExample { fun demo() = "Demo" }
12%
class SingletonExample { companion object { fun demo() = "Demo" } }
4%
class SingletonExample private constructor() { fun demo() = "Demo" }
3%
class SingletonExample { object Demo { fun demo() = "Demo" } }
Anonymous Quiz
48%
Использование ограничений на тип в функции расширения
5%
Применение специфичных для типа операторов
41%
Использование ключевых слов where T : SpecificType
6%
Реализация через аннотацию @ExtensionFor(SpecificType)
💊1
- px (pixels) — абсолютные пиксели экрана.
- dp (density-independent pixels) — масштабируемые пиксели, зависят от плотности экрана.
- sp (scale-independent pixels) — как dp, но учитывают пользовательские настройки размера шрифта.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍1
Anonymous Quiz
92%
[6, 8, 10]
5%
[2, 4, 6, 8, 10]
2%
[5, 6, 8, 10]
1%
[1, 2, 3, 4, 5]
Anonymous Quiz
6%
1
79%
2
9%
3
6%
-1