Quick Answer
OnPush limitations: if you mutate an object/array in place (push to array, modify nested property), OnPush won't detect the change because the reference is the same. You must create new references (immutable updates). Also, changes from outside Angular's zone (third-party callbacks) won't trigger CD automatically - call markForCheck() or detectChanges() manually. Signals (Angular 17+) solve these limitations.
Answer
Requires immutability and manual notifications; otherwise UI may not update automatically.
S
SugharaIQ Editorial Team
Verified Answer
This answer has been peer-reviewed by industry experts holding senior engineering roles to ensure technical accuracy and relevance for modern interview standards.