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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
Forwarded from YeaHub
🚀 YeaHub развивается

Февраль и март выдались для нас непростыми. Мы прошли через сложную миграцию и разделили проект на два отдельных продукта.

Теперь у нас есть:
yeahub.ru — публичная SEO-ориентированная часть на Next.js с быстрым серверным рендерингом
app.yeahub.ru — основное приложение: личный кабинет пользователя со статистикой, прогрессом и аналитикой

🔥 Лайвкодинг — наконец-то готов

Мы серьезно прокачали сервис лайвкодинга:
— добавили привязку задач к коллекциям (собеседованиям)
— сделали связь с компаниями
— теперь можно готовиться по задачам с реальных собеседований

Уже доступны задачи из: Сбер, Яндекс, Авито, VK, Ozon, Т-Банк и других компаний.

📌 Сейчас добавлено ~100 задач.

Да, это меньше, чем планировали — но пришлось сделать шаг назад, чтобы сделать десять вперед.

Мы полностью переработали:
— шаблон задач
— систему тесткейсов

Ранее была допущена ошибка, из-за которой пришлось вручную исправить 80+ задач 😢

Но теперь база готова к масштабированию — и мы можем быстро и правильно наполнять её дальше.

📈 Что дальше по лайвкодингу

Мы будем активно развивать этот сервис.
Это не только про собеседования — это инструмент для роста и прокачки.
Планируется много новых фич.

📅 Регулярные обновления контента

Мы выстроили процесс: каждую неделю 4–8 собеседований, 6–10 задач
И каждое обновление будем анонсировать, чтобы вы всегда были в курсе.

🛠 Сейчас в разработке (2 ключевых сервиса)

Агрегатор вакансий + платформа размещения вакансий
ATS-оптимизация резюме
— Бэкенд почти готов.
— Идёт дизайн.
— Фронтенд начнем совсем скоро.

🎯 Цель — выпустить оба сервиса в бэта до лета.

🧠 Новая структура обучения

Раньше было: Навык → Вопрос
Теперь: Навык → Тема → Вопрос

Это сильно упрощает обучение.

Теперь можно: готовиться точечно к собеседованиям или системно изучать темы

💻 Мы — open source

Мы не бросаем слов на ветер. Мы делаем.

Код проекта открыт https://github.com/YeaHubTeam:
— фронтенд
— мобильные приложения
— backend на Python (решили новый сервис делать публично, для новичков)
— автотесты

Это open source платформа, где новички могут учиться и смотреть на реальные практики.

❤️ Поддержка

Вы можете поддержать нас, оформив подписку. Это напрямую влияет на:
— добавление контента
— развитие платформы
— новые фичи

Вы можете быть уверены — мы не стоим на месте. Работа реально кипит: почти каждый день мержатся новые фичи, мы постоянно развиваем продукт и улучшаем уже существующие сервисы.

У нас полностью открытый код, и это не просто слова. Вы в любой момент можете зайти и посмотреть активность, коммиты и то, как проект развивается каждый день.

По подписке: сейчас стоимость — 800 рублей за месяц и 1800 рублей за 3 месяца. Это уже ниже, чем у аналогичных сервисов. При этом важно понимать — после выхода новых сервисов (агрегатор вакансий и ATS для резюме) цена будет пересмотрена.

Если хотите зафиксировать текущую стоимость — лучше сделать это сейчас:
https://app.yeahub.ru/settings#select-tariff

Мы строим продукт.
Мы двигаемся вперёд.
И мы делаем IT снова великим.
💪🚀✊🏻
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Поговорим про процесс билда.

Build
Билд или сборка проекта - это процесс подготовки готового к запуску приложения для конкретной платформы: Windows, Android, iOS и др. Через окно File → Build Settings вы выбираете платформу и запускаете сборку. В результате Unity формирует Player (например, .exe, .apk) и сопутствующие данные, которые можно запускать без редактора.

Термины. Обычно говорят о двух связанных, но разных процессах. Рассмотрим эти процессы и дополнительные термины к ним:

Player.
Это готовое к запуску приложение, которое Unity собирает из проекта для конкретной платформы: исполняемый файл и сопутствующие runtime-данные.

