# NgRx Advanced (Angular) > Entity adapter, feature states, meta-reducers, router store, component store, effects patterns, error handling - 24 interview questions - Senior - [Interview Questions: Angular](https://sharpskill.dev/en/technologies/angular/interview-questions.md) ## 1. What is the main role of createEntityAdapter in NgRx? **Answer** The Entity Adapter automatically generates reducers and selectors to manage normalized collections of entities. It provides methods like addOne, addMany, updateOne, removeOne that facilitate manipulation of ID-indexed objects. This avoids manually writing collection management logic and ensures a normalized state for better performance. ## 2. What data structure does Entity Adapter use to store entities? **Answer** Entity Adapter stores entities in an object with two properties: ids (ordered array of identifiers) and entities (key-value dictionary for O(1) access). This normalized structure avoids duplicates, facilitates updates by ID and optimizes lookup performance. The ids array maintains display order. ## 3. How to specify a custom sort comparator with Entity Adapter? **Answer** The sort comparator is defined via the sortComparer property when creating the adapter. This function compares two entities and returns a number (negative, zero or positive) to determine their order. If sortComparer is set to false, no automatic sorting is applied and ids maintain insertion or update order. ## 21 more questions available - Which Entity Adapter method to use to add or update multiple entities in a single operation? - Which predefined Entity Adapter selector retrieves all entities as an array? 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 - [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 - [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/ngrx-advanced