В этой подборке вопросы сгруппированы по формату «Технические вопросы», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: backend, optimization, database.
В PHP нет полноценных generics, аналогичных тем, что есть в Java и C# В актуальных версиях PHP 8.x дженерики можно описывать с помощью аннотаций в PHPDoc Инструменты статического анализа, включая PHPStan и Psalm,…
В Swift для классов не предусмотрено множественное наследование Каждый класс может иметь только один суперкласс Для замены множественного наследования применяются протоколы (protocols) Протоколы задают набор…
Почему Addressables удобнее чистых AssetBundle? Работа с ключами: Addressables обращаются к ресурсам по логическим ключам, не привязываясь к жестко заданным путям. Автоматическая обработка зависимостей: система…
Роль CPU Cache в архитектуре ECS ECS (Entity Component System) представляет собой архитектурный паттерн, применяемый в играх и высокопроизводительных приложениях CPU Cache — это небольшой, но очень быстрый участок…
Почему колоночные БД, включая ClickHouse, эффективнее PostgreSQL В отличие от PostgreSQL, данные хранятся в колоночном формате, а не построчно Такая архитектура оптимальна для аналитических запросов, включая агрегацию…
Eloquent — это ORM Laravel, построенный на основе паттерна ActiveRecord В такой модели объединены представление данных и бизнес-логика Экземпляры моделей инкапсулируют операции с БД, включая CRUD-логику Подход…
REST работает поверх HTTP/1.1 и отличается универсальностью Передаёт данные в текстовых форматах, таких как JSON и XML, поэтому их легко читать Поддерживается браузерами и удобен для веб-клиентов Его просто проверять…
WebGL — API для рендеринга в браузере, построенный на базе OpenGL ES Task (например, C# Task) — механизм асинхронного управления задачами в .NET и многопоточных приложениях WebGL выполняется в однопоточном контексте…
графика и интерфейс разделение слоёв для оптимизации обновление только изменённых областей для повышения производительности упрощение обработки событий ввода на разных слоях уменьшение затрат на перерисовку всего UI…
Почему []rune эффективнее прямой конкатенации строк? строки в Go неизменяемы при конкатенации создаются новые копии строк — это требует много памяти []rune представляет собой изменяемый массив символов (runes)…
Почему frame-based логика может создавать проблемы? состояния и данные сохраняются при каждом кадровом цикле зависит от задержек и снижения FPS может пропускать события, происходящие между кадрами (недетерминирована)…