# Components & Lifecycle (Angular) > Component lifecycle hooks, ngOnInit, ngOnChanges, ngOnDestroy, ngAfterViewInit, component communication, @Input, @Output - 20 interview questions - Junior - [Interview Questions: Angular](https://sharpskill.dev/en/technologies/angular/interview-questions.md) ## 1. What is a lifecycle hook in Angular? **Answer** A lifecycle hook is a special method automatically called by Angular at key moments in a component or directive's lifecycle. These hooks allow executing code at specific stages like creation, updates or destruction. The most common hooks are ngOnInit, ngOnChanges and ngOnDestroy. ## 2. When is ngOnInit called? **Answer** ngOnInit is called once after the first ngOnChanges, once all @Input properties have been initialized. This is the ideal hook to initialize component data, start subscriptions or call services. It is preferable to constructor for initialization logic since all bindings are guaranteed available. ## 3. What is the main difference between ngOnChanges and ngOnInit? **Answer** ngOnChanges is called every time an @Input property value changes and receives a SimpleChanges object containing old and new values. ngOnInit is called only once after first initialization. Use ngOnChanges to react to input changes and implement logic dependent on @Input values. Prefer ngOnInit for one-time initialization like API calls or initial configuration. ## 17 more questions available - Why use ngOnDestroy in a component? - In what order are lifecycle hooks called when creating a component? Sign up for free: https://sharpskill.dev/en/login ## Other Angular interview topics - [TypeScript Basics](https://sharpskill.dev/en/technologies/angular/interview-questions/typescript-basics.md): 25 questions, Junior - [TypeScript Advanced](https://sharpskill.dev/en/technologies/angular/interview-questions/typescript-advanced.md): 20 questions, Junior - [Angular Fundamentals](https://sharpskill.dev/en/technologies/angular/interview-questions/angular-fundamentals.md): 20 questions, Junior - [Services & Dependency Injection](https://sharpskill.dev/en/technologies/angular/interview-questions/services-dependency-injection.md): 20 questions, Junior - [Angular Modules Organization](https://sharpskill.dev/en/technologies/angular/interview-questions/modules-organization.md): 22 questions, Mid-Level - [Angular CLI](https://sharpskill.dev/en/technologies/angular/interview-questions/angular-cli.md): 18 questions, Junior - [Directives & Pipes](https://sharpskill.dev/en/technologies/angular/interview-questions/directives-pipes.md): 22 questions, Mid-Level - [Routing & Navigation](https://sharpskill.dev/en/technologies/angular/interview-questions/routing-navigation.md): 24 questions, Mid-Level - [Reactive Forms](https://sharpskill.dev/en/technologies/angular/interview-questions/forms-reactive.md): 26 questions, Mid-Level - [Template-driven Forms](https://sharpskill.dev/en/technologies/angular/interview-questions/forms-template-driven.md): 16 questions, Mid-Level - [RxJS Fundamentals](https://sharpskill.dev/en/technologies/angular/interview-questions/rxjs-fundamentals.md): 22 questions, Mid-Level - [RxJS Operators](https://sharpskill.dev/en/technologies/angular/interview-questions/rxjs-operators.md): 24 questions, Mid-Level - [HttpClient & API Calls](https://sharpskill.dev/en/technologies/angular/interview-questions/http-client.md): 22 questions, Mid-Level - [Basic State Management](https://sharpskill.dev/en/technologies/angular/interview-questions/state-management-basics.md): 20 questions, Mid-Level - [Change Detection](https://sharpskill.dev/en/technologies/angular/interview-questions/change-detection.md): 20 questions, Mid-Level - [Angular Signals](https://sharpskill.dev/en/technologies/angular/interview-questions/angular-signals.md): 20 questions, Mid-Level - [Standalone Components](https://sharpskill.dev/en/technologies/angular/interview-questions/standalone-components.md): 18 questions, Mid-Level - [Angular Unit Testing](https://sharpskill.dev/en/technologies/angular/interview-questions/testing-unit.md): 22 questions, Mid-Level - [End-to-End Testing](https://sharpskill.dev/en/technologies/angular/interview-questions/testing-e2e.md): 18 questions, Mid-Level - [Build & Optimization](https://sharpskill.dev/en/technologies/angular/interview-questions/build-optimization.md): 20 questions, Mid-Level - [NgRx Fundamentals](https://sharpskill.dev/en/technologies/angular/interview-questions/ngrx-fundamentals.md): 24 questions, Senior - [NgRx Advanced](https://sharpskill.dev/en/technologies/angular/interview-questions/ngrx-advanced.md): 24 questions, Senior - [Angular Architecture](https://sharpskill.dev/en/technologies/angular/interview-questions/angular-architecture.md): 22 questions, Senior - [Performance Optimization](https://sharpskill.dev/en/technologies/angular/interview-questions/performance-optimization.md): 22 questions, Senior - [Security & Best Practices](https://sharpskill.dev/en/technologies/angular/interview-questions/security-best-practices.md): 20 questions, Senior - [Advanced RxJS Patterns](https://sharpskill.dev/en/technologies/angular/interview-questions/advanced-rxjs-patterns.md): 22 questions, Senior - [Angular Universal & SSR](https://sharpskill.dev/en/technologies/angular/interview-questions/angular-universal-ssr.md): 20 questions, Senior - [Angular Micro-frontends](https://sharpskill.dev/en/technologies/angular/interview-questions/micro-frontends-angular.md): 20 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/en/technologies/angular/interview-questions/components-lifecycle