Game Development | YeaHub
376 subscribers
150 photos
192 videos
527 links
Теория, подготовка к интервью и курсы для Game Dev разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #gitignore
🤔 Что делает файл .gitignore?

💬 Кратко:

Файл .gitignore определяет файлы и папки, которые Git должен игнорировать. Это используется для исключения временных файлов, логов, зависимостей, сгенерированных файлов и других ненужных элементов.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#repository #books
📚 Коллекция официальных электронных книг от Unity

Сайт представляет собой аккуратно составленный список бесплатных электронных книг, изданных командой Unity — от руководств по 2D-графике и освещению до кейс-стади и материалов по DevOps, дизайну игр и оптимизации — с целью помочь разработчикам легче находить и использовать эти качественные обучающие ресурсы в одном месте

Перейти к материалу

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#Собес #ci_cd
🤔 Расскажи про CI/CD?

💬 Кратко:

CI/CD — это автоматизация процессов сборки, тестирования и развертывания. CI (Continuous Integration) обеспечивает частую интеграцию кода, CD (Continuous Delivery/Deployment) — автоматическое развертывание. В game dev это включает сборку билдов, прогон тестов и деплой на тестовые устройства.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#Собес #memory #leak #unmanaged
🤔 Почему WebRequest нужно чистить из памяти?

💬 Кратко:

WebRequest (и подобные ему объекты, например, UnityWebRequest) нужно чистить из памяти, потому что они работают с неуправляемыми ресурсами вне контроля .NET. Эти ресурсы включают буферы данных в оперативной памяти, сокеты сетевых подключений и дескрипторы операционной системы. Если их не освобождать, возникают утечки памяти, исчерпываются лимиты на количество сетевых подключений, что в итоге приводит к падению производительности и crashes приложения.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#Собес #pull_request
🤔 Что такое pull request и когда его лучше использовать?

💬 Кратко:

Pull request (PR) — это запрос на слияние изменений из одной ветки в другую, обычно с целью обсудить и проверить изменения перед их интеграцией в основную ветку. PR используется, когда разработчик хочет предложить свои изменения команде для проверки и обсуждения.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#documentation #концепты
📚 Three Hundred Mechanics

Создатель сайта, Шон Говард (Sean Howard), задался целью создать 300 игровых концептов. Он приводит подробное описание каждой идеи, алгоритмы и этапы реализации. Механики, представленные на сайте, относятся к разным жанрам и сами по себе достаточно оригинальны.

Перейти к материалу

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
🔥1
#Собес #mutex #synchronization #semaphore
🤔 В чем отличие Mutex от других примитивов синхронизации?

💬 Кратко:
Мьютекс — это примитив синхронизации, который обеспечивает взаимное исключение: только один поток может владеть мьютексом в данный момент. В отличие от семафора, который может разрешать доступ нескольким потокам одновременно, мьютекс строго бинарный. Ключевое отличие — владение: поток, захвативший мьютекс, должен его освободить, что предотвращает случайные освобождения другими потоками. Это делает мьютекс идеальным для защиты критических секций.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#Собес #memory_address #pointer #RAM
🤔 Как устроена адресация памяти в компьютере?

💬 Кратко:
Каждая ячейка оперативной памяти (RAM) имеет уникальный числовой адрес, как номер дома на улице. Процессор использует эти адреса для чтения и записи данных. Адресация может быть физической (непосредственно к чипам RAM) или виртуальной (абстракция, управляемая операционной системой). Программы работают с виртуальными адресами, которые ОС и процессор транслируют в физические. Понимание этого позволяет избежать ошибок, связанных с указателями, и оптимизировать использование памяти.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#Собес #projection #i/o #network_overhead
🤔 Влияет ли количество полей в SELECT на производительность?

💬 Кратко:

Да. Чем больше полей выбирается, тем больше объём данных нужно прочитать, передать по сети и обработать на клиенте. Особенно заметно при больших текстовых или бинарных полях. Выборка только необходимых столбцов снижает нагрузку на диск, память и сеть, ускоряя выполнение.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#course #ооп #case
📚 Практический анализ ПО с моделированием на UML

