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

Вопросы собесов t.me/+OOb6zFa_-Oo3NjZi
Задачи t.me/+CVnW0MJk6xZjZDc6
Вакансии t.me/+KuGNaHeKkQg1NzAy
Download Telegram
🤔 Как сделать свою корутину неотменяемой?

Используется контекст NonCancellable, который заставляет корутину игнорировать запросы на отмену.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
🤔 Как можно в Kotlin определить, что значение переменной не должно быть сериализовано?
Anonymous Quiz
14%
Объявляя переменную как transient
20%
Применяя модификатор noSerialize
14%
Используя аннотацию @Volatile
👍1
👍1
🤔 Чем отличаются runBlocking, runBlockingTest и runTest?

- runBlocking {} – полностью блокирует поток, пока не завершится корутина. Используется редко.
- runBlockingTest {} – устаревший механизм тестирования корутин (заменен на runTest).
- runTest {} – современный способ тестирования корутин, позволяет управлять виртуальным временем, ускоряя тесты.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
🤔 Как правильно объявить глобальную переменную, доступную во всем Kotlin проекте?
Anonymous Quiz
41%
Используя top-level переменную
39%
Объявив переменную в companion object
4%
Используя keyword global перед переменной
👍1
🤔 Как можно в Kotlin выполнить код, зависящий от конкретной реализации интерфейса, если объект этого интерфейса?
Anonymous Quiz
70%
Используя smart cast и проверку типа с `is`
15%
Применяя прямое приведение типов
13%
Вызывая специализированные функции интерфейса
2%
Используя паттерн Visitor
🤔 Как работает Mutex в корутинах?

Это механизм синхронизации, который позволяет исключить одновременный доступ нескольких корутин к ресурсу.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3🤔2
🤔 Какой из следующих подходов позволяет в Kotlin обработать исключение, сохраняя при этом цепочку вызовов функций?
Anonymous Quiz
33%
Используя try-catch блок внутри каждой функции
47%
Применяя функцию runCatching и последующие вызовы onFail или onSuccess
9%
Вызывая функции внутри блока finally
11%
Ни один из перечисленных методов
🤔 Какой тип ключевого слова Kotlin позволяет определить абстрактные свойства в классе или интерфейсе?
Anonymous Quiz
94%
abstract
3%
open
2%
sealed
1%
lateinit
😁5
🤔 Почему не рекомендуется использовать с корутинами synchronized блок и аналоги таких типов?

1. synchronized блоки в Java/Kotlin работают на уровне потоков, а не корутин – это разные механизмы синхронизации.
2. Блокировка потоков замедляет работу – Mutex работает в асинхронном стиле, не блокируя потоки.
3. Глобальные synchronized блоки не учитывают отмену корутин – если корутина отменена, synchronized не освобождает ресурс.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7💊1
🤔 Какой синтаксис правильно создает многомерный массив в Kotlin?
Anonymous Quiz
20%
Array(3) { Array(3) { 0 } }
60%
arrayOf(arrayOf(0, 0, 0), arrayOf(0, 0, 0), arrayOf(0, 0, 0))
7%
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
14%
MultiArray<Int>(3, 3)
💊6
🤔 Почему плохо менять layout внутри аниматора?

1. Частые изменения layout вызывают re-layout и re-draw – это нагружает рендеринг и снижает FPS.
2. Анимации должны работать в отдельном слое (RenderThread) – изменение layout тормозит главный поток.
3. Есть альтернатива – вместо layout-изменений лучше использовать TranslationX/Y, ScaleX/Y и Alpha.
Использование ViewPropertyAnimator помогает избежать ненужных


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
🤔 Какой из следующих методов создает новый экземпляр класса в Kotlin без использования ключевого слова `new`?
Anonymous Quiz
5%
create
11%
init
8%
construct
76%
Нет необходимости в специальном методе
🤔 Что из себя представляет Flow?

Это асинхронный поток данных, который работает как List, но лениво.
Особенности:
- Выдает значения последовательно – одно за другим.
- Не блокирует поток – работает с suspend-функциями.
- Поддерживает cancel() – может быть остановлен в любой момент.
- Позволяет работать с бесконечными потоками – полезно для сетевых запросов, БД, UI-событий.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
🤔 Как можно создать свойство в классе Kotlin, которое вычисляется при каждом обращении к нему?
Anonymous Quiz
14%
Использовать ключевое слово `dynamic`
6%
Определить свойство с `val`
17%
Определить свойство с `var`
64%
Использовать `custom get()`
Forwarded from easyoffer
На easyoffer 2.0 появится:
🎯 Тренажер "Проработка вопросов"

Метод интервальных повторений и флеш-карточки
Персональный подход изучения на основе ваших ответов
Упор на самые частые вопросы

📌 Интервальные повторения по карточкам это научно доказанный метод эффективного обучения. Каждая карточка – это вопрос, который задают на собеседовании, вы можете выбрать "Не знаю", "Знаю", "Не спрашивать". После ответа вам показывается правильный ответ и возможность изучить вопрос подробнее (примеры ответов других людей). От ваших ответов зависит то, как часто карточки будут показываться на следующей тренировке. Трудные вопросы показываются чаще, простые – реже. Это позволяет бить в слабые места. Кроме того, изначальный порядок карточек зависит от частотности (вероятности встретить вопрос).

🚀 Благодаря этому тренажеру вы сможете очень быстро подготовиться к собеседованию, т.к. фокусируетесь отвечать на самые частые вопросы. Именно так готовился я сам, когда искал первую работу программистом.

Уже в течение недели я объявлю о старте краудфандинговой кампании на сбор финансирования, чтобы ускорить разработку сайта. Все кто поддержит проект до официального релиза получат самые выгодные условия пользования сервисом. А именно 1 год доступа к сайту по цене месячной подписки.

‼️ Очень важно, чтобы как можно больше людей поддержали проект в первые дни, по-этому те кто окажет поддержку первыми получат еще более выгодную стоимость на годовую подписку и существенный 💎 бонус о котором я позже расскажу в этом телеграм канале. Подписывайтесь, чтобы узнать о старте проекта раньше других и воспользоваться лимитированными вознаграждениями.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой способ в Kotlin гарантирует, что выполнение кода будет отложено до момента его первого использования?
Anonymous Quiz
74%
Использование модификатора `lazy`
23%
Применение ключевого слова `lateinit`
3%
Отложенное выполнение с помощью `deferred`
1%
Вызов функции `invokeLater`
🤔 Что известно про heap pollution (загрязнение heap-а)?

Это ситуация, когда в куче (heap) оказывается объект неправильного типа из-за неправильного использования дженериков. Это может привести к ClassCastException во время выполнения.
Причины загрязнения:
- Использование необработанных типов (raw types), например List вместо List<String>.
- Нарушение type safety при кастах ((List<Integer>) obj).
- Использование varargs с дженериками (List<T>... args).


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