# Directives & Pipes (Angular) > Built-in directives, custom directives, attribute directives, structural directives, built-in pipes, custom pipes, pure vs impure pipes - 22 interview questions - Mid-Level - [Interview Questions: Angular](https://sharpskill.dev/en/technologies/angular/interview-questions.md) ## 1. What is a structural directive in Angular? **Answer** Structural directives modify the DOM structure by adding, removing, or manipulating elements. They are prefixed with * (e.g., *ngIf, *ngFor). Unlike attribute directives that modify appearance or behavior, structural directives can add or remove elements from the DOM. ## 2. What is the correct syntax for using ngFor with trackBy? **Answer** The correct syntax uses a semicolon to separate the iteration from the trackBy function. The trackBy function improves performance by allowing Angular to identify which items have changed, been added, or removed. It takes two parameters (index and item) and returns a unique identifier. ## 3. Why use trackBy with ngFor? **Answer** trackBy improves list rendering performance by allowing Angular to precisely identify which items have changed. Without trackBy, Angular recreates all DOM elements when changes occur. With trackBy, only modified items are updated, avoiding unnecessary recreations. ## 19 more questions available - Which directive should be used to conditionally display an element based on a condition? - What is the difference between *ngIf and [hidden]? 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 - [Components & Lifecycle](https://sharpskill.dev/en/technologies/angular/interview-questions/components-lifecycle.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 - [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/directives-pipes