На странице собраны вопросы по .NET — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: backend, database, memory management.
Устройство List<T> и изменение вместимости массива List<T> в .NET представляет собой динамический массив — собственную оболочку над обычным массивом Элементы хранятся в массиве T[], который изначально имеет…
Как в C# устроено замыкание (closure) с внешней переменной замыкание — это сохранённый контекст окружения лямбды внешняя переменная (например, counter) захватывается по ссылке, а не копируется все обращения к этой…
Большинство DI-контейнеров поддерживает регистрацию нескольких реализаций одного интерфейса Для каждой реализации задаются отдельные идентификаторы — ключи, имена или теги Все реализации можно получить через общую…
Как устроен Dictionary<TKey, TValue>: бакеты и коллизии Dictionary представляет собой хеш-таблицу, использующую массив бакетов Для ключа вычисляется индекс бакета: hash(key) % capacity В одном бакете оказываются…
Как в куче организована память объекта ссылочного типа? управление памятью объектов в куче объект представлен блоком памяти, в котором хранятся его данные каждый объект содержит метаданные, включая ссылку на тип в…
Выбор стратегии: фабрика, DI или другой паттерн архитектурный подход к созданию объектов фабрика: отвечает за создание объектов и скрывает детали их конструирования Dependency Injection (DI): получает зависимости…
Принципы SOLID: SRP, OCP, LSP, ISP и DIP с практическими примерами SOLID — пять принципов, которые помогают проектировать качественный объектно-ориентированный код SRP (Single Responsibility Principle): у класса…
TDD — методика разработки через тесты Сначала создаются юнит-тесты, затем реализуется код Практика повышает качество и предсказуемость изменений Ошибки обнаруживаются на ранних этапах разработки Есть опыт внедрения…
Сбор и анализ логов: как работать с бинарными данными Для централизованного сбора использую ELK (Elasticsearch, Logstash, Kibana), Fluentd Предпочитаю текстовый формат логов, поскольку он удобен для поиска и…
оптимизация объёма данных при мониторинге и логировании фильтрация логов по уровням ERROR, WARN и INFO настройка семплинга и агрегации логов структурированные логи для более точного поиска сбор полной информации о…
Как выбрать DI-контейнер: Autofac или стандартный контейнер? Контекст: DI-контейнеры применяются в .NET для реализации инверсии зависимостей Стандартный контейнер Поставляется вместе с .NET Core и обеспечивает…
Контекст: защита аутентификации и токенов доступа Access-токены имеют короткий срок действия — обычно от нескольких минут до нескольких часов Refresh-токены действуют дольше и предназначены для выпуска новых…