Определите недостатки в представленном Swift‑фрагменте №1
Цикла сильных ссылок здесь нет: Person сильно удерживает Pet, а Pet слабо ссылается на Person. weak owner автоматически станет nil после освобождения владельца.
Читать ответПодготовка к интервью
316 вопросов по Swift с технических собеседований
Что проверяют на интервью
На странице собраны вопросы по Swift — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: mobile, swift, ios.
Каталог
Цикла сильных ссылок здесь нет: Person сильно удерживает Pet, а Pet слабо ссылается на Person. weak owner автоматически станет nil после освобождения владельца.
Читать ответОбщий Dictionary читается и изменяется конкурентно без синхронизации. Защитить нужно все обращения; порядок insert/delete всё равно не определён.
Читать ответНазовите фактический языковой режим проекта и версию toolchain отдельно. Само использование нового Xcode не означает, что весь код собирается в Swift 6 mode.
Читать ответoverlay рисует кнопку поверх ScrollView и может перекрывать последние элементы. safeAreaInset резервирует для кнопки место в безопасной области прокрутки.
Читать ответStructured concurrency связывает дочерние задачи со временем жизни области родителя. Task.detached не относится к ней; обычный Task {} тоже создаёт unstructured task.
Читать ответСкажите, в каком состоянии был проект при вашем приходе и какую часть перехода делали лично. Версия компилятора и языковой режим проекта — не одно и то же.
Читать ответВ Swift протокол Codable объединяет два протокола — Encodable и Decodable. Он используется для удобной сериализации и десериализации данных, например, преобразования объектов в JSON и обратно.
Читать ответОпционал в Swift - это тип, который может содержать значение или не содержать его (быть nil).
Читать ответЧтобы структура в Swift соответствовала протоколу Equatable, нужно:
Читать ответПринудительное извлечение optional-типов (using !) следует использовать крайне редко и только в тех случаях, когда вы абсолютно уверены, что optional содержит непустое значение.
Читать ответМоя любимая функция — это flatMap для коллекций.
Читать ответИнкапсуляция в Swift реализуется с помощью уровней доступа (access levels) и структур/классов.
Читать ответ