Вопросы к собесу укороченная версия

Как проходить собеседования на Unity разработчика

Общие вопросы по разработке

Вопросы по C#

  • Что такое .NET? Что такое CLR? Что такое IL?
  • Чем отличается динамическая типизация от статической?
  • Значимые и ссылочные типы. Спецификаторы аргументов функций ref, out.
  • Boxing и unboxing. Что это и почему это плохо?
  • Строки. Операции над строками, StringBuilder.
  • Что такое класс? Что такое структура? В чем отличие между структурой и классом?
  • Модификаторы доступа.
  • Что такое интерфейс? Какие члены можно описывать в интерфейсе?
  • Отличие интерфейса и абстрактного класса.
  • Upcasting, downcasting.
  • Обработка исключений. Блок try, catch, finally. Порядок выполнения.
  • Что такое делегат? Ковариантность, контрвариантность.
  • Что такое замыкание? Привести пример с замыканием.
  • Может ли структура реализовывать интерфейс?
  • Что такое атрибут? Для каких целей используются атрибуты?
  • Что такое рефлексия? Для решение каких задач приходилось использовать?
  • LINQ. Extension syntax, query syntax.
  • Как работает сборщик мусора? Что происходит с объектами которые имеют циклические зависимости?
  • Есть ли опыт написания авто-тестов и юнит-тестов?

Вопросы по Unity

  • Игровой движок. Что собой представляет и какие проблемы решает?
  • Корутины. Что это? Работают в одном потоке или в разных? Какой механизм C# используется для реализации корутин в юнити? Можно ли запустить рутину не из MonoBehaviour? Какие типы yield инструкций вы знаете? Когда они вызываются?
  • Что такое Game Object? Что такое сцена? 
  • Что такое MonoBehaviour? От чего он наследуется? Можно ли создать тип наследуемый от Component?
  • Жизненный цикл MonoBehaviour.
  • Порядок вызова Event функций в runtime режиме Unity.
  • Физика. Какие компоненты позволяют работать с физикой. Что такое rigid body? Что такое рейкаст? Отличие от лайнкаста?
  • NavMesh. Поиск пути.
  • Опыт работы с UI компонентами? Что такое канвас? Что такое панель? Чем плох и хорош канвас? Как верстать адаптивный интерфейс? Что такое LayoutGroup?
  • Камера. Типы камер, параметры для настройки. Скай бокс, occlusion culling.
  • Что такое deltaTime и fixedDeltaTime? Отличия между ними.
  • Аниматор. Можно ли дописывать логику к состояниям аниматора? Что такое Timeline и опыт работы с ним?
  • Опыт написания кастомного редактора, окна для инструментов, расширения для ускорение и автоматизации рутинных задач.
  • Ассет бандлы и адрессаблы. Для чего используются и есть ли опыт разработки с их использованием?
  • Батчинг и Draw calls. Что это? Какие подходы оптимизации вызовов  отрисовки вы знаете?
  • Что такое mesh? Из чего состоит 3д модель?
  • Опыт работы с шейдерами. Приходилось ли писать шейдеры?
  • Профайлинг. Какие инструменты для диагностики проблем производительности вы знаете(profiler, deep profiling, frame debugger, memory profiling, profiling on device)?
  • Unity Web Requests. Что это? Приходилось ли работать с клиент-серверным взаимодействием?
  • Есть ли опыт работы с нативным слоем? Android Studio, XCode.
  • Опыт интеграции SDK(реклама, аналитика, конфиги, БД, пуш уведомления).
  • Test Runner. Опыт работы с тестами в движке.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *