– invalidate() — помечает View на перерисовку (вызов onDraw).
– requestLayout() — вызывает перерасчёт размеров и размещения (onMeasure, onLayout).
– postInvalidate() — отложенная перерисовка из не-UI потока.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какое значение будет у переменной val x = listOf("a", "b", "c").zip(listOf(1, 2, 3))?
Anonymous Quiz
93%
[(a, 1), (b, 2), (c, 3)]
2%
[(a, 2), (b, 3), (c, 1)]
1%
[(a, 3), (b, 2), (c, 1)]
4%
[(1, a), (2, b), (3, c)]
🤔 В Kotlin, как обеспечить, чтобы функция была доступна как метод экземпляра любого класса реализующего определенный интерфейс?
Anonymous Quiz
32%
Использовать расширение для интерфейса
43%
Добавить метод напрямую в интерфейс
1%
Применить глобальную функцию с проверкой типа
24%
Определить функцию в компаньон объекте интерфейса
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Kotlin реализовать паттерн "Наблюдатель" без использования сторонних библиотек?
Anonymous Quiz
27%
С помощью класса Observable
18%
Используя delegate свойств
43%
Путем реализации интерфейса Observer и класса Observable
12%
Создание пользовательских интерфейсов и использование лямбд
🤔 В Java, как можно синхронизировать доступ к блоку кода для нескольких потоков без использования ключевого слова synchronized?
Anonymous Quiz
30%
Использовать ReentrantLock
43%
Использовать volatile
10%
Использовать AtomicInteger
17%
Использовать Semaphore
Если используется делегирование интерфейса, то необходимо переопределить функции этого интерфейса. Это может быть getValue, setValue или любые кастомные функции, если используется пользовательский делегат.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 В Kotlin, как правильно инициализировать массив из 10 элементов нулями?
Варианты ответов:
Варианты ответов:
Anonymous Quiz
20%
Array(10, { 0 })
19%
IntArray(10, { 0 })
36%
IntArray(10) { 0 }
24%
List(10) { 0 }
🤔 В Kotlin, как объявить переменную, которая инициализируется только при первом доступе к ней?
Anonymous Quiz
23%
lateinit var name: String
19%
lazy val name: String
55%
val name: String by lazy { "Initial" }
3%
var name: String = lazyInit { "Initial" }
Напрямую — нет. Но можно имитировать:
– Через утилитные классы с static методами,
– Через интерфейсы с default-методами (с Java 8).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Kotlin реализовать универсальную функцию, которая возвращает новый список, преобразованный по определенному правилу, заданному через лямбду?
Anonymous Quiz
81%
Использовать map
11%
Применить transform
2%
Использовать convert
5%
Реализовать collect
🤔 Как Kotlin позволяет обеспечить выполнение кода только один раз в многопоточной среде без использования блокировок?
Anonymous Quiz
28%
Использование volatile модификатора
53%
Применение lazy делегата с модом SYNCHRONIZED
11%
Использование аннотации @ThreadSafe
8%
Реализация через класс ThreadLocal
Утечки возникают при забытых подписках. Для их предотвращения используют CompositeDisposable, отслеживают жизненный цикл компонентов и используют библиотеки автоматической отписки. Также важно не передавать Activity/Fragment напрямую в лямбды.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой результат выполнения выражения val x = (1..5).takeWhile { it < 4 }?
Anonymous Quiz
21%
[1, 2, 3, 4]
76%
[1, 2, 3]
3%
[4, 5]
1%
[]
🤔 Какой результат выполнения выражения val result = listOf("one", "two", "three").maxOfOrNull { it.length }?
Anonymous Quiz
18%
3
72%
5
9%
4
1%
6
Паттерны решают часто встречающиеся архитектурные задачи. В Android популярны:
- MVVM, MVP, MVC — разделение логики и UI.
- Singleton — для глобального доступа к объекту.
- Factory — для создания объектов.
- Observer — для подписки на события (LiveData, Flow).
- Builder — для пошаговой конфигурации сложных объектов.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Kotlin можно реализовать безопасный вызов функции, который позволит избежать выброса исключения, если входные данные невалидны?
Anonymous Quiz
30%
Использование runCatching {}
61%
Оборачивание вызова в try и catch
3%
Применение предикатов для входных данных
6%
Вызов функции внутри блока safeCall {}
🤔 Какое значение будет у переменной val x = (1..4).fold(1) { acc, i -> acc * i }?
Anonymous Quiz
78%
24
10%
10
5%
12
8%
16
Эта функция делит коллекцию на два списка: один содержит элементы, соответствующие условию, другой — не соответствующие. Это удобно для фильтрации без потери невалидных элементов.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 В Kotlin, как реализовать паттерн "Фабрика" без использования обычного класса фабрики?
Anonymous Quiz
21%
С помощью object с методом создания экземпляра
53%
Использовать companion object с фабричным методом
18%
Использование функций расширения для создания экземпляров
8%
Применить аннотацию @Factory к функции