Backend Infrastructure for .NET Developers: Key Topics for Interviews

Programming
Previous Next

Ось що очікують від .NET розробника під темою Backend інфраструктура. Це не просто список, а карта того, що можуть запитати і де потрібно мати впевнені знання.

🧱 1. Архітектура бекенду

  • Monolith vs Modular Monolith vs Microservices

A Monolith is a single application where all components are tightly coupled and deployed together. It is simple to develop and deploy but becomes hard to scale and maintain as it grows.

A Modular Monolith is still a single application, but it is organized into well-defined modules with clear boundaries. This improves maintainability while keeping the simplicity of a single deployment.

Microservices split the system into multiple independent services, each responsible for a specific functionality. They can be developed, deployed, and scaled independently, but introduce complexity in communication, deployment, and monitoring.

In practice:

Monolith → simple apps or early stages
Modular Monolith → good balance for medium/large systems
Microservices → large, distributed systems with scaling needs

Why can microservices be a bad choice for many projects?

  • Clean Architecture / Onion Architecture

Clean Architecture (also known as Onion Architecture) is an approach that organizes code into layers with a clear separation of concerns.

The core idea is that business logic is independent of frameworks, UI, and external systems.

Typical layers include:

Domain – core business logic and entities
Application – use cases and business rules
Infrastructure – external concerns like databases, APIs
Presentation – UI or API layer

Dependencies always point inward, meaning outer layers depend on inner layers, but not the other way around.

This makes the system easier to test, maintain, and evolve over time.

Why is it important that dependencies point inward in Clean Architecture?

  • Layered architecture (Controller → Service → Repository)
  • CQRS (Command Query Responsibility Segregation)
  • Event-driven architecture
  • DDD (Domain-Driven Design)
  • SOLID

⚡ 2. Кешування

  • In-memory cache
  • Distributed cache (Redis)
  • Cache invalidation
  • Cache aside / write-through / write-behind

📨 3. Черги та повідомлення

  • Message brokers:
    • RabbitMQ
    • Kafka
  • Pub/Sub
  • Retry patterns
  • Idempotency
  • Outbox pattern / Saga Pattern

🚀 4. Performance & Scalability

  • Horizontal vs Vertical scaling
  • Load balancing
  • Throughput vs latency
  • Profiling і bottlenecks

🔗 5. Інтеграції

  • REST clients (HttpClient best practices)
  • Retry + Circuit Breaker (Polly)
  • Third-party APIs

🔗 6. Background jobs

  • Hangfire
  • Quartz.NET

Самостоятельный отпуск Опыт заказа вывоза мусора в Киеве Магія зміни: Від ночі до дня
Магія Вечірнього Неба: Відлякуйте втомленість дня і зануртеся у світ загадок і краси Якби Росія була людиною, то як би її описав психіатр?