Вопросы на собеседовании iOS-разработчика
816 вопросов с реальных собеседований, чаще всего — в компаниях Яндекс, Bip.ru и VK.
Все вопросы
- Зачем введен механизм side table (боковой таблицы) в ARCMiddle×4VK, Effective_mobile
- В чем состоит принцип инверсии зависимостей (Dependency Inversion Principle) и его преимущества?Senior×4Физтех-Центр, MTS
- Где в памяти хранятся value и reference типы в Swift?Middle×4Aston, nuum
- Для чего нужен Codable в SwiftSenior×4Masterdata, Лингуа Лео
- Какая алгоритмическая сложность поиска элемента в Map, List и отсортированном массивеSenior×4Тинькофф, Яндекс
- Расскажите о паттернах проектирования Singleton, Factory, Decorator и их примененииSenior×4Bip.ru, MTS
- Как работает Auto LayoutSenior×4SimbirSoft, Masterdata
- Что такое mutex и семафорыJunior×4SimbirSoft, Sunlight
- Почему не использовать UserDefaults для хранения большого объема данныхSenior×4Яндекс, Revolut
- Можно ли использовать дженериковый протокол как тип в Swift и какие есть ограниченияSenior×4VK, nuum
- Ответь на такие вопросы вслухMock-интервью с ИИ: вопросы голосом и разбор каждого ответа.Попробовать
- Какова асимптотическая сложность доступа по ключу в хэш-таблицеMiddle×4Meta, Revolut
- Где лучше выставлять констрейнты: в viewDidLoad или viewWillLayoutSubviews в iOS?Senior×4VK, Яндекс
- Какие проблемы возникают при работе со Storyboards в командеSenior×4SimbirSoft, Masterdata
- Какие структуры данных существуют и для чего они нужныSenior×4VK, Физтех-Центр
- Какие варианты создания UI и верстки существуют в iOSSenior×4КРЕЙТЕКС, Лингуа Лео
- Где хранятся структуры в Swift: на стеке или кучеSenior×4SimbirSoft, Яндекс
- Участвовал ли ты в оценке задачMiddle×4SimbirSoft, Совкомбанк
- Что происходит с объектом при достижении нуля счетчика сильных ссылок и как учитываются слабые ссылки в iOSSenior×4Wildberries, Ozon
- Что такое Coordinator в архитектуре iOS и для чего он нуженJunior×4Doubletapp, bnine
- В чем отличие VIPER от Clean ArchitectureSenior×4SimbirSoft, Aston
Как проходит собеседование
Собеседование на iOS-разработчика обычно идёт в несколько этапов: разговор с рекрутером, техническое интервью, задача на код и встреча с командой. Иногда отдельно разбирают архитектуру приложения. На задаче на код часто просят собрать экран со списком и загрузкой данных, а потом обсуждают, где могут появиться утечки памяти и как ты бы их искал в Instruments.
По Swift чаще всего спрашивают про значимые и ссылочные типы, протоколы, дженерики, опционалы и управление памятью: ARC, сильные и слабые ссылки, циклы удержания. По многопоточности — GCD, операции, async/await и акторы. По интерфейсу — жизненный цикл экрана, отличия UIKit и SwiftUI, как устроена отрисовка списков. Почти всегда обсуждают архитектуру: MVVM, координаторы, внедрение зависимостей, а на старших позициях — модульность и скорость сборки.
Чтобы готовиться прицельно, отфильтруй вопросы по своему уровню и начни с тех, что спрашивали чаще всего: счётчик стоит у каждого вопроса. Ответь на несколько из них вслух в mock-интервью, так видно, где ответ разваливается, ещё до настоящего созвона.
Другие направления
Прорепетируй собеседование iOS-разработчика
Голосовой ИИ-интервьюер задаст вопросы твоего стека, переспросит и разберёт каждый ответ.