Целью курса является обучение слушателей теоретическим основам объектно-ориентированного подхода, практическим методам визуального проектирования и технологии разработки программного обеспечения с использованием компьютеризированных систем разработки (CASE

Перейти к материалу

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#Собес #autofac #simple_injector #unity
🤔 С какими контейнерами внедрения зависимостей вы работали (ServiceCollection, другие)?

💬 Кратко:

Я использовал встроенный в .NET Core ServiceCollection/ServiceProvider для большинства веб-приложений и микросервисов. Кроме того, работал с Autofac (поддержка модульной регистрации, именованные зависимости), Simple Injector (скорость, строгий режим создания) и Microsoft Unity в старых проектах. Выбор зависел от требований к функциональности DI: перехват вызовов, child-scopes, named services.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#Собес #abstraction #interface #pattern
🤔 Как спроектировать возможность переключения между сервисами аналитики? Какие ключевые абстракции для этого использовать?

💬 Кратко:

Для переключения между сервисами аналитики нужно создать общий интерфейс, который описывает все необходимые действия, например, "отправить событие". Каждый конкретный сервис аналитики (например, Facebook Analytics, GameAnalytics) будет иметь свой класс, который реализует этот интерфейс. В основном коде игры мы работаем только с общим интерфейсом, не зная о конкретных реализациях. Чтобы выбрать нужный сервис, мы используем фабрику или конфигурацию, которая в нужный момент создает объект правильного класса.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#Собес #OpenID_Connect #OAuth_2.0 #authentication
🤔 Что такое OpenID Connect?

💬 Кратко:
OpenID Connect (OIDC) — это простой протокол аутентификации, построенный на основе OAuth 2.0. Он позволяет клиентам проверять личность пользователя через авторизационный сервер. Вместо токена доступа OIDC возвращает ID Token в формате JWT, содержащий информацию о пользователе. Это стандарт для единого входа (SSO) в современных веб-приложениях.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#video #начинающие
📚 Сборник видео для Джунов

Здесь собраны все видео с канала Лавка Разработчика, которые подходят для тех, кто находится на старте вхождения в видеоигровую индустрию, понимает самые базовые вещи в программировании и хочет развиваться в этом направлении далее

Перейти к материалу

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
1
#Собес #operator_overloading #scope_resolution
🤔 Какой оператор нельзя перегрузить в C++?



💬 Кратко:

Оператор разрешения области видимости (::) нельзя перегрузить в C++. Этот оператор используется для доступа к глобальным переменным, функциям и классам.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#Собес #coroutine
🤔 Что предпочтительнее для асинхронности в Unity: Task, UniTask или Coroutine?

💬 Кратко:

Coroutines хороши для игровых последовательностей, но они ограничены главным потоком и не могут выполнять реальную асинхронную работу. Task позволяет выполнять тяжёлые операции в фоновом потоке, но требует осторожности, так как Unity-API потоконебезопасно. UniTask — это лёгкая и быстрая альтернатива Task под Unity, которая интегрируется с корутинами и не создает лишних аллокаций. Выбор зависит от задачи: для игровых сценариев — Coroutines, для фоновых вычислений — Task, для оптимизированного async-await в Unity — UniTask.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#Собес #xcom #anti #pattern
🤔 Почему XCom не подходит для передачи больших объёмов данных?

💬 Кратко:

XCom хранит данные в metadata database Airflow. Большие объёмы данных перегружают базу и замедляют работу системы. Это ухудшает scheduler, UI и выполнение DAG. XCom не оптимизирован для потоковой передачи или хранения данных. Поэтому его используют только для небольших значений.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#video #review
📚 Разбор тестовых заданий

Проводим ревью кода подписчиков, тестовых заданий на позиции Junior, Middle, а иногда и Senior Unity Developer. Разбираем ошибки и удачные решения

Перейти к материалу

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#Собес #object #class #instance
🤔 Что такое объект в C++?

💬 Кратко:

В C++ объект — это экземпляр класса, который содержит данные и функции, объединенные в одну сущность.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#Собес #logging #monitoring
🤔 Как решаете проблему "логирования лишнего" в мониторинге (OpenDashboard)?

💬 Кратко:

- Фильтры в логгере:

- Уровни (Warning, Error).
- Категории (MicrosoftWarning).

- Сэмплирование:

- 10% запросов для debug-логов.

- Правила в OpenDashboard:

- Исключение шаблонных сообщений.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#Собес #build #pipeline
🤔 Как обычно организуется процесс сборки и выпуска релиза?

💬 Кратко:

Процесс сборки и релиза обычно автоматизируется с помощью CI/CD. Код проходит тесты, собирается в production-версию и деплоится в нужное окружение. Используются отдельные этапы и окружения. Это снижает влияние человеческого фактора. Такой подход считается стандартом.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа