RxJS State vs Signal State
Compare BehaviorSubject-based services and Signal-based services as two viable lightweight state management approaches.
Before Signals existed, a providedIn: 'root' service wrapping a BehaviorSubject was the standard lightweight state management pattern for apps not big enough to justify full NgRx — exposing a public .asObservable() view and private setter methods that call .next() internally. Signals now offer a genuinely comparable, often simpler alternative for the same use case, and interviewers increasingly ask you to compare the two directly, since choosing between them is now a real, everyday architectural decision rather than a purely academic one.
RxJS-based state is like a subscription newsletter you have to sign up for and eventually unsubscribe from, but which can be filtered and combined with other feeds along the way; Signal-based state is like a public notice board you can walk up and read directly any time, with no sign-up or cancellation needed, though it doesn't come with a built-in mail-filtering service.