Перейти к основному содержимому

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

Вопросы на собеседовании iOS-разработчика

Подготовьтесь к собеседованию на позицию iOS-разработчика. 25 вопросов с ответами по Swift, Objective-C, UIKit, SwiftUI, архитектуре и HR-вопросы.

Мои ответы на эти вопросы — за 30 секунд

Без резюме: опыт и последнее место работы. 25 вопросов в ваших словах, первые три — бесплатно.

Типовые вопросы и подсказки к ответам

Откройте подсказку под вопросом — и тут же проговорите ответ: разбор ИИ придёт в мини-собеседовании.

HR-вопрос

Вопрос 1Для всех уровней

Расскажите о себе и почему вы выбрали разработку под iOS?

Как отвечать ▾

Как отвечать: Кратко о пути в IT, мотивация, интерес к экосистеме Apple.

Пример сильного ответа

Мне приходилось работать над мобильными продуктами разного масштаба, и последние несколько лет моя задача — разработка под iOS. Начиналось всё с интереса к тому, как устроены плавные анимации и отзывчивый интерфейс: мне нравится, что платформа даёт предсказуемые инструменты и строгую типизацию. В команде из шести человек я отвечаю за архитектуру модуля оплаты и релизный цикл, за последний год мы сократили время сборки релиза примерно на 30 процентов, а количество падений в проде — вдвое. Ценю понятный код и быструю обратную связь от пользователей.

Вопрос 2Для всех уровней

Где вы видите себя через 3-5 лет в iOS-разработке?

Как отвечать ▾

Как отвечать: Карьерные амбиции, развитие в технологиях, рост до тимлида/архитектора.

Пример сильного ответа

Через три-пять лет вижу себя сильным iOS-инженером, который влияет не только на свой модуль, но и на техническое качество продукта в целом: архитектура, производительность, надёжность релизов. Мне интересно расти в сторону технического лидерства — наставлять разработчиков, вести сложные задачи от идеи до продакшена. Опыт такого наставничества есть: за полтора года через меня прошло трое джунов, двое вышли на самостоятельные фичи. При этом я не хочу уходить целиком в менеджмент — хочу продолжать писать код и разбираться в новых возможностях платформы. Для меня важно видеть измеримый результат.

Вопрос 3Для всех уровней

Как вы справляетесь с критикой своего кода или дизайна?

Как отвечать ▾

Как отвечать: Конструктивный подход, обучение на ошибках, командная работа.

Пример сильного ответа

Спокойно, потому что критика кода — это про продукт, а не про меня. Мне приходилось получать жёсткие ревью: например, коллега справедливо заметил, что мой сетевой слой смешивает парсинг и кэширование. Моя задача была не спорить, а разобраться. Я предлагаю разделить ответственность, выношу кэш в отдельный компонент и добавляю тесты — в итоге этот модуль переиспользуется в соседних задачах. Правило простое: сначала уточняю аргументы, потом либо принимаю правку, либо объясняю, почему решение осознанное. Если дискуссия затягивается, выношу вопрос на обсуждение команды.

Бесплатно, без регистрации

Мини-собеседование: iOS-разработчик

Прочитать вопросы мало — на интервью придётся говорить. Ответьте на один вопрос своими словами, 2–3 предложений хватит, и ИИ разберёт ответ по четырём критериям: структура, конкретика, релевантность, убедительность.

123
HR-вопросДля всех уровней

Расскажите о себе и почему вы выбрали разработку под iOS?

2–3 предложения достаточно · ещё 20 симв.

Технический вопрос

Вопрос 1Junior

Что такое ARC в iOS и как он работает?

Как отвечать ▾

Как отвечать: Automatic Reference Counting, управление памятью, retain/release.

Пример сильного ответа

