На странице собраны вопросы по C# — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: backend, optimization, architecture.
Основные темы и навыки
backend 138optimization 82architecture 78database 73performance 54game development 44async 36api 35
Форматы вопросов
Поведенческие вопросы146
Технические вопросы62
Лайвкодинг21
System Design6
Ориентировочная сложность
Практические84
Продвинутые132
Базовые19
С чего начать подготовку
Начните с раздела «Поведенческие вопросы» и проверьте, можете ли дать короткий ответ своими словами.
Затем разберите вопросы по теме «backend» и свяжите ответы с собственным опытом.
Завершите подготовку практикой: проговорите решение, ограничения и возможные альтернативы.
Устройство List<T> и изменение вместимости массива List<T> в .NET представляет собой динамический массив — собственную оболочку над обычным массивом Элементы хранятся в массиве T[], который изначально имеет…
UniTask — лёгкая альтернатива Task для Unity Для планирования операций библиотека использует расширенный PlayerLoop Unity Интеграция выполняется через PlayerLoopSystem — события Unity внутри игрового цикла Асинхронные…
Принцип работы Unity в ОС и его концепция Unity представляет собой графический интерфейс (desktop environment) Изначально создан для Ubuntu Linux Предоставляет оболочку и отвечает за управление окнами Задействует…
физическое выполнение SQL JOIN Nested Loops Join: вложенный перебор строк и проверка всех возможных пар подходит для небольших таблиц и случаев с доступными индексами Hash Join: формирование хеш-таблицы меньшей…
Надёжное хранение ключей необходимо для поддержания доверия к JWT Применение секретного менеджера: AWS KMS, HashiCorp Vault или Azure Key Vault Доступ предоставляется только согласно правам и ролевой модели (RBAC)…
Как в C# устроено замыкание (closure) с внешней переменной замыкание — это сохранённый контекст окружения лямбды внешняя переменная (например, counter) захватывается по ссылке, а не копируется все обращения к этой…
Большинство DI-контейнеров поддерживает регистрацию нескольких реализаций одного интерфейса Для каждой реализации задаются отдельные идентификаторы — ключи, имена или теги Все реализации можно получить через общую…
Как устроен Dictionary<TKey, TValue>: бакеты и коллизии Dictionary представляет собой хеш-таблицу, использующую массив бакетов Для ключа вычисляется индекс бакета: hash(key) % capacity В одном бакете оказываются…
Гарантии доставки сообщений в RabbitMQ в асинхронной модели RabbitMQ представляет собой брокер сообщений, поддерживающий надежную доставку Применяются гарантии at-most-once, at-least-once и условно exactly-once Для…
Как в куче организована память объекта ссылочного типа? управление памятью объектов в куче объект представлен блоком памяти, в котором хранятся его данные каждый объект содержит метаданные, включая ссылку на тип в…
В CQRS командная (write) и запросная (read) базы разделяются, чтобы эффективнее распределять нагрузку Изменения передаются с помощью асинхронной репликации Для этого применяют event sourcing либо событийную шину…
Выбор стратегии: фабрика, DI или другой паттерн архитектурный подход к созданию объектов фабрика: отвечает за создание объектов и скрывает детали их конструирования Dependency Injection (DI): получает зависимости…