Блог < вернуться в блог Подписаться на блог

Интервью с iOS-разработчиком

Добавлено: 04/06/2018
191

Да, разработчик iOS – это тот, кто создает приложения для мобильных устройств Apple. iOS-разработчик может заниматься созданием мессенджеров, развлекательных приложений, игр и продуктов другой направленности.

 

 

 

Для создания приложений важно понимать жизненный цикл мобильной разработки. Разработчики iOS также отвечают за внедрение новых технологий, чтобы увеличить производительность приложений. Разработчик iOS несет ответственность за вклад в разработку, создает и поддерживает приложения. Реализация мобильных продуктов происходит путем сотрудничества с другими инженерами и разработчиками. Важна вовлеченность, желание непрерывно учиться, так как Apple ежегодно обновляет свою ОС.  

Опытный разработчик должен понимать философию пользовательского интерфейса, чтобы продукты, создаваемые им, были максимально удобны в использовании и полезны.

В iOS разработке есть два основных языка: Objective-C и Swift. Первый был создан ещё в 80-х годах и был основным языком для создания iOS-продуктов до 2014 года. В 2014 тогда компания Apple представила новый язык Swift, который считается более эффективным и простым, почти вся разработка iOS приложений ведется сейчас на нем. Это удивительно быстрый рост популярности для языка программирования, Swift имеет все шансы полностью вытеснить разработку на Objective-C в ближайшие годы.

 

Каким опытом должен обладать iOS-разработчик:

  1. Важно умение разбираться в чужом коде, даже если разработка идет на Swift, а старый код на Objective-C.
  2. Шаблоны проектирования, iOS SDK, архитектура (MVC, MVP, MVVM, VIPER).
  3. Опыт с Core Data.

 

Собеседования iOS-разработчиков мало чем отличаются от собеседований для других направлений. Само интервью можно разделить на поведенческую и техническую части. И если первая зависит от интервьюера и является скорее индивидуальной, то вторая более-менее стандартная с разделением по сложности, в зависимости от требуемого уровня кандидата для заданной позиции. Градация для оценки обычно используется стандартная — Junior/Middle/Senior, но уровень требуемых навыков и знаний для этих уровней может отличаться в зависимости от компании. Вопросы лучше задавать с учетом опыта кандидата, начиная от простого к сложному. Для более эффективного собеседования необходимо корректировать будущие вопросы и структуру интервью, в зависимости от ответов на вопросы текущего уровня.

Вопросы на интервью можно разделить на основные (по языку программирования и основным фреймворкам), и специфичные для конкретного проекта (например, по используемому стеку технологий или предметной области проекта). Также можно выделить отдельный тип интервью, с вопросами уклоном на computer science. Особенно он эффективен при необходимости собрать команду с нуля при отсутствии первоначальной экспертизы в iOS-разработке. После интервью из результатов поведенческой и технической части формируется окончательное мнение о кандидате — уровень его навыков, мотивации и т.д.

Сергей Марчуков, iOS TeamLead в SuperJob

Вопросы:

  • Сколько у вас готовых коммерческих проектов?
  • Писали ли вы их в одиночку или в команде? Если команда – расскажите сколько человек работает над одним продуктом и как распределялись задачи?
  • Какая роль была у вас в этом проекте?
  • Имеете ли вы опыт работы с Objective-C?
  • Какую задачу в своем опыте вы можете назвать наиболее интересной, увлекательной? Почему так? Как удалось её решить?
  • Какой опыт был наиболее полезен для вас в профессиональном плане?
  • Над каким продуктом вам хотелось бы поработать и почему?
  • Есть ли опыт с RxSwift? Как относитесь к реактивному программированию? (если это необходимо для позиции)

ПОДПИШИТЕСЬ НА БЛОГ