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

Вопросы собесов t.me/+OOb6zFa_-Oo3NjZi
Задачи t.me/+CVnW0MJk6xZjZDc6
Вакансии t.me/+KuGNaHeKkQg1NzAy
Download Telegram
🤔 Какие преимущества предоставляет использование ключевого слова `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
🤔 Как можно в Kotlin выполнить преобразование списка строк в список их длин?
Anonymous Quiz
87%
Использование `map { it.length }`
1%
Применение `convert { length }`
10%
Вызов `list.transform { it.length }`
2%
Использование `collect { it.length }`
🔥2
🤔 Какие есть операторы Flow?

Операторы в Flow бывают:
- Создания: flow {}, flowOf(), asFlow().
- Трансформации: map(), flatMapConcat(), filter(), transform().
- Буферизации: buffer(), conflate(), collectLatest().
- Объединения: zip(), combine().
- Терминальные: collect(), toList(), first().
Эти операторы помогают эффективно обрабатывать, изменять и управлять потоками данных.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Forwarded from easyoffer
На easyoffer 2.0 появится:
База тестовых заданий

🟠Тестовые задания для разных грейдов
🟠Фильтрация тестовых заданий по технологиям и компаниям

Когда я только начинал учиться на программиста, я постоянно выдумывал себе задачи для практики и тратил на это много времени. Но только в момент поиска работы я столкнулся с тестовыми заданиями, и понял насколько круто они прокачивают навыки. Нужно было еще на этапе обучения пробовать их делать. Все компании стараются составить тестовое задание "под себя", это дает большой выбор в тематике задач и технологий. На easyoffer 2.0 вы сможете отфильтровать тестовые задания по навыкам/грейдам и найти те, что подходят лично вам для практики.

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

🚀 Следите за стартом 👉 в этом телеграм канале, в нем информация о старте будет опубликована за 6 часов до официального начала.
Please open Telegram to view this post
VIEW IN TELEGRAM