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

Вопросы собесов t.me/+OOb6zFa_-Oo3NjZi
Задачи t.me/+CVnW0MJk6xZjZDc6
Вакансии t.me/+KuGNaHeKkQg1NzAy
Download Telegram
🤔 Что из себя представляет 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
🤔 Какие преимущества предоставляет использование ключевого слова `data` в объявлении класса в Kotlin?
Anonymous Quiz
1%
Автоматическая генерация `toString()`
12%
Генерация `equals()` и `hashCode()`
2%
Возможность создания копий с помощью `copy()`
85%
Все перечисленные
💊21🤔5🤯1
🤔 Можно ли получить в runtime доступ к типу дженерика?

Нет, в Java дженерики стираются (Type Erasure), и их тип недоступен во время выполнения. Однако можно:
- Передавать Class<T> в конструктор (new MyClass<>(String.class)).
- Использовать рефлексию (ParameterizedType).
В Kotlin можно сохранить тип с reified (см. следующий ответ).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2
🤔 Какой подход является наилучшим для определения немедленно исполняемого кода, который должен выполниться только один раз в Kotlin?
Anonymous Quiz
59%
Использование блока `init`
8%
Объявление анонимного класса
25%
Использование `companion object` с блоком инициализации
8%
Применение объектного выражения
💊15
🤔 Как в Kotlin можно определить, что функция может быть переопределена в подклассах?
Anonymous Quiz
44%
Декларируя функцию как `open`
9%
Используя модификатор `abstract`
8%
Определяя функцию в интерфейсе
38%
Все вышеперечисленные способы верны
💊8
🤔 Что известно про ключевое слово reified?

Reified позволяет сохранять информацию о дженерике во время выполнения, что делает возможным проверки типа (if (T is String)).
Используется только в inline-функциях, так как код подставляется во время компиляции, сохраняя информацию о типе.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥4💊1
🤔 Какой способ создания экземпляра класса предотвращает множественное наследование в Kotlin?
Anonymous Quiz
25%
Создание класса как `data`
22%
Использование ключевого слова `object`
37%
Объявление класса как `sealed`
16%
Применение модификатора `private` для конструктора
😁12💊4👀1
Forwarded from easyoffer
На easyoffer 2.0 появится новый раздел:
Задачи с собеседований

🟠Задачи на Алгоритмические, Live-coding и System Design из реальных собеседований
🟠Вероятность встретить ту или иную задачу
🟠Возможность подготовиться к задачам конкретной компании

Есть много сайтов, на которых можно тренироваться решать задачи, но у них у всех одна проблема – сами задачи люди просто выдумывают. На easyoffer 2.0 вы сможете готовиться к live-coding и system design секциям на основе задач из реальных собеседований. Вы можете найдете самые частые задачи и сделаете упор на их решение.

Считаные дни остались до старта краудфандинговой кампании, чтобы ускорить разработку easyoffer 2.0. Все кто, поддержал проект на этом этапе смогу получить 1 год доступа к сайту по цене месячной подписки, а те кто поддержат проект раньше других ито дешевле + получат существенный бонус. Следите за стартом 👉 в этом телеграм канале.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Kotlin лучше всего реализовать условное выполнение блока кода в зависимости от типа объекта?
Anonymous Quiz
83%
Использование `when` с проверками типа через `is`
7%
Применение серии `if-else` с `instanceof`
8%
Вызов метода `typeOf()`
2%
Применение шаблона проектирования `Strategy`
🤔 Что такое CoroutineScope?

Это область, в которой выполняются корутины в Kotlin. Определяет жизненный цикл корутин и позволяет отменять их при завершении scope.
- GlobalScope – живет все время работы приложения, но редко используется.
- viewModelScope – в ViewModel, отменяется при уничтожении ViewModel.
- lifecycleScope – в Activity/Fragment, отменяется при уничтожении UI.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2
🤔 Как в Kotlin реализовать метод, который принимает произвольное число аргументов того же типа?
Anonymous Quiz
90%
Используя ключевое слово `varargs`
6%
Применяя список как аргумент
3%
Определяя параметр как массив
2%
Использование перегрузки функций
🤔 Каким образом можно защитить переменную в Kotlin от изменений после её инициализации?
Anonymous Quiz
21%
Использовать ключевое слово `const`
74%
Объявить переменную типа `val`
4%
Применить `final`
1%
Заблокировать переменную с помощью `lock`
💊1
Forwarded from easyoffer
На easyoffer 2.0 появится:
Тренажер "Реальное собеседование"

🟠 Сценарии вопросов из реального собеседования
🟠Возможность подготовиться к собеседованию в конкретную компанию
🟠Итоговая статистика (прошёл/не прошёл)

Сценарий вопросов взят из реального собеседования. То есть вы тренируетесь на тех вопросах, которые действительно задавались в компании X.

Уже в начале следующей недели стартует краудфандинг кампания, чтобы ускорить разработку easyoffer 2.0. Все кто, поддержал проект на этом этапе смогу получить 1 год доступа к сайту по цене месячной подписки. Первые 150 донатеров получать особо-выгодную цену и бонус. Следите за стартом 👉 в этом телеграм канале, в нем информация о старте будет опубликована за 6 часов до официального начала.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🤔 Что будет со scope, если внутри него упадет картинка?

Зависит от типа CoroutineScope:
- Если корутина не обернута в try-catch, то весь scope завершится с ошибкой.
- Если используется supervisorScope, падение одной корутины не остановит другие.
- Если в launch ошибка не обработана, то scope отменится.
- Если используется async с await(), исключение выбросится при вызове await().
Для устойчивости лучше оборачивать код в try-catch или использовать supervisorScope.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6🔥1
🤔 Какой подход к объявлению и инициализации массива в Kotlin является наиболее эффективным для предотвращения `NullPointerException`?
Anonymous Quiz
21%
Использовать `arrayOfNulls()`
28%
Применить `Array(size) { initialValue }`
8%
Объявить массив через `new Array()`
44%
Использовать `listOfNotNull()`
🤯1