.NET

HttpClient & Networking

HttpClient, HttpClientFactory, request/response, обробка помилок, retry policies, async-патерни

20 питань зі співбесід·
Mid-Level
1

Чому слід використовувати IHttpClientFactory замість прямого створення HttpClient?

Відповідь

IHttpClientFactory автоматично керує життєвим циклом екземплярів HttpClient і запобігає вичерпанню сокетів (socket exhaustion). Пряме створення HttpClient у блоці using може спричинити проблеми зі з'єднаннями у стані TIME_WAIT, які залишаються відкритими навіть після disposal. Використання IHttpClientFactory також дає змогу налаштовувати політики стійкості з Polly та ефективно керувати пулом з'єднань.

2

Яка основна відмінність між Named Client і Typed Client?

Відповідь

Typed Client інкапсулює логіку HTTP-викликів у спеціальному класі з впровадженням залежностей, тоді як Named Client отримується через IHttpClientFactory.CreateClient(name). Typed Client забезпечують кращий поділ відповідальності та полегшують модульне тестування, інкапсулюючи конфігурацію та бізнес-логіку. Named Client корисні для простих випадків, коли потрібно кілька різних конфігурацій без складної бізнес-логіки.

3

Як налаштувати глобальний timeout для всіх екземплярів HttpClient у застосунку?

Відповідь

Налаштування timeout через ConfigurePrimaryHttpMessageHandler дозволяє визначити timeout на рівні handler, який застосовуватиметься до всіх клієнтів, створених factory. Цей підхід централізує конфігурацію та уникає повторення коду. Також можна налаштувати timeout індивідуально для кожного HttpClient, але це стає важко підтримувати у великому застосунку з кількома налаштованими клієнтами.

4

Який метод дозволяє читати тіло HTTP-відповіді у вигляді рядка?

5

Яка роль DelegatingHandler у конвеєрі HttpClient?

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

Інші теми співбесід .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 запитань

Серіалізація 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 запитань

.NET Design Patterns

Senior
24 запитань

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

Senior
22 запитань

Безпека та Best Practices

Senior
24 запитань

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

Senior
22 запитань

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

Senior
25 запитань

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

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

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