What are the different types of data binding in Angular?
Assesses fundamental understanding of Angular conventions, runtime behavior, and memory/performance considerations.
Hiring managers look for precision, avoidance of ambiguous jargon, and ability to explain trade-offs under real production conditions.
Angular has several binding forms. Interpolation {{ value }} renders a component property into text. Property binding [property]="expr" sets a DOM property or directive input. Attribute binding [attr.aria-label]="expr" sets an attribute when no matching property exists.
Event binding (click)="handler($event)" listens for events, and two-way binding [(ngModel)]="name" combines a value input with a valueChange output; it is sugar for [value]="name" (valueChange)="name = $event".
Class and style bindings use [class.active], [ngClass], [style.width.px] and [ngStyle]. Template reference variables such as #input let you read an element locally, and the $event variable exposes the event payload.
Data flows down through inputs and up through outputs, which is the core mental model. Inputs should be treated as read-only in the child, and the parent owns the state.
Candidate Response Strategy & Interview Tips
- Start with a concise one-sentence summary: Deliver a direct, confident answer first before expanding into nuances.
- Demonstrate real-world trade-offs: Discuss where this approach excels and when you would avoid it in production systems.
- Discuss complexity & edge cases: Proactively explain time/space complexity or boundary conditions (null values, scale limits).
- Prepare for interviewer follow-ups: Technical hiring panels frequently probe deeper into concurrency, backward compatibility, or alternative libraries.