Нужно ли всегда использовать [weak self] в замыканиях Swift?
Данные не указаны.
Читать ответПодготовка к интервью
177 вопросов по Swift с технических собеседований
Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.
Что проверяют на интервью
На странице собраны вопросы по Swift — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: mobile, ios, performance.
Каталог
Данные не указаны.
Читать ответНужно ли указывать [weak self] внутри UIView.animate? (Нет) Контекст: анимации в UIKit и замыкания UIView.animate принимает non-escaping closure, которое не сохраняется после завершения выполнения Сильного захвата…
Читать ответНаследование и назначение Hashable Протокол Hashable обеспечивает поддержку хеширования ключей в словарях и множествах Он наследуется от протокола Equatable Протокол Equatable реализует оператор ==, который позволяет…
Читать ответВ статическом массиве вставка выполняется за O(n), поскольку элементы приходится копировать В динамическом массиве, например ArrayList, добавление в конец имеет амортизированную сложность O(1) Вставка в середину…
Читать ответВ Swift для классов не предусмотрено множественное наследование Каждый класс может иметь только один суперкласс Для замены множественного наследования применяются протоколы (protocols) Протоколы задают набор…
Читать ответПочему Apple рекомендует выбирать let, а не var? let имеет блочную область видимости, тогда как var — функциональную let не позволяет случайно выполнить повторное объявление Использование const и let сокращает число…
Читать ответВысокоуровневая абстракция над потоками с удобным объектным API Поддержка приоритетов и настройка зависимостей между задачами Возможность отменять и приостанавливать операции Поддержка наблюдателей и KVO для контроля…
Читать ответSwift, ARC, управление памятью unowned — неконтролируемая ссылка, которая не увеличивает счётчик ссылок weak — контролируемая ссылка: она изменяет счётчик и выполняет синхронизацию Для weak требуется атомарный доступ…
Читать ответПочему выбирают UIKit, а не SwiftUI? UIKit — зрелый фреймворк с полноценной поддержкой iOS SwiftUI — сравнительно новая технология, рассчитанная на iOS 13+ UIKit обеспечивает детальный контроль над UI и анимациями…
Читать ответВ основе словаря лежит хеш-таблица Hashable вычисляет хеш-код ключа, по которому определяется индекс Equatable позволяет проверять равенство ключей при возникновении коллизий Хеш-код ускоряет поиск, добавление и…
Читать ответПочему кнопка может не реагировать на нажатия? UI/UX: кнопка отключена (disabled) либо скрыта с помощью стилей События: обработчик событий отсутствует, привязан неправильно или не вызывается Перекрытие: кнопку может…
Читать ответПочему нельзя блокировать main-поток во время сетевых операций? UI/UX: именно main-поток обеспечивает отзывчивость интерфейса При его блокировке происходит замерзание UI и ухудшается реакция приложения Сетевые запросы…
Читать ответ