Problem Statement
Walk me through key Angular lifecycle hooks you actually use.
Explanation
I use `ngOnInit` for one-time setup or initial fetches, `ngOnChanges` when reacting to @Input changes, `ngAfterViewInit` to access @ViewChild DOM or child components, and `ngOnDestroy` to clean subscriptions/timers. For custom detection, `ngDoCheck` is a last resort.