Player Build.
Процесс сборки проекта, результатом которого становится Player. Когда вы выбираете платформу в File → Build Settings и запускаете сборку - вы делаете Player Build. Часто это называют просто билд.

Артефакт.
Это любой файл или набор файлов, которые получаются на выходе или в процессе сборки. Если целевая платформа винда, то артефактами будут .exe + папка с data. Если андройд, то .apk или .aab. Это общепринятый термин в CI/CD. Когда говорят "сохранить артефакты сборки" - имеют в виду сохранить выходные файлы, чтобы их можно было, например, скачать, задеплоить или проанализировать. Отличается от Player тем, что Player - это готовая игра, которую можно запустить и поиграть. Каждый Player является артефактом, но не каждый артефакт является Player.

Content Build.
Отдельный процесс, который создаёт артефакты контента (каталог, бандлы, runtime-настройки для Addressables). Эти артефакты нужны Addressables, чтобы подгружать ассеты во время выполнения. Content build - не всегда часть Player build, так как его при желании можно запускать удалённо.

Процесс вроде понятен. Player Build берёт нужные файлы проекта и преобразует их в Player - исполняемый файл + сопутствующие файлы. Но что конкретно Player Build преобразует? Какие файлы в нашем проекте он включает в билд, а какие нет?

Об этом мы поговорим в следующем посте.

🚀 Пост Guru Unity: @Minerope
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #editor #extension
🤔 Когда уместно расширять редактор?

💬 Кратко:

Расширять редактор Unity уместно когда нужно упростить рабочий процесс, автоматизировать рутинные задачи или создать специализированные инструменты для дизайнеров и художников. Это включает создание кастомных инспекторов, окон редактора и инструментов для конфигурации геймдизайна.

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

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#Собес #git_cherry-pick
🤔 Что такое команда git cherry-pick?

💬 Кратко:

Команда git cherry-pick позволяет выбрать и применить отдельный коммит из другой ветки в вашу текущую ветку, минуя другие изменения, которые были сделаны в той же ветке. Это полезно, когда вам нужно перенести только один коммит, а не весь набор изменений.

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

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

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

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

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

💬 Кратко:

iostream — это заголовочный файл стандартной библиотеки C++, который определяет потоки ввода и вывода, такие как cin (ввод) и cout (вывод).

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

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#Собес #deferred_execution #linq #iterator
🤔 Объясните механизм deferred execution (отложенного выполнения) в LINQ на примере First() и счётчика.

💬 Кратко:

Deferred execution означает, что LINQ-запрос не исполняется при его описании, а только при переборе или вызове терминального оператора (ToList(), First()). Например, var q = data.Where(x=>++counter>0); не увеличит counter пока вы не вызовете q.First() или не переберёте q, тогда counter станет 1 при первом удовлетворяющем элементе.

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

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

💬 Кратко:

Имеет смысл строить дашборды вокруг latency, error rate, throughput и saturation. Они дают целостное понимание состояния сервиса. Метрики нужно агрегировать по endpoint и типам ошибок. Отдельно полезны дашборды по внешним зависимостям и БД. Хороший дашборд позволяет быстро ответить, «что сломалось и где».

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

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

Официальный исходный код открытого кросс‑платформенного игрового движка Godot. Это полноценная среда для разработки 2D‑ и 3D‑игр, включающая редактор, скриптовый язык GDScript (похожий на Python), систему сцен и узлов, инструменты анимации, физику и рендеринг. Репозиторий содержит всю кодовую базу движка, документацию, примеры, а также систему отслеживания задач и обсуждений. Подходит как для изучения архитектуры движка, так и для внесения собственных изменений, создания плагинов или сборки кастомных версий.

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

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#Собес #lock #async #deadlock
🤔 Почему запрещено использовать await внутри lock? Как lock реализован под капотом?

💬 Кратко:

await внутри lock может вызвать взаимоблокировку или нарушить поток выполнения. После await поток меняется, и блокировка не освобождается автоматически. lock компилируется в Monitor.Enter/Exit с try/finally, чтобы гарантировать освобождение блокировки даже при исключениях.

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

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

🤔 Senior + GameDev в X-Flow