ARC — это автоматический подсчёт ссылок: компилятор на этапе сборки расставляет вызовы retain и release, а отдельного сборщика мусора в iOS нет. Каждый объект хранит счётчик сильных ссылок; когда он становится нулевым, объект освобождается сразу, без пауз. Поэтому важно следить за циклами: два объекта, которые держат друг друга сильными ссылками, никогда не освободятся. В одном проекте мне приходилось искать такую утечку — инструменты показывали рост памяти, проблема оказалась в замыкании, которое захватывало self. После правки потребление памяти на экране снизилось примерно на четверть.

Вопрос 2Junior

Объясните разницу между strong, weak и unowned ссылками в Swift.

Как отвечать ▾

Как отвечать: Циклы сильных ссылок, предотвращение утечек памяти.

Пример сильного ответа

Strong — обычная ссылка: объект живёт, пока на него есть хотя бы одна такая ссылка, и счётчик растёт. Weak — ссылка, которая не удерживает объект и автоматически становится nil, когда объект освобождён; она всегда опциональная, поэтому подходит для делегатов и связей «родитель — ребёнок». Unowned похожа на weak, но не обнуляется: обращение к освобождённому объекту приведёт к падению, поэтому её берут там, где время жизни ссылки заведомо не короче объекта. На практике: в списке задач держу strong на модель, weak — на делегата ячейки, unowned — на self в замыкании, которое не переживёт экран.

Вопрос 3Middle

Что такое Grand Central Dispatch (GCD) и для чего он используется?

Как отвечать ▾

Как отвечать: Многопоточность, очереди, синхронные/асинхронные задачи.

Пример сильного ответа

GCD — это низкоуровневый API для управления многопоточностью: он даёт очередь задач вместо ручного создания потоков. Есть главная очередь для UI, последовательные и параллельные очереди, а также приоритеты качества обслуживания. В работе мне чаще всего приходится переносить парсинг и работу с сетью в фоновую очередь, а обновление интерфейса возвращать на главную. Для координации использую группы задач, семафоры и барьеры. На одном из проектов перенос тяжёлой обработки данных в фоновую очередь сократил время открытия карточки с трёх секунд до восьми десятых.

Вопрос 4Middle

Опишите жизненный цикл UIViewController.

Как отвечать ▾

Как отвечать: viewDidLoad, viewWillAppear, viewDidAppear, viewWillDisappear, viewDidDisappear.

Пример сильного ответа

Жизненный цикл — это последовательность вызовов, которую проходит контроллер: загрузка вью, появление на экране, уход. Сначала загрузка представления и viewDidLoad — здесь настраиваю данные и подписки один раз. Затем viewWillAppear и viewDidAppear: обновление состояния и запуск анимаций. Обратные методы — viewWillDisappear и viewDidDisappear — для остановки таймеров и задач, плюс методы разметки и реакция на нехватку памяти. В проекте порядка шестидесяти экранов, и чёткое разделение логики между этими методами помогло убрать дублирующиеся запросы и уменьшить число багов на релизе примерно на четверть.

Вопрос 5Junior

В чем разница между UIKit и SwiftUI?

Как отвечать ▾

Как отвечать: Императивный vs декларативный подход, преимущества и недостатки.

Пример сильного ответа

UIKit — императивный фреймворк: интерфейс описывается кодом или сторибордами, а состояние обновляется вручную. SwiftUI — декларативный: слой интерфейса строится как функция от состояния, есть привязки, модификаторы и превью. UIKit даёт больше контроля на сложных кастомных экранах и предсказуем на старых версиях системы, SwiftUI быстрее в разработке и легче переносится на новые платформы. На практике чаще всего комбинирую: новые модули на SwiftUI, а старые экраны постепенно подключаю через хостящий контроллер. В одном модуле такой подход сократил объём кода экрана примерно на треть.

Вопрос 6Senior

Какие архитектурные паттерны вы знаете и использовали в iOS-разработке? Приведите примеры.

Как отвечать ▾

Как отвечать: MVC, MVVM, VIPER, Clean Architecture. Выбор паттерна, trade-offs.

