Подготовка к интервью

Вопросы на собеседовании по Swift

177 вопросов по Swift с технических собеседований

177 вопросов 119 компаний 249 технологий

Усильте резюме перед собеседованием

Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.

Анализ резюме

Что проверяют на интервью

Как устроена подборка

На странице собраны вопросы по Swift — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: mobile, ios, performance.

Основные темы и навыки

mobile 82 ios 75 performance 51 architecture 45 ui 40 concurrency 32 async 31 memory management 30

Форматы вопросов

  • Поведенческие вопросы106
  • Технические вопросы63
  • Лайвкодинг7
  • System Design1

Ориентировочная сложность

  • Базовые42
  • Продвинутые91
  • Практические44

С чего начать подготовку

  1. Начните с раздела «Поведенческие вопросы» и проверьте, можете ли дать короткий ответ своими словами.
  2. Затем разберите вопросы по теме «mobile» и свяжите ответы с собственным опытом.
  3. Завершите подготовку практикой: проговорите решение, ограничения и возможные альтернативы.
Сбросить

Каталог

Результаты поиска

Найдено: 177
Теория

Нужно ли указывать [weak self] внутри UIView.animate на собеседовании? (Нет)

Нужно ли указывать [weak self] внутри UIView.animate? (Нет) Контекст: анимации в UIKit и замыкания UIView.animate принимает non-escaping closure, которое не сохраняется после завершения выполнения Сильного захвата…

Читать ответ
Теория

От какого протокола наследуется Hashable и зачем он нужен для использования структуры или класса в качестве ключа?

Наследование и назначение Hashable Протокол Hashable обеспечивает поддержку хеширования ключей в словарях и множествах Он наследуется от протокола Equatable Протокол Equatable реализует оператор ==, который позволяет…

Читать ответ
Лайвкодинг

От чего зависит скорость вставки в массив?

В статическом массиве вставка выполняется за O(n), поскольку элементы приходится копировать В динамическом массиве, например ArrayList, добавление в конец имеет амортизированную сложность O(1) Вставка в середину…

Читать ответ
Теория

Поддерживает ли Swift множественное наследование классов?

В Swift для классов не предусмотрено множественное наследование Каждый класс может иметь только один суперкласс Для замены множественного наследования применяются протоколы (protocols) Протоколы задают набор…

Читать ответ
Поведенческий

Почему Apple советует выбирать let вместо var, если значение не нужно изменять?

Почему Apple рекомендует выбирать let, а не var? let имеет блочную область видимости, тогда как var — функциональную let не позволяет случайно выполнить повторное объявление Использование const и let сокращает число…

Читать ответ
Поведенческий

Почему NSOperation удобнее GCD для управления задачами?

Высокоуровневая абстракция над потоками с удобным объектным API Поддержка приоритетов и настройка зависимостей между задачами Возможность отменять и приостанавливать операции Поддержка наблюдателей и KVO для контроля…

Читать ответ
Поведенческий

Почему unowned работает быстрее weak и как это устроено на уровне runtime?

Swift, ARC, управление памятью unowned — неконтролируемая ссылка, которая не увеличивает счётчик ссылок weak — контролируемая ссылка: она изменяет счётчик и выполняет синхронизацию Для weak требуется атомарный доступ…

Читать ответ
Поведенческий

Почему для ручной верстки выбирают UIKit, а не SwiftUI?

Почему выбирают UIKit, а не SwiftUI? UIKit — зрелый фреймворк с полноценной поддержкой iOS SwiftUI — сравнительно новая технология, рассчитанная на iOS 13+ UIKit обеспечивает детальный контроль над UI и анимациями…

Читать ответ
Поведенческий

Почему ключ словаря должен соответствовать Hashable и Equatable?

В основе словаря лежит хеш-таблица Hashable вычисляет хеш-код ключа, по которому определяется индекс Equatable позволяет проверять равенство ключей при возникновении коллизий Хеш-код ускоряет поиск, добавление и…

Читать ответ
Поведенческий

Почему кнопка не реагирует на нажатие и как найти причину?

Почему кнопка может не реагировать на нажатия? UI/UX: кнопка отключена (disabled) либо скрыта с помощью стилей События: обработчик событий отсутствует, привязан неправильно или не вызывается Перекрытие: кнопку может…

Читать ответ
Поведенческий

Почему сетевые операции нельзя выполнять с блокировкой main-потока?

Почему нельзя блокировать main-поток во время сетевых операций? UI/UX: именно main-поток обеспечивает отзывчивость интерфейса При его блокировке происходит замерзание UI и ухудшается реакция приложения Сетевые запросы…

Читать ответ