Собеседование на позицию Unity Developer, сложность уровня Senior.
============================
Мой телеграм канал - на котором есть много информации по психологии как для начинающий разработчиков, так и опытных. Делюсь личным опытом и препятствиями, которые я преодолел - https://t.me/sulimannunity
============================
Индивидуальное менторство (обучение) по Unity - https://sulimannxx.notion.site/Unity-fa27821ab37d44b49d043a19d01f92a0
============================
Мое частное сообщество, в котором я обучаю принципам взлома найма в айти и достижению зарплатного потолка за 1 год - https://sulimannxx.notion.site/Gachi-Development-102f37685e0b80a28cc3f2dd3c3370e8
============================
00:00 Приветствие
00:30 Как вы стали Unity разработчиком?
02:22 Почему ушли из первой компании?
02:40 В резюме указан опыт работы с AR/VR проектами, что это за проекты?
03:40 Компания Triple A Services почему ушли?
04:00 В компании Murka Games с какими проектами работали?
05:34 Оптимизация игрового перформанса в Murka Games?
07:02 Почему ушли из Murka Games?
07:29 Где использовали REST API?
07:54 Почему SOLID это плохо?
09:27 Принцип Барбары Лисков?
11:43 Принцип DIP, приведите пример кода?
12:37 Какие GOF паттерны используются в GameDev и почему?
15:59 Расскажите про фабрики?
16:34 Что такое Memory Leak и почему они происходят в играх?
19:16 Как работает Garbage Collector?
19:42 Сколько поколений существует Garbage Collector?
19:58 Что такое Large Object Heap?
20:20 Каким поколением отмечаются статические классы?
20:36 В чем особенность Garbage Collector в Unity?
21:20 В каких случаях стоит использовать ScriptableObjects вместо классов и компонентов?
22:57 Что такое managed и unmanaged ресурсы?
23:45 Когда нужно использовать Task, а когда Coroutine?
24:29 Чем опасно использование LINQ в Unity и как можно его оптимизировать?
26:13 Почему упаковка это плохо?
27:11 В чем разница между Stack и Heap?
27:25 Размер Stack?
27:39 Можно ли увеличить Stack?
28:09 Если мы приведем Value type к интерфейсу, где он будет храниться?
29:04 Что такое UniTask?
29:13 Можно ли отменить Task?
29:18 Какие примитивы синхронизации Task знаете?
31:06 Знакомы ли вы с Thread?
31:32 При создании новой Task создается ли под нее новый Thread?
31:46 Можно ли использовать Thread в WebGL?
32:46 Как бы вы защитили игру от читеров, например от перемотки даты в календаре?
33:05 В игре происходят постоянно действия, которые зависят от времени. Как оптимизировать процессы, чтобы не посылать большое количество запросов на сервер?
35:06 Паттерны MVC, MVP и MVVM, какие использовали?
35:41 Почему не используете MVVM?
36:09 Controller и View общаются по Event?
36:36 Что такое Passive View?
37:48 Композиция или наследование, и почему?
39:02 Как вы подходите к оптимизации UI в Unity?
40:02 Почему использования Layout групп это плохая практика?
40:17 Frame Debugger как вы с ним работали и что с помощью него можно найти?
41:05 Как можно бороться с высоким количеством Batches?
41:18 Что такое Static Batching?
41:38 Движущейся объект помечен как Static, что произойдет тогда с другими статическими объектами?
43:22 Как достичь Dynamic Batching?
44:16 Что такое Level of Detail?
44:40 Из чего состоит Mesh?
44:47 Какой примитивный объект легче всего отрисовать в Unity?
45:18 Какой формы объект легче всего обработать в Rigidbody?
46:23 Вы работали с Addressables?
47:01 Чем Addressables лучше Resources?
47:48 Что можно положить в Addressables, а что нет?
48:14 Использование World UI?
48:55 Что вам дал этот перевод?
49:31 Из чего состоит запрос?
49:58 Вам знакомо понятие Идемпотентные запросы?
51:44 Можно ли упаковать "sprite" в JSON?
52:06 Почему через Remove configs не передают JSON Sprite?
54:29 Опыт работы с CI/CD?
54:59 Что такое Step?
55:27 Как лучше всего отслеживать и исправлять баги в продакшене?
55:58 С какой аналитикой знакомы?
56:17 В игре 3 сервиса аналитики. Как написать код, чтобы аналитика отправлялась на 3 сервиса одновременно?
57:03 Используем принцип Open/Closed никогда не нарушаем его. Нужно добавить 4-ю аналитику, как это сделать?
59:18 Работали с Zenject?
59:33 Почему именно Zenject?
01:00:12 Работали ли вы с Signal Bus в Zenject?
01:00:24 В чем разница между ProjectContext и SceneContext?
01:00:54 У вас есть интерфейс IAnalytics и вы добавляете реализации для Firebase и Facebook Analytics. Вы пытаетесь положить обе реализации в контейнер. Что произойдет и как это зарезолить?
01:02:04 Почему все так не любят Singleton, если по факту Zenject это Singleton?
01:03:13 Была ли у вас ситуация на работе, когда вам пришлось взять на себя руководство проектом или его частью?
01:03:25 Как вы ставили дедлайны на эти проекты?
01:04:08 Как вы обычно подходите к решению сложных технических проблем, которые возникают в процессе разработки?
01:04:41 Как вы оцениваете свои навыки?
01:05:09 Ваше самое большое достижение?
01:05:48 Желаемая зарплата?