
HttpClient & Networking
HttpClient, HttpClientFactory, request/response, обробка помилок, retry policies, async-патерни
1Чому слід використовувати IHttpClientFactory замість прямого створення HttpClient?
Чому слід використовувати IHttpClientFactory замість прямого створення HttpClient?
Відповідь
IHttpClientFactory автоматично керує життєвим циклом екземплярів HttpClient і запобігає вичерпанню сокетів (socket exhaustion). Пряме створення HttpClient у блоці using може спричинити проблеми зі з'єднаннями у стані TIME_WAIT, які залишаються відкритими навіть після disposal. Використання IHttpClientFactory також дає змогу налаштовувати політики стійкості з Polly та ефективно керувати пулом з'єднань.
2Яка основна відмінність між Named Client і Typed Client?
Яка основна відмінність між Named Client і Typed Client?
Відповідь
Typed Client інкапсулює логіку HTTP-викликів у спеціальному класі з впровадженням залежностей, тоді як Named Client отримується через IHttpClientFactory.CreateClient(name). Typed Client забезпечують кращий поділ відповідальності та полегшують модульне тестування, інкапсулюючи конфігурацію та бізнес-логіку. Named Client корисні для простих випадків, коли потрібно кілька різних конфігурацій без складної бізнес-логіки.
3Як налаштувати глобальний timeout для всіх екземплярів HttpClient у застосунку?
Як налаштувати глобальний timeout для всіх екземплярів HttpClient у застосунку?
Відповідь
Налаштування timeout через ConfigurePrimaryHttpMessageHandler дозволяє визначити timeout на рівні handler, який застосовуватиметься до всіх клієнтів, створених factory. Цей підхід централізує конфігурацію та уникає повторення коду. Також можна налаштувати timeout індивідуально для кожного HttpClient, але це стає важко підтримувати у великому застосунку з кількома налаштованими клієнтами.
Який метод дозволяє читати тіло HTTP-відповіді у вигляді рядка?
Яка роль DelegatingHandler у конвеєрі HttpClient?
+17 питань зі співбесід
Інші теми співбесід .NET
Основи C#
LINQ & Delegates
Основи мови C#
Основи ASP.NET Core
Життєвий цикл запиту в ASP.NET Core
Configuration & Settings
Життєвий цикл застосунку
Dependency Injection
Entity Framework Core
Minimal APIs
Розробка Web API
Async в ASP.NET Core
Authentication & Authorization
Серіалізація JSON
Entity Framework Core просунутий
Розширені можливості C#
Clean Architecture
Logging, Monitoring & Observability
Модульне тестування та xUnit
Інтеграційні тести
Docker & Containerization
Керування пакетами NuGet
Memory Management & GC
Реактивне програмування
Async/await і патерни
.NET Design Patterns
Оптимізація продуктивності
Безпека та Best Practices
SignalR і реальний час
Архітектура мікросервісів
Опануй .NET для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно