На странице собраны вопросы по Swift — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: mobile, ios, performance.
Основные темы и навыки
mobile 82ios 75performance 51architecture 45ui 40concurrency 32async 31memory management 30
Форматы вопросов
Поведенческие вопросы106
Технические вопросы63
Лайвкодинг7
System Design1
Ориентировочная сложность
Базовые42
Продвинутые91
Практические44
С чего начать подготовку
Начните с раздела «Поведенческие вопросы» и проверьте, можете ли дать короткий ответ своими словами.
Затем разберите вопросы по теме «mobile» и свяжите ответы с собственным опытом.
Завершите подготовку практикой: проговорите решение, ограничения и возможные альтернативы.
Сколько памяти нужно массиву из 5 ссылок на объекты классов? память распределяется между ссылками и объектами в куче размер одной ссылки определяется платформой: обычно 4 байта (32-бит) или 8 байт (64-бит) в массиве…
Асинхронные операции программирования Detached task выполняется независимо от родительского потока Обычная task запускается и контролируется родительским кодом, который может ожидать её завершения Detached task не…
Отличия race condition и data race область: конкурентность, многопоточность race condition — это ситуация, в которой результат определяется порядком выполнения потоков data race — разновидность race condition,…
Ключевое различие асинхронности и многопоточности асинхронность работает в одном потоке и запускает операции неблокирующе многопоточность задействует несколько потоков для параллельного выполнения асинхронная модель…
Ключевое различие concurrent и serial очередей Serial очередь обрабатывает задачи последовательно — каждую следующую только после предыдущей Concurrent очередь позволяет запускать задачи параллельно, чтобы они…
dispatch_sync и dispatch_async dispatch_sync выполняет вызов синхронно: текущий поток блокируется до окончания задачи dispatch_async выполняет вызов асинхронно: управление возвращается сразу, а задача помещается в…
Отличие escaping- и non-escaping-замыканий Swift и управление временем жизни объектов non-escaping: замыкание выполняется только в рамках функции, которой оно передано, и завершается до её окончания escaping:…
Garbage Collector (GC): автоматический сборщик мусора, который периодически анализирует объекты и освобождает память, больше не используемую приложением. Работает асинхронно, применяя алгоритмы вроде mark-and-sweep…
Ключевые различия между типами значений и ссылочными типами область памяти: value type содержит сами данные, тогда как reference type — ссылку на объект копирование: при присваивании value type дублируется значение, а…
Сопоставление дженериков и протоколов Область: язык программирования, типизация Дженерики — это параметризованные типы, обеспечивающие типобезопасность и повторное использование кода С их помощью создают функции и…
Статические и динамические библиотеки: как меняется размер Статическая библиотека подключается к программе на этапе компиляции её код встраивается в бинарник и увеличивает его размер готовый файл самодостаточен и не…
Сравнение роутера и координатора используются в mesh-сетях, например Zigbee и Thread координатор — центральный узел, запускающий и инициализирующий сеть координатор хранит сведения обо всей сети и управляет ее работой…