.NET

.NET Design Patterns

Singleton, Factory, Builder, Strategy, Decorator, Repository, Unit of Work, SOLID

24 питань зі співбесід·
Senior
1

Яка основна проблема патерну Singleton у сучасному .NET із Dependency Injection?

Відповідь

Класичний патерн Singleton (статичний екземпляр) конфліктує з dependency injection, оскільки створює тісне зчеплення й ускладнює тестування. У сучасному .NET краще використовувати service lifetime 'Singleton' через DI (services.AddSingleton), що дає таку саму гарантію єдиного екземпляра, водночас уможливлюючи injection, мокінг і тестованість. Статичний Singleton обходить DI-контейнер і створює приховані залежності.

2

У патерні Factory Method, яка різниця між Factory Method та Abstract Factory у .NET?

Відповідь

Factory Method визначає віртуальний метод для створення одного типу об'єкта (напр., CreateLogger), дозволяючи підкласам вирішувати, який конкретний клас інстанціювати. Abstract Factory визначає interface для створення родин пов'язаних об'єктів (напр., IUIFactory із CreateButton, CreateTextBox), даючи змогу створювати кілька узгоджених продуктів разом. Factory Method зосереджується на одному продукті з поліморфізмом, а Abstract Factory керує кількома продуктами однієї родини.

3

Яка основна перевага патерну Builder у .NET для створення складних об'єктів із багатьма необов'язковими параметрами?

Відповідь

Патерн Builder уникає телескопічних конструкторів (численних перевантажень із різними комбінаціями параметрів), надаючи плавний interface для покрокової побудови об'єкта. Він дозволяє створювати складні об'єкти з необов'язковими параметрами читабельно й зручно для підтримки, на відміну від конструкторів із понад 10 параметрами. У сучасному C# init-властивості та record можуть замінити Builder для простих випадків, але Builder залишається корисним для складної валідації чи багатоетапної побудови.

4

Що таке принцип Single Responsibility (SRP) у SOLID і як його застосовувати в .NET?

5

Що таке принцип Open/Closed (OCP) у SOLID і як реалізувати його за допомогою interface у .NET?

+21 питань зі співбесід

Інші теми співбесід .NET

Основи C#

Junior
25 запитань

LINQ & Delegates

Junior
20 запитань

Основи мови C#

Junior
15 запитань

Основи ASP.NET Core

Junior
18 запитань

Життєвий цикл запиту в ASP.NET Core

Junior
20 запитань

Configuration & Settings

Junior
20 запитань

Життєвий цикл застосунку

Junior
20 запитань

Dependency Injection

Mid-Level
24 запитань

Entity Framework Core

Mid-Level
25 запитань

Minimal APIs

Mid-Level
18 запитань

Розробка Web API

Mid-Level
22 запитань

Async в ASP.NET Core

Mid-Level
20 запитань

Authentication & Authorization

Mid-Level
18 запитань

HttpClient & Networking

Mid-Level
20 запитань

Серіалізація JSON

Mid-Level
20 запитань

Entity Framework Core просунутий

Mid-Level
25 запитань

Розширені можливості C#

Mid-Level
20 запитань

Clean Architecture

Mid-Level
20 запитань

Logging, Monitoring & Observability

Mid-Level
22 запитань

Модульне тестування та xUnit

Mid-Level
20 запитань

Інтеграційні тести

Mid-Level
18 запитань

Docker & Containerization

Mid-Level
16 запитань

Керування пакетами NuGet

Mid-Level
16 запитань

Memory Management & GC

Senior
22 запитань

Реактивне програмування

Senior
24 запитань

Async/await і патерни

Senior
26 запитань

Оптимізація продуктивності

Senior
22 запитань

Безпека та Best Practices

Senior
24 запитань

SignalR і реальний час

Senior
22 запитань

Архітектура мікросервісів

Senior
25 запитань

Опануй .NET для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно