Был ли опыт работы с Kotlin или реактивным программированием?
Разделите Kotlin и реактивное программирование: это разные навыки, и опыт одного не подразумевает другой. Назовите реальные задачи, библиотеки и степень самостоятельности.
Читать ответПодготовка к интервью
Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.
Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.
Каталог
Разделите Kotlin и реактивное программирование: это разные навыки, и опыт одного не подразумевает другой. Назовите реальные задачи, библиотеки и степень самостоятельности.
Читать ответKotlin не требует объявлять или перехватывать исключения в сигнатуре: все исключения unchecked. Это упрощает композицию API, но переносит ответственность за ошибки в контракт и обработку.
Читать ответНужны два изменения: mutating у метода структуры и var для экземпляра s. У класса метод допустим даже при let-ссылке c.
Читать ответКомпонент уже корректно отображает входной value. Чтобы он обновлялся, родитель должен хранить число в наблюдаемом состоянии и передавать новое значение.
Читать ответgreetings2 и greetings3 не компилируются: self у структуры после [self] не optional, поэтому self?.name недопустимо. greetings1 корректен.
Читать ответОба вызова напечатают Cat: say() объявлен требованием Animal, а класс Cat реализует его самостоятельно.
Читать ответВ показанном примере явного retain cycle нет: process не захватывает self и не хранит completion в DataProcessor. Объект может освободиться после handler = nil.
Читать ответКод некорректен: у UIView нет addTarget, #selector не принимает вызов foo: 1, а инициализатор подкласса должен корректно вызвать super.
Читать ответРекурсивный enum необходимо объявить indirect целиком либо пометить только рекурсивный case friend.
Читать ответКод не компилируется: структура не может прямо содержать собственное значение, даже через Optional. Получается рекурсивная раскладка без конечного размера.
Читать ответКак написано, доступ к mainObject.b из внешнего синхронного контекста запрещён. Читать actor-isolated var нужно через await из асинхронного кода.
Читать ответМетод структуры, изменяющий её свойства, нужно объявить mutating. Без этого self внутри обычного метода неизменяем.
Читать ответ