Kotlin | Тесты
1.54K subscribers
25 photos
339 links
Cайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp

Вопросы собесов t.me/+OOb6zFa_-Oo3NjZi
Задачи t.me/+CVnW0MJk6xZjZDc6
Вакансии t.me/+KuGNaHeKkQg1NzAy
Download Telegram
🤔 Что такое итератор?

Итератор — это объект, позволяющий поэлементно перебирать коллекцию (список, массив и т.п.).
Он обычно предоставляет методы hasNext() и next() и позволяет абстрагироваться от конкретной структуры.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
🤔 Какой оператор используется для проверки наличия значения в диапазоне в Kotlin?
Anonymous Quiz
5%
within
73%
in
4%
inside
18%
contains
🤔 Какой результат выполнения выражения val result = listOf(1, 2, 3, 4, 5).fold(0) { acc, i -> acc - i }?
Anonymous Quiz
51%
-15
31%
0
9%
1
9%
-5
👍1💊1
🤔 Как работают SAM (Single Abstract Method)?

1. SAM-конверсии позволяют использовать лямбда-функции вместо объектов классов с одним абстрактным методом.
2. Это делает код более кратким и читабельным при работе с Java API или интерфейсами в Kotlin.
3. Пример: интерфейс с одним методом автоматически превращается в функциональный тип.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
🤔 Какой результат выполнения выражения val x = (1..5).map { it * it }.maxOrNull()?
Anonymous Quiz
94%
25
4%
5
0%
1
3%
null
🤔 Что такое git rebase и чем он отличается от merge?

- git merge объединяет ветки, сохраняя всю историю и создавая дополнительный коммит слияния. История остаётся ветвистой.
- git rebase переписывает историю так, будто твои коммиты применялись поверх новой базы. История становится линейной.
rebase изменяет хеши коммитов, поэтому не используй его для публичных веток, которые уже расшарены.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
🤔 В Java, какое исключение возникает при неправильной работе с потоками ввода/вывода?
Anonymous Quiz
77%
IOException
7%
InterruptedException
4%
ExecutionException
13%
StreamCorruptedException
🤔 В Kotlin, какой оператор позволяет безопасно вызвать метод на объекте, который может быть null?
Anonymous Quiz
83%
?.
3%
!!
14%
?:
0%
->
🤔 Можно ли в Android для организации многопоточного кода использовать Thread? Какие могут быть проблемы?

Можно, но с ограничениями:
- Thread — низкоуровневый механизм. Требует ручного управления.
- Проблемы:
- Утечки памяти (если не завершён правильно).
- Сложность отмены.
- Нет управления жизненным циклом.
- Потенциальная блокировка UI, если использовать неосторожно.
Поэтому чаще рекомендуются Handler, Executor, Coroutine, WorkManager, которые безопаснее и проще в управлении.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1
🤔 В Java, какой метод java.util.List позволяет вставить элемент в середину списка?
Anonymous Quiz
58%
add(index, element)
8%
set(index, element)
3%
push(index, element)
31%
insert(index, element)
🤔 Как работает SOLID-принцип SRP?

Принцип единственной ответственности (Single Responsibility Principle) гласит, что класс должен иметь одну, и только одну, причину для изменения. Это означает:
1. Класс должен выполнять только одну задачу или отвечать за один аспект функциональности.
2. Изменения в одной части функционала не должны влиять на другие аспекты.
3. Это упрощает сопровождение, тестирование и повторное использование кода.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2💊1
🤔 Какой ключевой элемент в Kotlin позволяет выполнить блок кода только для ненулевых значений?
Anonymous Quiz
15%
checkNotNull
18%
requireNotNull
54%
let
13%
notNull
💊9🤔1
🤔 Какой оператор позволяет безопасно вызвать метод на объекте, который может быть null в Kotlin?
Anonymous Quiz
97%
?.
2%
!!
0%
::
1%
->
🤔 Нужно запустить синхронный код и получить его результат. Как это будешь делать?

Если внутри асинхронного контекста (например, suspend или coroutine), можно использовать:
- withContext(
Dispatchers.IO) { блок } — синхронно для асинхронного вызова. Если вне корутины — через:
- runBlocking { блок } — для запуска корутин синхронно (например, в тестах).
- Если обычный код — просто вызвать метод, который возвращает результат.
Важно понимать контекст и избегать блокировок в UI.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🤔 Каким способом в Kotlin можно ограничить доступ к методу так, чтобы он мог быть вызван только определенным количеством раз?
Anonymous Quiz
41%
Использование счетчика вызовов и условия в методе
18%
Создание прокси-класса с контролем доступа
2%
Объявление метода как deprecated
💊8👍1
🤔 Какой результат выполнения выражения val result = listOf("a", "ab", "abc").count { it.length > 1 }?
Anonymous Quiz
4%
1
85%
2
8%
3
2%
0
Forwarded from easyoffer
Осталось всего 14 дней до завершения краудфандинга

Сейчас самое подходящее время подключиться, если вы ждали или откладывали:

Все, кто поддержат проект сейчас, до релиза, получат:
🚀 PRO-доступ на 1 год по цене месячной подписки
Бета-доступ к EasyOffer 2.0 (конец мая)

👉 Поддержать: https://planeta.ru/campaigns/easyoffer
🤔 Что такое DI?

Dependency Injection (DI) — это шаблон проектирования, в котором объект получает свои зависимости извне, а не создаёт их сам.
DI:
- Обеспечивает слабую связность компонентов.
- Упрощает тестирование и подмену зависимостей.
- Позволяет легче рефакторить и масштабировать проект.
DI может быть реализован вручную или через фреймворки (Dagger, Koin, Hilt).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1