Anonymous Quiz
74%
Использование модификатора `lazy`
23%
Применение ключевого слова `lateinit`
3%
Отложенное выполнение с помощью `deferred`
1%
Вызов функции `invokeLater`
Это ситуация, когда в куче (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
Anonymous Quiz
1%
Автоматическая генерация `toString()`
12%
Генерация `equals()` и `hashCode()`
2%
Возможность создания копий с помощью `copy()`
85%
Все перечисленные
Anonymous Quiz
1%
Использовать проверку на `null` в теле функции
16%
Применять оператор безопасного вызова `?.
16%
Использовать `Elvis` оператор `?:`
67%
Все вышеперечисленные методы
💊21🤔5🤯1
Нет, в Java дженерики стираются (Type Erasure), и их тип недоступен во время выполнения. Однако можно:
- Передавать Class<T> в конструктор (new MyClass<>(String.class)).
- Использовать рефлексию (ParameterizedType).
В Kotlin можно сохранить тип с reified (см. следующий ответ).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2
Anonymous Quiz
59%
Использование блока `init`
8%
Объявление анонимного класса
25%
Использование `companion object` с блоком инициализации
8%
Применение объектного выражения
💊15
Anonymous Quiz
44%
Декларируя функцию как `open`
9%
Используя модификатор `abstract`
8%
Определяя функцию в интерфейсе
38%
Все вышеперечисленные способы верны
💊8
Reified позволяет сохранять информацию о дженерике во время выполнения, что делает возможным проверки типа (if (T is String)).
Используется только в inline-функциях, так как код подставляется во время компиляции, сохраняя информацию о типе.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥4💊1
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 год доступа к сайту по цене месячной подписки, а те кто поддержат проект раньше других ито дешевле + получат существенный бонус. Следите за стартом 👉 в этом телеграм канале.
Задачи с собеседований
Есть много сайтов, на которых можно тренироваться решать задачи, но у них у всех одна проблема – сами задачи люди просто выдумывают. На easyoffer 2.0 вы сможете готовиться к live-coding и system design секциям на основе задач из реальных собеседований. Вы можете найдете самые частые задачи и сделаете упор на их решение.
Считаные дни остались до старта краудфандинговой кампании, чтобы ускорить разработку easyoffer 2.0. Все кто, поддержал проект на этом этапе смогу получить 1 год доступа к сайту по цене месячной подписки, а те кто поддержат проект раньше других ито дешевле + получат существенный бонус. Следите за стартом 👉 в этом телеграм канале.
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
83%
Использование `when` с проверками типа через `is`
7%
Применение серии `if-else` с `instanceof`
8%
Вызов метода `typeOf()`
2%
Применение шаблона проектирования `Strategy`
Это область, в которой выполняются корутины в Kotlin. Определяет жизненный цикл корутин и позволяет отменять их при завершении scope.
- GlobalScope – живет все время работы приложения, но редко используется.
- viewModelScope – в ViewModel, отменяется при уничтожении ViewModel.
- lifecycleScope – в Activity/Fragment, отменяется при уничтожении UI.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2
Anonymous Quiz
90%
Используя ключевое слово `varargs`
6%
Применяя список как аргумент
3%
Определяя параметр как массив
2%
Использование перегрузки функций
Anonymous Quiz
21%
Использовать ключевое слово `const`
74%
Объявить переменную типа `val`
4%
Применить `final`
1%
Заблокировать переменную с помощью `lock`
💊1
Forwarded from easyoffer
На easyoffer 2.0 появится:
Тренажер "Реальное собеседование"
🟠 Сценарии вопросов из реального собеседования
🟠 Возможность подготовиться к собеседованию в конкретную компанию
🟠 Итоговая статистика (прошёл/не прошёл)
Сценарий вопросов взят из реального собеседования. То есть вы тренируетесь на тех вопросах, которые действительно задавались в компании X.
Уже в начале следующей недели стартует краудфандинг кампания, чтобы ускорить разработку easyoffer 2.0. Все кто, поддержал проект на этом этапе смогу получить 1 год доступа к сайту по цене месячной подписки. Первые 150 донатеров получать особо-выгодную цену и бонус. Следите за стартом 👉 в этом телеграм канале, в нем информация о старте будет опубликована за 6 часов до официального начала.
Тренажер "Реальное собеседование"
Сценарий вопросов взят из реального собеседования. То есть вы тренируетесь на тех вопросах, которые действительно задавались в компании X.
Уже в начале следующей недели стартует краудфандинг кампания, чтобы ускорить разработку easyoffer 2.0. Все кто, поддержал проект на этом этапе смогу получить 1 год доступа к сайту по цене месячной подписки. Первые 150 донатеров получать особо-выгодную цену и бонус. Следите за стартом 👉 в этом телеграм канале, в нем информация о старте будет опубликована за 6 часов до официального начала.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Зависит от типа 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
Anonymous Quiz
21%
Использовать `arrayOfNulls()`
28%
Применить `Array(size) { initialValue }`
8%
Объявить массив через `new Array()`
44%
Использовать `listOfNotNull()`
🤯1
Anonymous Quiz
87%
Использование `map { it.length }`
1%
Применение `convert { length }`
10%
Вызов `list.transform { it.length }`
2%
Использование `collect { it.length }`
🔥2
Операторы в 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
Anonymous Quiz
25%
Используя лямбда выражение
14%
Применяя анонимный класс
9%
Использование обычного класса с имплементацией
52%
Все вышеперечисленные методы
💊7