Пример сильного ответа

Чаще всего в работе встречаются MVC, MVVM, VIPER, Clean Swift и координаторы. MVC хорош для маленьких экранов, но плохо переживает рост логики. MVVM с привязками удобно тестировать и переиспользовать. Для крупных фич беру VIPER или Clean Swift с разделением на модули, а навигацию выношу в координаторы. Например, модуль оформления заказа на Clean Swift с интерактором и презентером: логика покрыта юнит-тестами, регрессии при доработках почти исчезли, а время на правки сократилось примерно на сорок процентов.

Вопрос 7Senior

Как вы организуете сетевое взаимодействие в iOS-приложении?

Как отвечать ▾

Как отвечать: URLSession, Alamofire, обработка ошибок, кэширование.

Пример сильного ответа

Сетевое взаимодействие строю слоями: отдельный сетевой клиент поверх URLSession, модели Codable, слой сервисов и репозитории. Экраны не знают про адреса и парсинг — они получают готовые модели. Для асинхронности использую async/await, для повторных попыток — ретраи с задержкой, для авторизации — единый механизм обновления токена. Ошибки превращаю в понятные типы и показываю состояния загрузки и пустых данных. Зависимости передаю через протоколы, что позволило покрыть тестами около восьмидесяти процентов сетевого слоя и заметно снизить число падений в релизе.

Вопрос 8Middle

Что такое Core Data и Realm? Когда какой использовать?

Как отвечать ▾

Как отвечать: Локальное хранение данных, ORM, выбор решения.

Пример сильного ответа

Для меня это два инструмента под разные задачи. Core Data — системный фреймворк, объектный граф поверх хранилища, с ленивой загрузкой, миграциями и глубокой интеграцией с платформой. Realm — сторонняя объектная база с более простым API и живыми объектами, часто выигрывает на чтении. Выбор делаю по критериям: если важны минимум зависимостей, системная интеграция и сложные связи между сущностями — беру Core Data; если нужна скорость разработки и высокая нагрузка на чтение — беру Realm. На одном проекте лента с несколькими миллионами записей на Core Data открывалась заметно медленнее, и переход на Realm сократил время выборки примерно на 40 процентов при похожем объёме кода.

Вопрос 9Junior

Как работает делегирование в iOS?

Как отвечать ▾

Как отвечать: Протоколы, связь между объектами, loose coupling.

Пример сильного ответа

Делегирование — это паттерн «один к одному»: один объект объявляет протокол с методами, а другой подписывается под него и реализует эти методы. Обычно ссылка на делегата объявляется как weak, чтобы не получить цикл удержания, а методы помечаются @objc optional — тогда реализовывать всё не обязательно. Мне приходилось строить так экраны: моя задача была убрать прямые связи между модулями. В итоге порядка 15 экранов общаются через протоколы, а время на правки и новые сценарии сократилось примерно на треть. Ещё делегирование даёт строгий контракт и понятную последовательность вызовов.

Вопрос 10Middle

Объясните, что такое Property Wrappers в Swift и приведите примеры их использования.

Как отвечать ▾

Как отвечать: Например, @State, @Binding, @Published, @ObservedObject. Упрощение кода, переиспользование логики.

Пример сильного ответа

Property wrapper — механизм, который выносит логику хранения и доступа к свойству в отдельный тип, помеченный атрибутом. У обёртки есть wrappedValue и опциональный projectedValue, через который можно отдавать дополнительный интерфейс. В SwiftUI это State, Binding, ObservedObject, в Combine — Published. Свои обёртки пишу, когда одна и та же логика повторяется в десятках свойств: например, ограничение значения диапазоном, сохранение в пользовательские настройки или логирование изменений. На одном проекте такая обёртка вместо ручных проверок убрала дублирование в модели примерно на треть и заметно упростила ревью новых свойств.

Вопрос 11Senior

Как вы подходите к тестированию iOS-приложений?

Как отвечать ▾

