Вернуться в видеотеку

Собеседование на Middle iOS разработчика. Артур Игбердин & Илья Шаповалов

Публичное мок-собеседование Middle+ iOS-разработчика с вопросами по памяти и ARC, лайвкодингом и архитектурным рефакторингом. В конце участники обсуждают слабые ссылки в коллекциях и получают обратную связь по решениям.

Источник: Devrush

Открыть на YouTube

Таймлайн

Коротко о видео

Это публичное мок-собеседование на позицию Middle+ iOS-разработчика: Артур Игбердин интервьюирует ментора Илью Шаповалова. Они разбирают опыт Ильи с macOS-разработкой и кастомным меню, затем проходят память, value/reference types, ARC/MRC, autorelease, unowned-ссылки и retain cycles. Практическая часть включает удаление чётных чисел из массива без дополнительного массива, рефакторинг View Controller с DI и unit-тестами, а также слабое хранение объектов в массиве через WeakBox; в конце интервьюер даёт обратную связь по выполнению заданий.

Затронутые темы

Что взять на заметку

  • Подготовьте краткий рассказ о проектной задаче: Илья объясняет реализацию кастомного меню для macOS, его декларативную конфигурацию и требования к повторному использованию.
  • Повторите устройство памяти и Swift-типы: стек, куча, сегменты данных/текста, value и reference types, а также случаи boxing и размещения значений в heap.
  • Уметь объяснять ARC, retain/release/autorelease и искать retain cycles на практике через Memory Graph, Leaks в Instruments и `deinit`-логи.
  • Для удаления чётных элементов из массива in-place нельзя бездумно идти `for`-циклом по исходным индексам: после удаления элементы сдвигаются, возможны пропуски и выход за границы; обсуждается `while` с контролируемым индексом.
  • Учитывайте стоимость удаления из массива: при сдвиге элементов худшая временная сложность обсуждаемого решения — O(n²), а дополнительная память — O(1).
  • При рефакторинге View Controller обсуждаются разделение создания и настройки view, `final`/`static` там, где это уместно, внедрение зависимостей для сервиса и логгера и проверка поведения unit-тестами.
  • Обычный массив удерживает экземпляры классов сильными ссылками; для слабого хранения объектов обсуждается обёртка `WeakBox` и необходимость отдельно очищать устаревшие обёртки.

Рекомендуем посмотреть

1 ч 39 мин
MobileMiddle

Моковое собеседование на Middle iOS - разработчика | Solvery & CoffeeCode

Разбор публичного мок-интервью Middle iOS-разработчика с практическими задачами по тестированию, Swift, алгоритмам и проектированию чата. Интервьюер комментирует, какие сигналы и уточнения важны на техническом собеседовании.

2 ч 19 мин
Mobile

Публичное Собеседование iOS | Alex Ozun, Роман Тысячник | iOS Ukraine #2

Публичный разбор iOS-технического интервью: от фундаментального Swift и UIKit до тестирования, отладки и практик проведения собеседований. Формат включает комментарии интервьюера к ответам кандидата и финальную Q&A-сессию.

1 ч 33 мин
MobileMiddle

Публичное собеседование iOS-разработчика | Петя Коренев и Андрей Галушка

Публичная учебная сессия собеседования iOS-разработчика: опыт, Swift, iOS SDK, SOLID и рекурсивная задача на разворачивание вложенного массива. После каждой крупной секции интервьюер даёт разбор ответов и объясняет логику своей оценки.