Изучаем .NET от Junior до Senior
176 тем с разборами «как это работает под капотом»: диаграммы, примеры кода на C#, типичные ошибки и вопросы интервьюеров. Идите по треку своего уровня или изучайте разделы целиком.
Треки по уровням
Junior
Фундамент: синтаксис и типы C#, ООП, коллекции, исключения, LINQ, основы ASP.NET Core, SQL и Git. То, без чего не пройти первое собеседование.
Middle
Как всё устроено внутри: async/await, GC, DI, EF Core, индексы и транзакции, архитектурные паттерны, очереди, тестирование, Docker и наблюдаемость.
Senior
Глубина и масштаб: внутренности runtime, производительность, распределённые системы, system design, надёжность, архитектурные решения и лидерство.
Как устроена каждая страница
Ответ в 3–5 пунктах — то, что стоит сказать на собеседовании в первые 30 секунд.
Разбор механизма «под капотом» с диаграммами, таблицами сравнения и кодом.
Типичные ошибки из реальных проектов и как их избежать.
Уточняющие вопросы интервьюера со скрытыми ответами — проверьте себя.
Разделы
Основы C# и .NET
Платформа .NET, типы и переменные, строки, ООП, классы и интерфейсы, исключения, коллекции, методы, LINQ, структура проекта и dotnet CLI.
C# и .NET углублённо
Как устроен CLR, память и GC, типы, async/await, LINQ, дженерики, многопоточность и современные возможности C#.
ASP.NET Core
Конвейер middleware, DI и время жизни сервисов, Minimal API и контроллеры, фильтры, аутентификация, конфигурация, логирование, SignalR и gRPC.
Entity Framework Core
DbContext и Change Tracker, миграции, стратегии загрузки, N+1, транзакции, наследование, raw SQL, интерсепторы и конкурентный доступ.
Базы данных и SQL
ACID и уровни изоляции, индексы и B-Tree, планы запросов, нормализация, JOIN-ы, оконные функции, deadlock-и, репликация и шардирование.
Архитектура и паттерны
SOLID, слоистая и чистая архитектура, CQRS, MediatR, DDD, Event Sourcing, микросервисы, Saga, Outbox, отказоустойчивость и паттерны GoF.
System Design и распределённые системы
Как проектировать системы под нагрузку: подход к system design интервью, масштабирование, согласованность и консенсус, распределённые блокировки, проектирование API, multi-tenancy, надёжность, разборы кейсов и роль Senior-инженера.
Тестирование
Пирамида тестов, xUnit/NUnit/MSTest, моки и стабы, интеграционные тесты с WebApplicationFactory и Testcontainers, TDD/BDD, mutation testing.
Очереди и асинхронная обработка
Брокеры сообщений (RabbitMQ, Kafka), очереди и топики, гарантии доставки, идемпотентность, MassTransit, DLQ, backpressure, Channels и фоновые сервисы.
Производительность и диагностика
Профилирование, аллокации и GC-паузы, утечки памяти, thread starvation, CPU- и I/O-bound задачи, кэширование, пулы соединений, HTTP/2 и HTTP/3.
DevOps и инфраструктура
Docker и multi-stage сборки, Kubernetes, CI/CD, Helm, 12-factor, blue-green и canary, OpenTelemetry, трассировка, метрики и управление секретами.
Безопасность
OWASP Top 10, SQL-инъекции, XSS и CSRF, JWT, OAuth2 и OpenID Connect, хранение паролей, TLS, защита чувствительных данных и уязвимые зависимости.
Работа в команде и процессы
Code review, Git-стратегии, оценка задач, технический долг, менторство, горящие дедлайны и принятие архитектурных решений.