Как отвечать: Unit, UI, интеграционные тесты. TDD, Mocking.

Пример сильного ответа

Мой подход — пирамида: много быстрых юнит-тестов на бизнес-логику и вью-модели, меньше интеграционных и совсем немного UI-тестов на критичные сценарии вроде авторизации или оплаты. Внешние зависимости подменяю протоколами и моками, чтобы тесты не ходили в сеть и не зависели от бэкенда. Обязательно проверяю граничные случаи: пустые данные, ошибки сети, отмену задачи. Тесты запускаются на каждый pull request в CI, падение блокирует мерж. На последнем проекте покрытие бизнес-логики дошло примерно до 75 процентов, а число багов, доходящих до релиза, сократилось примерно вдвое.

Вопрос 12Middle

Что такое Combine Framework и как его использовать для реактивного программирования?

Как отвечать ▾

Как отвечать: Publishers, Subscribers, Operators. Обработка асинхронных событий.

Пример сильного ответа

Combine — фреймворк для реактивной работы с потоками значений и событий: есть издатель, подписчик и операторы между ними плюс планировщики для управления потоками. Издатель отдаёт значения, завершение или ошибку, операторы вроде map, filter, debounce и combineLatest преобразуют поток, а подписка живёт, пока хранится объект-токен. Типичные задачи — поиск с задержкой ввода, объединение нескольких запросов, обновление интерфейса по изменению модели. В своём коде я использую Combine именно для поиска: debounce снизил число сетевых запросов при вводе примерно в пять раз и убрал ручные таймеры.

Вопрос 13Senior

Опишите процесс публикации приложения в App Store.

Как отвечать ▾

Как отвечать: Сертификаты, профили, App Store Connect, ревью.

Пример сильного ответа

Обычно я начинаю с настройки сертификатов и профилей, затем собираю архив в Xcode. Дальше загружаю сборку в App Store Connect, заполняю метаданные: описание, скриншоты, ключевые слова, указываю возрастной рейтинг и политику конфиденциальности. Перед отправкой на ревью прогоняю сборку через TestFlight, чтобы проверить на реальных устройствах. В одном проекте мне приходилось выпускать обновления каждые две недели, и за счёт чек-листа удалось сократить время от сборки до публикации с трёх дней до одного. После одобрения релиз можно выпустить вручную или поэтапно.

Вопрос 14Middle

Как вы оптимизируете производительность iOS-приложения?

Как отвечать ▾

Как отвечать: Инструменты (Instruments), отладка, оптимизация UI, работа с памятью.

Пример сильного ответа

Производительность iOS-приложения я оптимизирую системно. Сначала снимаю метрики: время запуска, FPS, потребление памяти и энергии. Для этого использую Instruments и логи. Затем нахожу узкие места: тяжелые операции в главном потоке, лишние перерисовки, утечки. Например, в одном проекте удается сократить время холодного запуска на 30% за счет ленивой инициализации и выноса работы в фоновые очереди. Также кэширую изображения и данные, уменьшаю размер бандла. Результат — приложение работает плавно, а метрики стабильны на всех устройствах.

Эти вопросы задают всем. По вашему резюме спросят другое. Перерывы, переходы, цифры — покажем 5 вопросов, которые зададут именно вам.

Вопросы по моему резюме

Кейс

Вопрос 1Middle

Представьте, что вам нужно разработать приложение для заказа такси. Какие основные модули и технологии вы бы использовали?

Как отвечать ▾

Как отвечать: Архитектура, UI, карты, платежи, бэкенд-интеграция.

Пример сильного ответа

Для приложения заказа такси я выделяю несколько модулей: авторизация, карта с геолокацией, расчёт маршрута и стоимости, оформление заказа, оплата, чат с водителем, история поездок и пуш-уведомления. Технологии: Swift, SwiftUI или UIKit, MapKit и CoreLocation для карты, Combine для реактивных потоков, WebSocket для трекинга в реальном времени, REST для API, CoreData или Realm для локального хранения. Архитектура — MVVM с координаторами. В похожем проекте команда из четырёх человек реализовала MVP за три месяца, и я отвечаю за модуль заказов и оплаты.

