AR/VR
XR на собеседовании: вопросы, паттерны, подводные камни
XR инженер в Meta Reality Labs получает 200-300 тысяч долларов в год. Valve нанимает меньше 10 XR engineers в год глобально. Niantic ищет специалистов по SLAM и CV. Рынок маленький, ожидания высокие - но и знание узкое. Освоить его глубже большинства кандидатов - реалистичная задача.
- Meta Reality Labs: 1000+ XR инженеров, фокус на Quest и Horizon Worlds
- Apple Vision Pro team: SwiftUI + RealityKit + visionOS - нужны iOS + XR навыки
- Niantic (Pokemon GO AR): georeferenced AR, CV, SLAM на мобильных устройствах
- Unity XR: инструменты для XR разработки, нужны и движок и XR глубина
Вопросы по рендерингу: latency, stereo, artifacts
Интервьюер в Meta XR или Valve задаёт вопросы не для проверки памяти - а для понимания системного мышления. "Почему motion sickness происходит при 20ms задержке, но не при 10ms?" - это вопрос о вестибулярно-визуальном конфликте, физиологии и требованиях к системе одновременно.
**Foveated rendering на собеседовании** - часто спрашивают о реализации. Есть два типа: fixed foveated (фиксированная зона качества, без eye tracking) и eye-tracked foveated (зона следует за взглядом). Ключевой нюанс: eye tracking добавляет ~2-5мс задержки на обработку, и этот delay нужно компенсировать предсказанием направления взгляда. Иначе пользователь замечает "убегающую" зону качества.
Почему VR дисплеи предпочитают OLED/microLED вместо LCD?
Вопросы по трекингу: SLAM, IMU fusion, drift
**Трекинг - любимая тема интервьюеров** в компаниях уровня Meta Reality Labs, Niantic, Qualcomm XR. Причина: это граница CV, сенсорики и системного программирования. Плохой ответ: "камеры следят за головой". Хороший ответ: объяснение VIO + SLAM + loop closure.
**Loop closure** - критическая концепция для VIO собеседований. Когда гарнитура возвращается в известное место, алгоритм распознаёт его (place recognition) и корректирует накопленную ошибку трекинга. Без loop closure: прошёл круг по комнате - startовая точка сдвинулась на 5-10см. С loop closure: возврат в ту же точку с точностью 1-2мм.
Почему для XR трекинга используют Kalman Filter, объединяющий IMU и камеры?
Вопросы по UX и взаимодействию в XR
UX вопросы на XR собеседовании часто недооценивают. Но в компаниях типа Meta, Apple, Unity их задают наравне с техническими. "Как спроектировать интерфейс, удобный в MR?" - это тест на понимание ограничений пространственного UI.
Почему head-locked UI (следующее за головой) нежелательно в XR?
Системное проектирование XR приложений
"Спроектируйте архитектуру мультиплеерного XR приложения" - классический system design вопрос на senior позиции в XR. Ключевые отличия от обычного мультиплеера: синхронизация 6DoF трансформов вместо 2D позиций, voice proximity (звук затихает с расстоянием), и IK для тела аватара по данным только головы и рук.
**Codec Avatars (Meta)** - нейросетевые аватары, воспроизводящие мимику лица и тела по минимальным данным сенсоров. Обучены на 3D scans реальных людей. Результат: аватар с реалистичной мимикой без камеры на лице. Это направление активно развивается - следующее поколение XR social presence.
На XR собеседовании достаточно знать Unity или Unreal API
Ожидается понимание hardware constraints: photon latency, tracking pipeline, stereo rendering, memory bandwidth на мобильном GPU
XR - это системная разработка. Ошибки в понимании latency или memory constraints приводят к продукту с motion sickness или 30fps вместо 90fps. Интервьюеры проверяют именно это системное понимание.
Что такое dead reckoning в контексте XR мультиплеера?
Ключевые идеи
- Photon latency <20мс - физиологическое требование, не произвольное
- VIO = IMU (быстро) + Visual (точно) + Kalman Filter (оптимальное объединение)
- Head-locked UI: только для critical HUD; world-locked или hand-locked предпочтительны
- XR мультиплеер: 6DoF sync + spatial audio + body IK по трём точкам
- System design вопросы проверяют понимание hardware constraints, не только API
Связанные темы
Собеседование по XR охватывает весь стек - от физики дисплея до UX паттернов.
- XR System Architecture — Фундамент всех технических вопросов
- XR Performance — Профилирование и оптимизация - топ тема на senior позициях
- Tracking и SLAM — Алгоритмы трекинга - обязательный раздел для глубоких вопросов
Вопросы для размышления
- Как объяснить на собеседовании разницу между motion-to-photon latency и end-to-end latency в XR системе?
- Спроектируйте систему body IK для аватара в мультиплеерном XR: какие данные нужны, какие алгоритмы использовать?
- Как тестировать XR приложение на motion sickness ещё до пользовательского тестирования?