Kotlin предлагает пять scope-функций:
- let — для безопасных операций над объектом.
- run — для вызова блоков с результатом.
- apply — для настройки объекта.
- also — для побочных действий.
- with — для вызовов с контекстом объекта.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Anonymous Quiz
94%
Класс хранения данных с автоматически сгенерированными методами как equals(), hashCode(), toString()
3%
Особый тип класса для работы с пользовательскими данными
0%
Базовый класс для всех Kotlin-приложений
4%
Абстрактный класс, используемый для создания наследуемых объектов
Anonymous Quiz
9%
as
7%
is
79%
as?
5%
safeCast
- HashMap — структура ключ-значение. Лучше использовать, когда нужно быстро находить значение по ключу.
- Set — коллекция уникальных значений. Применяется, когда важна отсутствие дубликатов и быстрый поиск.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Anonymous Quiz
14%
HashMap
1%
Hashtable
62%
ConcurrentHashMap
23%
SynchronizedMap
Anonymous Quiz
24%
synchronized
33%
volatile
29%
lazy
14%
atomic
– Использовать эмулятор и встроенные инструменты Android Studio (Logcat, Profiler),
– Добавить ручные замеры времени,
– Использовать Unit и Instrumented тесты,
– Использовать StrictMode и LeakCanary.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Anonymous Quiz
49%
Comparable
28%
Comparator
2%
ComparableInterface
21%
Orderable
💊1
Anonymous Quiz
48%
Использование ключевого слова object
15%
Применение @Volatile и @Synchronized
12%
Использование двойной проверки блокировки
26%
Все вышеуказанные методы
Reified позволяет сохранять информацию о дженерике во время выполнения, что делает возможным проверки типа (if (T is String)).
Используется только в inline-функциях, так как код подставляется во время компиляции, сохраняя информацию о типе.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2💊1
Anonymous Quiz
78%
data class User(val name: String, val age: Int = 0)
6%
data class User(val name: String, optional val age: Int)
2%
data class User(mandatory val name: String, val age: Int?)
14%
data class User(val name: String, var age: Int?)
Anonymous Quiz
24%
Использовать arrayOfNulls()
24%
Применить Array(size) { initialValue }
16%
Объявить массив через new Array()
37%
Использовать listOfNotNull()
- Parcelable — Android-специфичный интерфейс, требует ручной реализации, но работает быстрее и эффективнее.
Используй Parcelable в Android, особенно для передачи данных между компонентами.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Anonymous Quiz
64%
Определить функцию с ключевым словом operator
10%
Использовать аннотацию @operator
25%
Просто определить функцию с нужным именем
1%
Использовать интерфейс Operator
💊1
Anonymous Quiz
86%
Использовать as? и ?:
3%
Применить is и явное приведение
9%
Использовать try/catch блок с явным приведением
3%
Использовать функцию typeSafeCast
2. При восстановлении (в onRestoreInstanceState) установить сохранённую позицию через RecyclerView.scrollToPosition или ScrollView.scrollTo.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Anonymous Quiz
34%
2
55%
3
6%
4
5%
5
Anonymous Quiz
40%
val myVar by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { computeValue() }
59%
val myVar by lazy { computeValue() }
1%
lazy val myVar = { computeValue() }
0%
val myVar: Lazy = lazy { computeValue() }
💊4
LIMIT нужен для:
- ограничения количества строк, что повышает производительность.
- постраничной загрузки.
- снижения потребления памяти и ускорения UI при отображении больших выборок.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Anonymous Quiz
46%
true
37%
false
6%
null
11%
Ошибка компиляции