Вопрос 2Senior

Как бы вы спроектировали систему кэширования изображений для ленты новостей в iOS-приложении?

Как отвечать ▾

Как отвечать: In-memory, disk cache, стратегии вытеснения, потоки, форматы изображений.

Пример сильного ответа

Для ленты новостей я проектирую двухуровневый кэш: память и диск. В памяти использую NSCache с ограничением по количеству и стоимости, на диске — FileManager с хранением оригиналов и миниатюр. Загрузка асинхронная, с отменой задач при уходе ячейки с экрана. Декодирование изображений выполняю в фоновом потоке, чтобы не блокировать UI. Ключ кэша — URL плюс размер. В одном проекте такая схема позволила ускорить загрузку ленты на 50% и снизить сетевой трафик на 30%. Также настраиваю очистку кэша по времени и объёму.

Вопрос 3Middle

Вам поручено улучшить производительность существующего iOS-приложения. С чего бы вы начали и какие шаги предприняли?

Как отвечать ▾

Как отвечать: Профилирование (Instruments), анализ узких мест, оптимизация UI, сетевых запросов, памяти.

Пример сильного ответа

Сначала я собираю метрики: время запуска, краши, зависания, потребление памяти и энергии. Использую Instruments, Crashlytics и логи. Затем профилирую самые частые сценарии, чтобы найти узкие места: тяжёлый старт, лишние запросы, неоптимизированные списки. Дальше приоритизирую правки по влиянию на пользователя. В одном приложении мне приходилось сокращать запуск: за счёт отложенной инициализации и кэширования удалось уменьшить время запуска с трёх до полутора секунд, а количество крашей — на 40%. После правок обязательно замеряю метрики снова и сравниваю с базовыми.

Вопрос 4Senior

Опишите подход к обеспечению безопасности данных в iOS-приложении.

Как отвечать ▾

Как отвечать: Keychain, шифрование, защита от реверс-инжиниринга, безопасное сетевое взаимодействие (HTTPS, SSL Pinning).

Пример сильного ответа

Безопасность я строю по принципу защиты в глубину: токены и секреты храню в Keychain с доступом по биометрии, чувствительные данные на диске шифрую, сеть — только TLS с проверкой сертификата, а при работе с платежами добавляю pinning. Пароли и персональные данные никогда не попадают в логи и в UserDefaults. Отдельно закрываю риск подмены и джейлбрейка там, где это оправдано рисками. В одном проекте такой подход помог пройти внешний аудит без критичных замечаний — из сорока пунктов чек-листа остались только три организационных, не технических.

Поведенческий вопрос

Вопрос 1Middle

Опишите ситуацию, когда вам пришлось работать над проектом с жесткими сроками. Как вы справились?

Как отвечать ▾

Как отвечать: STAR-метод, приоритизация, коммуникация, результат.

Пример сильного ответа

На одном релизе сроки сжали вдвое: вместо шести недель осталось три, а в бэклоге было около сорока задач. Моя задача — сохранить ключевую функциональность и не сорвать дату. С продуктом мы отсекаем необязательное и договариваемся о минимальном рабочем объёме, дальше я разбиваю работу на мелкие независимые куски и первым закрываю самое рискованное. Статус обновляю ежедневно и заранее сигналю о рисках. В итоге релиз вышел в срок, с примерно 90% запланированного объёма и без критичных дефектов на проде в первую неделю.

Вопрос 2Senior

Расскажите о самом сложном баге, который вы когда-либо исправляли. Как вы его нашли и решили?

Как отвечать ▾

Как отвечать: STAR-метод, процесс отладки, инструменты, уроки.

Пример сильного ответа

