30+ вопросов с собеседований Apple
Собрали подборку вопросов, которые в Apple задают Data Scientist, QA-инженерам, разработчикам, фронтендерам и продакт-менеджерам.
1К открытий6К показов
Apple — одна из крупнейших технологических компаний мира по рыночной капитализации в 3 000 000 000 000 (три триллиона) долларов. Такого успеха Apple удалось достичь благодаря тщательно подобранной командой высококлассных инженеров.
На своих собеседованиях Apple задаёт вопросы, которые позволяют отобрать лучших программистов с отточенными soft и hard навыками.
Также Apple делает акцент на коммуникационные способности, на знание структуры данных, алгоритмов и системного дизайна. Кроме того, при составлении вопросов учитываются инновации, последние технологические разработки, рыночные тенденции и требования, специфичные для должности.
Мы собрали краткую подборку вопросов, которые в Apple задают начинающим Data Scientist-ам, QA-инженерам, разработчикам, фронтендерам и Product Manager-ам.
Общие вопросы
1. Какое устройство Apple вы любите больше всего?
Этот вопрос направлен на выяснение знания устройств и продукции Apple. Укажите различные устройства Apple, которыми вы пользуетесь, но выделите свое любимое. Распишите его особенности, технологии и преимущества.
Также расскажите, в чём преимущества устройства перед конкурирующими продуктами: что делает его привлекательным с точки зрения инноваций, дизайна и функциональности.
Расскажите, как вы планируете применять ваши навыки, чтобы улучшить продукт и компанию.
2. Расскажите о случае, когда вы решили разногласия с вашим руководителем.
Этот вопрос исследует soft skills кандидата: умение работать в команде, способность решать конфликты и коммуницировать в коллегами. Обязательно упомяните, что вы благодарны тому, чему вас научили ранее.
“Однажды я не согласился с моим руководителем относительно лучшего способа оказания поддержки клиентам. Вместо того, чтобы понижать его авторитет перед сотрудниками, я поговорил с ним лично в его кабинете. Я предложил свою идею, которая могла бы лучше решить ситуацию. Руководитель согласился, и клиент остался довольным. Эта ситуация научила меня важности открытого общения на рабочем месте.”
3. Как бы вы отличили Cocoa от Cocoa Touch?
Cocoa Touch и Cocoa — это среды разработки приложений для iOS и OS X. Они обе включают в себя Objective-C runtime, но основные различия заключаются в следующем:
- Cocoa предназначена для разработки под Mac OS, а Cocoa Touch — под iPhone и iPad.
- Cocoa использует фреймворки Foundation и AppKit. Cocoa Touch использует Foundation и UIKit.
- Классы в Cocoa используют префикс NS. Например, класс может называться NSWindow. Cocoa Touch использует префикс UI — UIWindow.
4. Какими способами можно достичь параллелизма в iOS?
В iOS есть три способа достичь параллелизма:
- Очереди диспетчеризации (Dispatch queues).
- Потоки (Threads).
- Очереди операций (Operation queues).
5. Какую библиотеку JSON поддерживает iOS? Каковы ее преимущества?
iOS поддерживает библиотеку SBJson. Её основные преимущества:
- Это легкий формат для обмена данными.
- Он легко читается и записывается как компьютерами, так и людьми.
- Поддержка сервером.
- Гибкие API и дополнительный контроль.
Вопросы собеседования на должность Data Scientist в Apple
- Какие существуют виды объединений (joins) в SQL?
- Можно ли выполнить откат (rollback) после использования команды ALTER?
- Чем отличаются команды Truncate и Drop?
- Объясните назначение операторов SELECT и FROM.
- Что бы вы предложили для улучшения Siri?
Вопросы собеседования на должность QA-специалиста в Apple
- Какие шаги вы предпримете для тестирования торгового автомата?
- Как бы вы справились с проблемами масштабируемости (scalability)?
- Расскажите о шагах жизненного цикла ошибки (bug cycle).
- В каких типах тестирования программного обеспечения вы наиболее компетентны?
- Когда бы вы использовали тестирование CRUD?
- Что вы понимаете под термином “матрица прослеживаемости” (traceability matrix)?
Вопросы собеседования на должность Product Manager в Apple
- Что делает вас квалифицированным для этой должности в Apple?
- Как бы вы справились с раздраженным коллегой?
- Как бы вы договорились с клиентом с нереалистическими ожиданиями?
- Если у вас есть задача, с которой вы не знакомы, как быстро вы научитесь ей?
- Apple славится тем, что относится к спискам приложений очень требовательно. Это условие вам нравится? Почему?
Вопросы собеседования на должность Front-End Developer в Apple
- Зачем нужен слой компоновки (composting layer) в CSS3?
- Как бы вы нашли позицию дубликата элемента строки?
- Как браузеры отображают пользовательский интерфейс?
- Какая задача самая сложная для фронтендера?
- На каком языке вы предпочитаете писать фронтенд? Объясните причину выбора.
Вопросы собеседования для кодеров в Apple
- Как проверить полноту заданного двоичного дерева?
- Напишите программу для проверки, является ли любая перестановка заданной строки палиндромом.
- Напишите функцию
contains_cycle()
, которая показывает, содержит ли список цикл, беря первый узел в односвязном списке и возвращая логическое значение. - Вам заданы целое положительное число (
integer
) иtarget
. Напишите программу, которая выводит возможные комбинации целых положительных чисел, сумма которых равнаtarget
. - Есть список интервалов. Объедините пересекающиеся интервалы и получите список, содержащий только взаимоисключающие интервалы.
- Объясните событийно-управляемое программирование на примере языка C.
- Как проверить, установлен ли старший бит в байте?
- Используя корневой узел двоичного дерева, напишите программу, сортирующую “левых” и “правых” children-элементов для каждого узла.
Заключение
Смогли ответить на вопросы в статье? Напишите в комментариях, кем вы работаете сейчас и какой у вас уровень, и пришлите ваши ответы на вопросы, чтобы сравнить их с ответами других пользователей.
1К открытий6К показов