Вернуться в видеотекуМок-собеседование iOS разработчика
Длинное мок-собеседование iOS-разработчика: Swift runtime, конкурентный live coding и UIKit. В финале участники обсуждают оценку кандидата, критерии роста от middle к senior и ограничения технических интервью.
- Направление
- Mobile
- Формат
- Мок-собеседование
- Грейд
- Senior
- Длительность
- 1 ч 17 мин
Коротко о видео
В тренировочном мок-собеседовании iOS-разработчик Владимир отвечает на вопросы Михаила о Swift, памяти, диспетчеризации, многопоточности и UIKit, а затем получает подробную обратную связь. Разбираются value semantics, `mutating`, стек вызовов, existential containers и dispatch, а в live-coding задаче — параллельная загрузка объектов с сохранением порядка результатов. В UI-блоке обсуждают режимы `RunLoop` для таймера, жизненный цикл `UIViewController`, `frame`/`bounds` и создание кастомных view. По мнению интервьюера в рамках этого mock interview, Владимира можно было бы нанять на уровень middle, но для senior-уровня нужны более самостоятельные и глубокие ответы без подсказок.
Затронутые темы
Что взять на заметку
- Для вопросов о `mutating` полезно связывать ответ с value semantics структур, но не сводить размещение всех value types к простому правилу «всегда на стеке».
- Нужно уметь объяснить стек вызовов: кадры создаются при вложенных вызовах, а адрес возврата позволяет продолжить выполнение после завершения функции.
- В задаче с параллельными сетевыми запросами недостаточно одного `DispatchGroup`: общую запись в результаты надо синхронизировать, а порядок исходных ID — сохранять отдельно.
- Для сохранения порядка результатов собеседующий предлагает заранее выделить массив нужного размера и записывать результат по исходному индексу вместо словаря с последующей сортировкой.
- Таймер UIKit, который должен продолжать работать во время скролла, следует добавлять в подходящий режим `RunLoop`, например `.common`, включающий default и tracking modes.
- Подписки на обновления данных стоит привязывать к фактической видимости экрана и проверять порядок lifecycle-вызовов, особенно при интерактивном закрытии презентованного контроллера.
- На собеседовании полезно явно показывать сильные практические области в резюме и описании проектов: за короткий разговор интервьюер может не успеть спросить обо всех специализированных навыках.