Самый сложный баг — редкое падение при возврате приложения из фона: ловилось примерно у одного процента пользователей и на моём устройстве не воспроизводилось. Я начинаю с данных: смотрю краши, сужаю условия, добавляю логи и счётчики, сравниваю по версиям и устройствам. Оказалось, причина — гонка потоков: один экран читал локальный кэш, пока другой его перезаписывал. Решение — сериализовать доступ через отдельную очередь и закрыть кейс автотестом. Частота падений упала до нуля, а отчёты о крашах стали чистыми.

Вопрос 3Middle

Как вы работаете в команде? Приведите пример успешного командного взаимодействия.

Как отвечать ▾

Как отвечать: Сотрудничество, разрешение конфликтов, вклад в общий результат.

Пример сильного ответа

В команде я обычно отвечаю за iOS-часть и активно участвую в обсуждениях архитектуры. Например, недавно мы делали фичу с интеграцией нового API. Моя задача — согласовать контракты с бэкендом и продумать кэширование. Моя идея — использовать протоколы для тестируемости, мы провели несколько парных сессий, и в итоге выпустили фичу за две недели вместо трёх. Код-ревью и ежедневные стендапы помогли избежать блокеров. В итоге команда из пяти человек сработала слаженно, а количество багов на релизе снизилось на 30%.

Вопрос 4Junior

Что вы делаете, когда сталкиваетесь с проблемой, которую не можете решить самостоятельно?

Как отвечать ▾

Как отвечать: Поиск информации, обращение за помощью, документирование.

Пример сильного ответа

Когда задача выходит за пределы моей компетенции, я не тяну время молча. Сначала формулирую проблему конкретно: что именно не работает, что уже проверено, какие есть гипотезы. Потом задаю вопрос в командном канале — часто ответ находится за десять минут вместо дня самостоятельного копания. Если вопрос внешний, обращаюсь в поддержку вендора или ищу в документации и трекерах, а найденное решение фиксирую в базе знаний. Примерно пять процентов задач за год требуют такой эскалации, и почти все они закрываются в тот же день.

Что спросят именно вас?

Типовые задают всем. По резюме спросят другое — «В резюме перерыв с 2024 года, чем вы занимались?». Покажем 5 таких вопросов бесплатно, а готовые ответы на них — под вашу вакансию и резюме — за 99 ₽.

Поделиться подборкой:TGVKWA

📈 Готовитесь к собеседованию? Получайте свежие вакансии iOS-разработчик на почту или в Telegram — и откликайтесь, пока подготовка свежая.

бесплатно
PRO

Проверьте себя: первый разбор — бесплатно

Прочитать вопросы — это старт. Настоящая подготовка — проговорить ответ и услышать, что с ним не так. Первый разбор ИИ бесплатный и без регистрации, прямо на этой странице. Полная симуляция — в PRO или разово, без подписки.

  • ✓ Реальные вопросы по вашей роли
  • ✓ Разбор ответов с ИИ
  • ✓ Оценка и советы

Как пройти собеседование на позицию iOS-разработчика

1. HR-этап

Подготовьте рассказ о себе на 1–2 минуты: последнее место работы, главный результат и причина интереса именно к этой вакансии. Для роли «iOS-разработчик» HR чаще всего проверяет мотивацию и зарплатные ожидания — заранее сверьте их с медианой по рынку — 225 000 ₽ (блок «Зарплата» ниже на этой странице).

2. Профессиональный этап

Основная часть собеседования — вопросы по ключевым навыкам: Swift, Objective-C, UIKit. Разберите категории «Общие и HR-вопросы» и «Технические основы и фреймворки» из подборки выше и подготовьте по одному примеру из своего опыта на каждую — с цифрами и результатом.

3. Финальный этап

В финале обсуждают условия, график и задачи на испытательный срок. Подготовьте 2–3 вопроса работодателю о команде, метриках успеха и ближайших проектах — кандидаты, которые задают такие вопросы, запоминаются лучше.

