2. Несмотря на то, что объект data-класса может быть изменён (mutable), его методы equals и hashCode основаны на значениях текущих свойств.
3. Это требует осторожности при использовании var в ключевых полях для обеспечения консистентности данных.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
Anonymous Quiz
5%
var variable: String
72%
val variable: String
14%
const variable: String
9%
lateinit var variable: String
💊7
Anonymous Quiz
88%
is
9%
as
0%
in
3%
typeOf
1. SAM-конверсии позволяют использовать лямбда-функции вместо объектов классов с одним абстрактным методом.
2. Это делает код более кратким и читабельным при работе с Java API или интерфейсами в Kotlin.
3. Пример: интерфейс с одним методом автоматически превращается в функциональный тип.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Anonymous Quiz
70%
Использовать несколько интерфейсов с default методами
14%
Создать несколько абстрактных классов
2%
Использовать ключевое слово multiinherit
14%
Наследовать несколько классов
Anonymous Quiz
17%
Использовать try/catch в каждой корутине
4%
Определить global exception handler
18%
Использовать supervisorScope с перехватом исключений
60%
Применить CoroutineExceptionHandler
💊7
2. Источники данных: оцениваю, где будут храниться данные (локально или на сервере) и их объём.
3. Проектная структура: использую абстракцию, чтобы Repository был универсальным и легко заменяемым.
4. Учитываю, насколько критична скорость доступа к данным и возможность кэширования.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Anonymous Quiz
9%
Использовать Thread.sleep()
70%
Применить delay()
3%
Использовать Timer()
18%
Написать await()
Anonymous Quiz
45%
Переопределить метод equals()
15%
Использовать ===
38%
Применить ==
2%
Переопределить метод hashCode()
💊10🤯8👀1
1. Git Flow: отлично подходит для сложных проектов с чётким управлением версиями, но может быть избыточен для небольших проектов.
2. Feature Branching: позволяет изолировать работу над фичами, упрощая код-ревью, но усложняет синхронизацию.
3. Trunk-Based Development: быстрый и простой подход, особенно для Agile-команд, но может создавать конфликты из-за частого коммита в основную ветку.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Anonymous Quiz
87%
Использовать ключевое слово constructor для каждого вторичного конструктора.
5%
Использовать разные имена для каждого конструктора.
4%
Использовать аннотацию @Overload для различения конструкторов.
5%
Определить только один первичный конструктор и использовать init блоки.
Anonymous Quiz
41%
Определить интерфейс с методом стратегии и классы, реализующие этот интерфейс.
34%
Использовать класс с свойством типа функции и менять это свойство в зависимости от стратегии.
13%
Применить аннотацию @Strategy для функций стратегии.
12%
Создать множество функций, которые вызываются в зависимости от условий.
2. Совместимость: если приложение требует поддержки старых версий Android, может быть нецелесообразным.
3. Производительность: оцениваю, насколько Compose улучшит скорость разработки и производительность UI.
4. Обучение команды: важен уровень подготовки команды к работе с Compose, так как переход требует времени и ресурсов.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Anonymous Quiz
23%
Использовать ключевое слово lateinit
72%
Использовать делегат lazy
4%
Применить модификатор volatile
1%
Использовать функцию synchronized
Anonymous Quiz
55%
Использовать модификатор internal с open
29%
Использовать sealed class
3%
Применить модификатор private с open
13%
Использовать protected open class
💊4
1. Измерение: определение размеров текста с учётом шрифта и стиля (используя Paint.measureText или StaticLayout).
2. Размещение: расчёт позиции текста на экране.
3. Рендеринг: отрисовка текста на Canvas через методы drawText или StaticLayout.draw.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Anonymous Quiz
49%
Использовать модификатор private и расположить все классы в одном файле.
45%
Использовать модификатор internal и объединить все классы в одном пакете.
2%
Применить аннотацию @JvmPrivate.
4%
Использовать модификатор fileprivate.
💊3
Anonymous Quiz
16%
Использовать lateinit var с модификатором internal
44%
Использовать internal val и инициализировать при объявлении
17%
Использовать companion object с internal val
24%
Использовать object с модификатором internal
🤔1
2. Включить предзагрузку данных с помощью RecyclerView.OnScrollListener.
3. Реализовать Prefetching через LinearLayoutManager или RecyclerView.LayoutManager.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
Anonymous Quiz
16%
Использовать if/else внутри лямбды
15%
Использовать when внутри лямбды
4%
Использовать try/catch внутри лямбды
64%
Все вышеперечисленные
💊6