Сайт использует сервис веб-аналитики Яндекс Метрика с помощью технологии «cookie». Пользуясь сайтом, вы даете согласие на использование данной технологии.
Unity Mock-собеседование разработчика с 7-ми летним опытом | Middle+ / Senior вопросы
В этом видео вы увидите тренировочное техническое интервью Middle+ / Senior Unity разработчика с опытом более 7 лет. Разбираем популярные вопросы по Unity, C#, .NET, асинхронности, работе Garbage Collector и оптимизации производительности. Такой формат поможет вам понять, чего ожидать на собеседовании и как правильно отвечать на вопросы. Трудоустройство на первую работу и повышение до Middle/Senior: Telegram канал со списком 50+ вопросов с собеседований: Записи реальных собеседований: Таймкоды: 00:00 - 00:40 - Введение 00:40 - 03:52 - Дмитрий о себе 03:52 - 04:59 - Разница ссылочных и значимых типов 04:59 - 05:20 - Как хранится значимый тип, если он является частью ссылочного? 05:20 - 06:40 - Как можно передать значимый тип по ссылке? 06:40 - 09:00 - Как работают ref, out, in? 09:00 - 11:26 - Какие есть ограничения у struct? 11:26 - 12:15 - Что такое boxing и unboxing? 12:15 - 14:23 - Что тяжелее - boxing или unboxing? 14:23 - 15:28 - Будет ли boxing если мы передаём структуру как реализацию интерфейса? 15:28 - 16:38 - Трудоустройство с постоплатой 16:38 - 18:24 - Что такое object и какие методы имеет? 18:24 - 19:35 - Будет ли boxing, если вызвать методы object у значимого типа? 19:35 - 21:45 - Что такое Garbage Collector и как он работает? 21:45 - 23:10 - Что такое поколения GC и зачем они нужны? 23:10 - 24:20 - Какие есть отличия у GC в .Net и Unity? 24:20 - 25:40 - Нормальная ли практика вызвать GC.Collect()? 25:40 - 26:51 - Подробности о разнице GС в .Net и Unity 26:51 - 29:05 - Как можно оптимизировать работу сборщика мусора? 29:05 - 30:24 - Как оптимизировать работу со строками? 30:24 - 31:00 - Зачем нужен StringBuilder? 31:00 - 36:00 - Что такое Immutable типы? 36:00 - 38:54 - Что такое managed/unmanaged ресурсы и зачем нужен IDisposable? 38:54 - 41:36 - Что делает ключевое слово using в контексте IDisposable? 41:36 - 43:49 - Приведи пример использования финализатора и почему его надо избегать? 43:49 - 45:27 - Что делает GC.SuppressFinalize()? 45:27 - 47:24 - Что такое асинхронность? 47:24 - 48:32 - Использует ли асинхронность несколько потоков? 48:32 - 49:13 - Какие есть ограничения многопоточности? 49:13 - 49:36 - Что произойдёт если использовать Unity API в другом потоке? 49:36 - 54:30 - В каких случаях асинхронность "замалчивает" ошибку? 54:30 - 55:00 - Перерыв 55:00 - 59:17 - Как можно отменить асинхронную задачу? 59:17 - 01:02:40 - Что такое UniTask и какие проблемы решает? 01:02:40 - 01:04:47 - С какими технологиями ты работал? 01:04:47 - 01:08:13 - Что такое Draw Calls и как они влияют на производительность? 01:08:13 - 01:11:25 - Сколько Draw Calls понадобится для отрисовки двух объектов с одинаковым Mesh, но разными материалами? 01:11:25 - 01:14:20 - Как можно реализовать изменение цвета для двух объектов, оставив один Draw Call? 01:14:20 - 01:15:25 - Что такое Dynamic Batching и как работает? 01:15:25 - 01:17:36 - Как оптимизировать UI? 01:17:36 - 01:19:48 - Как оптимизировать Layout Group? 01:19:48 - Фидбэк