Тех.собес. вилка: 3500-4000$. Дата: Июнь 2024

💬 Вопросы:

- Что такое протокол HTTPS?

- Напишите Blueprint для создания простого UI, отображающего здоровье игрока

- Что такое корутины в Unity и когда их использовать?

- Как бы вы реализовали систему UI, независимую от разрешения и соотношения сторон?

- Использовал ли ECS? Если да, то для каких задач?

👉 Все вопросы из этого собеседования (16)

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#Собес #relational #key_value #document
🤔 Какие бывают типы баз данных?

💬 Кратко:

СУБД делятся на реляционные (PostgreSQL, MySQL) с табличной схемой и SQL-запросами, NoSQL: ключ-значение (Redis), документные (MongoDB), колоночные (Cassandra), графовые (Neo4j) и time-series (InfluxDB). Каждая оптимизирована под свой тип нагрузки и модель данных.

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

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
#repository #шейдеры #начинающие
📚 3D Game Shaders for Beginners

Обучающий проект, посвящённый основам написания шейдеров для 3D‑игр. В нём пошагово разбираются ключевые техники компьютерной графики: от простейшего освещения и текстурирования до эффектов вроде нормал‑маппинга, отражения, преломления и постобработки. Материал подаётся в доступной форме с наглядными примерами на GLSL, сопровождается пояснениями принципов работы конвейера рендеринга и визуальными сравнениями «до/после». Проект ориентирован на начинающих разработчиков, которые хотят понять, как создавать и настраивать визуальные эффекты в играх.

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

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
👍1
#Собес #signalr #sse #grpc
🤔 Опыт работы с SignalR, SSE? Чем они отличаются от gRPC?

💬 Кратко:

- SignalR/SSE – для веб-клиентов (подписка на события).
- gRPC – для сервис-сервисного обмена (бинарный, мультиплексирование).

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

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
1
#Собес #unity #optimization
🤔 Где встречается боксинг в Unity?

💬 Кратко:

В Unity боксинг часто встречается при работе с компонентами через GetComponent, в корутинах при передаче параметров, при использовании необобщенных коллекций, в событиях UnityEvent, и при работе с интерфейсами, принимающими object. Это создает аллокации памяти и может вызывать частый сбор мусора, что особенно критично на мобильных устройствах. Оптимизация заключается в использовании обобщенных версий методов и кэшировании компонентов.

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

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

💬 Кратко:

Имеет смысл строить дашборды вокруг latency, error rate, throughput и saturation. Они дают целостное понимание состояния сервиса. Метрики нужно агрегировать по endpoint и типам ошибок. Отдельно полезны дашборды по внешним зависимостям и БД. Хороший дашборд позволяет быстро ответить, «что сломалось и где».

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

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

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

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

📣 Все для прокачки навыков:
Анонсы → канал
Комьюнити → чат
База задач и вопросов → платформа
🔥2
#Собес #synchronous #asynchronous #io
🤔 В чём отличие синхронности и асинхронности, и когда использовать каждую из них?

💬 Кратко:

Синхронный код блокирует текущий поток до завершения операции, подходящ для коротких CPU-bound задач. Асинхронный (async/await) не блокирует поток при I/O-bound операциях (сеть, диск), увеличивая пропускную способность без создания большого числа потоков. Выбирайте синхронность для простых, мало нагружающих сценариев, асинхронность для масштабируемых сетевых или файловых операций.

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

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

🤔 Senior Game разработчик в RedRift

Техническое собеседование. Вилка: 3000$-4000$. Были классические вопросы по работе в команде, оптимизациям, Addressables, архитектуре.

💬 Вопросы:

- Сталкивался ли ты когда-нибудь с проблемами совместимости плагинов или модулей между платформами (iOS/Android)?

- Какие отличия между C++ и C# бросаются в глаза?

- Какие инструменты можно использовать для анализа производительности?

- Теоретическая ситуация: при переходе между сценами память постоянно растёт на 5 МБ — как отловить утечку?

- У нас на сцене тысяча 3D-объектов с одинаковым мешем, но разными материалами — сколько будет draw calls и как это оптимизировать?

👉 Все вопросы из этого собеседования (16)

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