На странице собраны вопросы по Swift — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: mobile, ios, performance.
Основные темы и навыки
mobile 82ios 75performance 51architecture 45ui 40concurrency 32async 31memory management 30
Форматы вопросов
Поведенческие вопросы106
Технические вопросы63
Лайвкодинг7
System Design1
Ориентировочная сложность
Базовые42
Продвинутые91
Практические44
С чего начать подготовку
Начните с раздела «Поведенческие вопросы» и проверьте, можете ли дать короткий ответ своими словами.
Затем разберите вопросы по теме «mobile» и свяжите ответы с собственным опытом.
Завершите подготовку практикой: проговорите решение, ограничения и возможные альтернативы.
Устройство String: почему обращение по индексу неоднозначно? В большинстве современных языков String — это последовательность символов, однако способ её внутреннего представления может отличаться. При использовании…
Жизненный цикл приложения iOS Контекст: управление состояниями приложения iOS Запуск приложения: метод application(:didFinishLaunchingWithOptions:) выполняет первичную инициализацию Активное состояние: метод…
NavigationStack и NavigationView в SwiftUI SwiftUI: пользовательский интерфейс и навигация от Apple NavigationView: устаревающий контейнер для иерархической навигации NavigationStack: современный и гибкий навигатор,…
память разделяется между стеком и кучей стек принадлежит конкретному потоку и содержит его локальные переменные и вызовы функций при многопоточном выполнении каждый поток использует собственный независимый стек,…
Хранение weak-ссылок в массиве, например на UIViewControllers context: iOS/Swift, память и ARC стандартные коллекции не хранят weak-ссылки напрямую, поскольку для них требуется специальный тип-обертка слабую ссылку…
Диспетчеризация методов в final-классе final-класс не допускает наследование, поэтому его методы нельзя переопределить реализация метода протокола вызывается статически, без виртуального вызова компилятор использует…
Сложность вставки элемента в массив структура данных: массив (статический или динамический) добавление в конец динамического массива: амортизированная сложность — O(1) добавление в начало либо середину: необходимо…
антипаттерн — подход, который приводит к проблемам Spaghetti code: запутанный код, который трудно понимать и поддерживать God object: объект, наделённый чрезмерным количеством обязанностей Golden hammer: неоправданное…
Уровни приоритетов QoS область применения: управление сетью и трафиком QoS (Quality of Service) — механизм назначения приоритетов сетевому трафику основные уровни: Высокий приоритет: для данных, критичных к задержкам,…
Возможности фонового выполнения в iOS 13 Фреймворк фонового обновления приложений BackgroundTasks framework Позволяет передавать системе задачи для планирования и запуска в наиболее подходящий момент…
Инструменты и практическое применение Grand Central Dispatch (GCD) GCD — низкоуровневый фреймворк для управления многопоточностью в iOS/macOS К основным структурам относятся: dispatch_queue (последовательная и…