Персональная база знаний по C#, .NET, архитектуре и подготовке к собеседованиям. 49 заметок — единый справочник с встроенными вопросами интервью, production-ready кодом и Senior-level разборами. Каждый документ начинается с раздела «Что это, зачем и когда» — простое объяснение с аналогиями и таблицами.
C#/
├── CSharp/ — Язык C# (8 заметок)
├── Runtime/ — .NET Internals: JIT, GC, Span, Concurrency (4)
├── AspNetCore/ — ASP.NET Core: pipeline → security (9)
├── EFCore/ — Entity Framework Core (6)
├── Architecture/ — Clean, VSA, CQRS, DDD, SOLID, архтесты (6)
├── Testing/ — xUnit, Testcontainers (1)
├── Infrastructure/ — Docker, Messaging, Observability (4)
├── Performance/ — BenchmarkDotNet, profiling, leaks (1)
├── SQL/ — Индексы, планы запросов (1)
├── Quality/ — Analyzers, EditorConfig (1)
├── Snippets/ — Готовые сниппеты кода (4)
└── Meta/ — Learning Path, Behavioral (2)
| # | Тема | Ключевое |
|---|---|---|
| 1 | Типы и память | Value/Reference, Stack/Heap, Boxing, Span, struct vs class |
| 2 | ООП и классы | Наследование, интерфейсы, полиморфизм, records, IDisposable |
| 3 | Collections и LINQ | List, Dictionary, HashSet, Concurrent, LINQ, Expression Trees |
| 4 | Delegates и Events | Delegate, Action/Func, лямбды, events, замыкания |
| 5 | Ошибки, строки, I/O | Exceptions, строки, JSON, файлы, Regex |
| 6 | Async и Threading | Task, async/await, CancellationToken, Channel, синхронизация |
| 7 | Modern C# 8–14 | Pattern matching, nullable, records, primary constructors |
| 8 | Design Patterns | Strategy, Factory, Decorator, Observer, Builder, Singleton |
| # | Тема | Ключевое |
|---|---|---|
| 1 | Компиляция и JIT | Roslyn, IL, JIT, Tiered Compilation, R2R, NativeAOT, Dynamic PGO |
| 2 | GC, LOH и POH | Поколения, Mark-Sweep-Compact, LOH-фрагментация, Finalization |
| 3 | Span, Memory, Layout | ref struct, stackalloc, Data Alignment, StructLayout |
| 4 | Concurrency и Atomics | CAS, volatile, Lock-free, Memory Barriers |
| # | Тема | Ключевое |
|---|---|---|
| 1 | Pipeline и Middleware | Request pipeline, routing, middleware, filters |
| 2 | DI и Configuration | ServiceLifetime, Options pattern, validation |
| 3 | Auth и Security | JWT, CORS, policies, claims, Data Protection |
| 4 | Hosting и Background | BackgroundService, IHostedService, Kestrel |
| 5 | Caching | IMemoryCache, IDistributedCache, Rate Limiting |
| 6 | API Design | Controllers, Minimal API, versioning, content negotiation |
| 7 | Logging и Observability | ILogger, Serilog, OpenTelemetry, Jaeger, Seq |
| 8 | Resilience и HttpClient | Polly, retry, circuit breaker, typed HttpClient |
| 9 | Security Practices | Timing-safe, token hashing, path traversal, CORS |
| # | Тема | Ключевое |
|---|---|---|
| 1 | Basics и Tracking | DbContext, Change Tracker, loading strategies |
| 2 | Queries и Performance | N+1, compiled queries, проекции, split queries |
| 3 | Relationships | FK, navigation, owned types, many-to-many |
| 4 | Migrations | Schema management, seed data, idempotent scripts |
| 5 | Concurrency | Optimistic concurrency, transactions, retry |
| 6 | Patterns | Repository, TPH/TPT, soft delete, audit |
| # | Тема | Ключевое |
|---|---|---|
| 1 | Patterns | Clean Architecture, VSA, N-Layered, масштабирование |
| 2 | CQRS и MediatR | Result Pattern, Command/Query, pipeline behaviors |
| 3 | Архитектурные тесты | NetArchTest, проверка слоёв, конвенции |
| 4 | DDD на практике | Value Objects, Aggregate Root, Domain Events, Result Pattern |
| 5 | SOLID + DRY/KISS/YAGNI | SRP, OCP, LSP, ISP, DIP, DRY, KISS, YAGNI с примерами |
| 6 | Patterns (+ Modular Monolith) | Modular Monolith, структура модулей, inter-module communication |
| Тема | Ключевое |
|---|---|
| Testing | Пирамида тестов, xUnit, Testcontainers, mocking |
| Docker | Dockerfile, multi-stage, docker-compose |
| Messaging | RabbitMQ, MassTransit, Azure Service Bus |
| Observability | OpenTelemetry, Jaeger, Seq, метрики |
| Project Setup | Шаблон .NET проекта 2026, CI/CD |
| Performance | BenchmarkDotNet, profiling, memory leaks |
| SQL Optimization | Индексы, планы запросов, транзакции |
| Code Quality | Roslyn Analyzers, SonarQube, EditorConfig |
| Сниппет | Описание |
|---|---|
| MediatR Handlers | Command/Query handler с Result |
| Result Pattern | Примеры Result/Option |
| EF Core Queries | Запросы, Include, проекции |
| WPF ViewModel | MVVM Toolkit, ObservableProperty |
| CRUD — полный пример | Endpoint → Handler → Domain → EF → БД для всех операций |
| Заметка | Описание |
|---|---|
| Learning Path | Пошаговый план обучения с оценкой времени |
| Behavioral | Подготовка к behavioral интервью |
Каждая заметка следует единому формату:
---
tags: [тема1, тема2]
level: Senior
---
# Название
## Теория
...
### Пример (production-ready код)
> [!question]- Интервью: Вопрос?
> Развёрнутый ответ встроен РЯДОМ с теорией.
## См. также
- [Ссылка](../path.md)
Вопросы интервью встроены в темы как сворачиваемые callouts > [!question]- — рядом с теорией, к которой относятся.