На странице собраны вопросы по Swift — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: mobile, ios, performance.
Основные темы и навыки
mobile 82ios 75performance 51architecture 45ui 40concurrency 32async 31memory management 30
Форматы вопросов
Поведенческие вопросы106
Технические вопросы63
Лайвкодинг7
System Design1
Ориентировочная сложность
Базовые42
Продвинутые91
Практические44
С чего начать подготовку
Начните с раздела «Поведенческие вопросы» и проверьте, можете ли дать короткий ответ своими словами.
Затем разберите вопросы по теме «mobile» и свяжите ответы с собственным опытом.
Завершите подготовку практикой: проговорите решение, ограничения и возможные альтернативы.
Инструменты синхронизации Мьютексы (mutexes) — предоставляют доступ к ресурсу только одному потоку Семафоры — задают допустимое число потоков, работающих одновременно Мониторы — обеспечивают автоматическую блокировку…
Методы layout у UIView и работа с Auto Layout layoutSubviews — главный метод раскладки: он вызывается после изменения фрейма или вызова setNeedsLayout; внутри него размещают сабвью. setNeedsLayout — отмечает view для…
Механизмы управления памятью Стек: быстрое автоматическое выделение и освобождение при ограниченном объёме Куча: динамическое выделение, требующее контроля освобождения и обычно работающее медленнее Сборщик мусора…
Какие области памяти есть кроме стека и кучи Data (Data Segment) — сегмент для глобальных и статических переменных, который создаётся во время загрузки программы BSS (Block Started by Symbol) — часть Data Segment,…
Какие ограничения и проблемы есть у SwiftUI? Молодая технология, которая пока обладает меньшей зрелостью Ограниченная поддержка старых iOS версий (iOS 13+) Ограниченный контроль над деталями UI усложняет глубокую…
GCD (Grand Central Dispatch) — механизм управления выполнением задач и потоками в iOS/macOS Сериализованные (Serial) очереди обрабатывают задачи строго по очереди, по одной за раз, поэтому сохраняют заданный порядок…
SOLID — это пять принципов ООП, которые помогают улучшать архитектуру и дизайн программного кода S (Single Responsibility): у класса должна быть только одна причина для изменения O (Open/Closed): программный компонент…
коллекция содержит слабые ссылки на объекты GC освобождает объекты, для которых не осталось сильных ссылок часто выгружаемые объекты быстро превращаются в null внутри коллекции возможна нестабильность данных: элементы…
Проблемы с кэшем после обновления стикера Устаревшие данные: в кэше останется прежняя версия стикера, поэтому пользователь увидит изображение до внесения дизайнерских правок Отсутствие инвалидации: после изменения…
Верстка в UIKit: фреймы и констрейнты, ключевые различия В UIKit применяют два основных подхода к верстке: фреймы и Auto Layout (констрейнты). При использовании фреймов положение и размеры UIView задаются напрямую…
Основные способы персистентного хранения в iOS UserDefaults — подходит для настроек приложения и небольших данных в формате «ключ — значение» Keychain — используется для защищённого хранения конфиденциальной…