План подготовки

  1. 1Изучите основы Swift и Objective-C, включая управление памятью и особенности языков.
  2. 2Повторите ключевые фреймворки: UIKit, SwiftUI, Core Data, Combine. Уделите внимание жизненному циклу компонентов.
  3. 3Разберитесь в архитектурных паттернах (MVVM, VIPER, Clean Architecture) и будьте готовы объяснить их выбор.
  4. 4Практикуйтесь в решении алгоритмических задач и задач на проектирование систем.
  5. 5Подготовьтесь к HR-вопросам, сформулируйте ответы о своем опыте, мотивации и планах.

Частые ошибки

  • Недостаточное знание основ Swift/Objective-C и принципов работы iOS.
  • Неумение объяснить выбор архитектурных решений или паттернов.
  • Отсутствие опыта работы с многопоточностью и асинхронными операциями.
  • Слабые навыки отладки и оптимизации производительности.
  • Неподготовленность к поведенческим вопросам и отсутствие примеров из личного опыта.
Практика интервью

От вопросов — к тренировке интервью

Прочитайте вопросы, выберите 5–7 самых сложных и пройдите пробное интервью. ИИ-интервьюер поможет структурировать ответы, проверить аргументацию и подготовиться к реальному разговору.

Открыть тренажёр для роли iOS-разработчик

Источники и связанные материалы

Зарплата

Зарплата iOS-разработчик в России

По данным 23 вакансий

Полная статистика →

P25 (ниже среднего)

185 000 ₽

Медиана

225 000 ₽

50% вакансий

P75 (выше среднего)

225 000 ₽

Вопрос с каждого собеседования

«Какие у вас зарплатные ожидания?» — что ответить на собеседовании iOS-разработчика

Называйте диапазон: от типичной зарплаты для вашего опыта до суммы на 10–15 % выше, но не выше уровня, который платит лишь четверть работодателей. Суммы на руки по России (данных пока немного — ориентир); в Москве и Санкт-Петербурге обычно выше.

Называйте 225 000 ₽ – 230 000 ₽ на руки.

Пример ответа рекрутеру — для типичной вакансии по России

«Рассматриваю предложения от 225 до 230 тысяч на руки — итоговая сумма зависит от задач и состава компенсации».

В поле «желаемая зарплата» — одна цифра, нижняя граница диапазона: 225 000 ₽. До вычета налога это ≈ 260 000 ₽.

Посчитать для вашего города и опыта

Покажем вашу сумму, готовые фразы на «сколько получаете сейчас» и «у нас бюджет до…», а если уже есть предложение — сравним его с рынком.

Навыки

Востребованные навыки iOS-разработчика

Частота упоминания в вакансиях работодателей

Все навыки →
1
Swift33%
2
iOS33%
3
Git25%
4
REST17%
5
API17%
6
Android17%
7
Objective-C8%
8
iOS SDK8%
Специалисты

Профили iOS-разработчика на Rabota-Help

Реальные специалисты, открытые к предложениям

Все специалисты →

Вы готовитесь к собеседованию. А работодатели уже ищут iOS-разработчика.

Создайте анонимный публичный профиль — его найдут в Яндексе и Google, и предложения придут сами. Контакты скрыты, пока вы не решите иначе.

Работодатели уже ищут: iOS-разработчик · от 225 000 ₽

Создать анонимный профиль — бесплатно

Пройдите мини-собеседование, добавьте резюме на экране результата — профиль создадим за минуту, с вашего согласия.

Вы нанимаете iOS-разработчика? Профили кандидатов и подбор для работодателей →

Вакансии

Свежие вакансии iOS-разработчика: 183

Откройте подходящие предложения и откликнитесь после подготовки к собеседованию.

Смотреть вакансии →

Откликаетесь на вакансии iOS-разработчика? Приложите сопроводительное письмо

Пример письма для этой профессии и генератор, который напишет письмо под текст вакансии. Первое письмо — бесплатно.