Angular Signals Fundamentals
Explain what a Signal is, how it differs from a plain variable or an Observable, and why Angular introduced them.
A Signal is a wrapper around a value that notifies interested consumers whenever that value changes, and Angular introduced them (stable since Angular 17) to solve a problem that Zone.js-based change detection never fully solved: knowing precisely which parts of the UI actually need to be re-checked after a state change, rather than checking the entire component tree on every possible async event. Interviewers ask about Signals heavily now because they represent the most significant architectural shift in Angular since the introduction of Ivy.
A plain variable is like writing on a whiteboard that nobody's watching — changes go unnoticed until someone happens to glance over. A Signal is like a smart whiteboard that automatically pings everyone who's ever read from it the instant new information is written, so nobody has to keep manually checking back.