
Реактивне програмування
Reactive Extensions (Rx), IObservable, operators, schedulers, backpressure (необов'язково, менш поширене в сучасних web API)
1Що таке інтерфейс IObservable<T> у Reactive Extensions (Rx.NET)?
Що таке інтерфейс IObservable<T> у Reactive Extensions (Rx.NET)?
Відповідь
IObservable<T> — це фундаментальний інтерфейс у Rx.NET, який представляє джерело даних на основі push. Він надає метод Subscribe, що дозволяє observer'ам підписуватися для отримання асинхронних сповіщень. Це реактивний аналог IEnumerable<T>: тоді як IEnumerable отримує дані синхронно (pull), IObservable надсилає (push) дані асинхронно підписникам.
2Які три методи має інтерфейс IObserver<T> у Rx.NET?
Які три методи має інтерфейс IObserver<T> у Rx.NET?
Відповідь
IObserver<T> визначає три методи: OnNext(T value) для отримання кожного елемента послідовності, OnError(Exception error) для обробки помилок і сигналізації про завершення послідовності в разі збою, та OnCompleted() для позначення успішного завершення послідовності. Ці три методи формують контракт observer'а, який гарантує, що після OnError або OnCompleted жодного іншого OnNext викликано не буде.
3Яка основна різниця між IEnumerable<T> та IObservable<T>?
Яка основна різниця між IEnumerable<T> та IObservable<T>?
Відповідь
IEnumerable<T> — це pull-модель, у якій споживач запитує дані синхронно за допомогою GetEnumerator() і MoveNext(). IObservable<T> — це push-модель, у якій джерело надсилає дані асинхронно підписникам через Subscribe(). IEnumerable блокує викликаючий потік під час ітерації, тоді як IObservable забезпечує неблокуючі операції та композицію асинхронних подій за допомогою операторів LINQ.
Яку роль відіграє оператор Select у Rx.NET?
Як працює оператор Where у Rx.NET?
+21 питань зі співбесід
Інші теми співбесід .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
HttpClient & Networking
Серіалізація 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 та симуляторів співбесід.
Почни безкоштовно