Разбор поведения корутин в Kotlin – пример 3
При показанных задержках вывод: Weather forecast, затем Sunny, затем Have a good day!. Задача температуры отменяется во время delay, до AssertionError.
Читать ответПодготовка к интервью
Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.
Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.
Каталог
При показанных задержках вывод: Weather forecast, затем Sunny, затем Have a good day!. Задача температуры отменяется во время delay, до AssertionError.
Читать ответОбе корутины напечатают индексы от 0 до 10 каждая: всего 22 строки. Их сообщения перемежаются; await jobA не мешает jobB уже выполняться.
Читать ответКод не компилируется: synchronized не является таким модификатором функции Kotlin, а reified требует inline. Здесь reified вообще не нужен, достаточно обычного generic.
Читать ответПрограмма не компилируется: const val нельзя использовать для объекта Cat. Если заменить const val на val, вывод будет Cat(age=21, name=Sam).
Читать ответБудут напечатаны null, null, −1, 0, 1, 2, затем {missing key 6=2}. Значение по умолчанию withDefault использует getValue, но не обычные get и квадратные скобки.
Читать ответВыбор между Java и Kotlin зависит от конкретных требований проекта и команды.
Читать ответПакеты используются для организации кода, предотвращения конфликтов имен и улучшения читаемости. Объявляются с помощью ключевого слова package в начале файла.
Читать ответKotlin предлагает следующие преимущества для серверной разработки:
Читать ответcompanion object — это специальный объект, связанный с классом, но не являющийся его экземпляром. Он действует как статические члены в Java.
Читать ответВыведение типа — это возможность компилятора определять тип переменной или выражения без явного указания типа разработчиком.
Читать ответВложенный класс (nested) не имеет доступа к членам внешнего класса. Он является просто классом, объявленным внутри другого.
Читать ответВ Kotlin наследование по умолчанию закрытое (final), классы и методы необходимо явно помечать как open для возможности наследования и переопределения.
Читать ответ