На странице собраны вопросы по .NET — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: backend, .net, database.
Большинство 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-токены действуют дольше и предназначены для выпуска новых…
Как исключить повторную отправку отложенных писем при горизонтальном масштабировании? область: распределённые системы, messaging ключевая проблема: конкуренция при отправке между несколькими инстансами решение 1 —…
Как IQueryable<T> преобразует лямбда-выражения в SQL IQueryable<T> предназначен для формирования запросов к удалённому источнику данных, например к базе данных. В этом случае лямбда-выражения представлены как…