# NgRx avanzado (Angular) > Entity adapter, feature states, meta-reducers, router store, component store, patrones de effects, manejo de errores - 24 preguntas de entrevista - Senior - [Preguntas de entrevista: Angular](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista.md) ## 1. ¿Cuál es el rol principal de createEntityAdapter en NgRx? **Respuesta** El Entity Adapter genera automáticamente reducers y selectors para gestionar colecciones normalizadas de entidades. Proporciona métodos como addOne, addMany, updateOne, removeOne que facilitan la manipulación de objetos indexados por ID. Esto evita escribir manualmente la lógica de gestión de colecciones y garantiza un estado normalizado para un mejor rendimiento. ## 2. ¿Qué estructura de datos usa Entity Adapter para almacenar entidades? **Respuesta** Entity Adapter almacena entidades en un objeto con dos propiedades: ids (array ordenado de identificadores) y entities (diccionario clave-valor para acceso O(1)). Esta estructura normalizada evita duplicados, facilita las actualizaciones por ID y optimiza el rendimiento de búsqueda. El array ids mantiene el orden de visualización. ## 3. ¿Cómo especificar un comparador de ordenación personalizado con Entity Adapter? **Respuesta** El comparador de ordenación se define mediante la propiedad sortComparer al crear el adapter. Esta función compara dos entidades y retorna un número (negativo, cero o positivo) para determinar su orden. Si sortComparer se establece en false, no se aplica ordenación automática y los ids mantienen el orden de inserción o actualización. ## 21 preguntas más disponibles - ¿Qué método de Entity Adapter usar para agregar o actualizar múltiples entidades en una sola operación? - ¿Qué selector predefinido de Entity Adapter recupera todas las entidades como array? Regístrate gratis: https://sharpskill.dev/es/login ## Otros temas de entrevista Angular - [Conceptos básicos de TypeScript](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/typescript-basics.md): 25 preguntas, Junior - [TypeScript Avanzado](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/typescript-advanced.md): 20 preguntas, Junior - [Fundamentos de Angular](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/angular-fundamentals.md): 20 preguntas, Junior - [Componentes y ciclo de vida](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/components-lifecycle.md): 20 preguntas, Junior - [Services & Dependency Injection](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/services-dependency-injection.md): 20 preguntas, Junior - [Organización de Módulos Angular](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/modules-organization.md): 22 preguntas, Mid-Level - [Angular CLI](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/angular-cli.md): 18 preguntas, Junior - [Directivas y Pipes](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/directives-pipes.md): 22 preguntas, Mid-Level - [Routing y Navegación](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/routing-navigation.md): 24 preguntas, Mid-Level - [Formularios reactivos](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/forms-reactive.md): 26 preguntas, Mid-Level - [Formularios template-driven](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/forms-template-driven.md): 16 preguntas, Mid-Level - [Fundamentos de RxJS](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/rxjs-fundamentals.md): 22 preguntas, Mid-Level - [Operadores RxJS](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/rxjs-operators.md): 24 preguntas, Mid-Level - [HttpClient y llamadas API](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/http-client.md): 22 preguntas, Mid-Level - [Gestión de estado básica](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/state-management-basics.md): 20 preguntas, Mid-Level - [Change Detection](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/change-detection.md): 20 preguntas, Mid-Level - [Angular Signals](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/angular-signals.md): 20 preguntas, Mid-Level - [Standalone Components](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/standalone-components.md): 18 preguntas, Mid-Level - [Pruebas unitarias en Angular](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/testing-unit.md): 22 preguntas, Mid-Level - [Testing End-to-End](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/testing-e2e.md): 18 preguntas, Mid-Level - [Build y optimización](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/build-optimization.md): 20 preguntas, Mid-Level - [Fundamentos de NgRx](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/ngrx-fundamentals.md): 24 preguntas, Senior - [Arquitectura Angular](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/angular-architecture.md): 22 preguntas, Senior - [Optimización de rendimiento](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/performance-optimization.md): 22 preguntas, Senior - [Seguridad y buenas prácticas](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/security-best-practices.md): 20 preguntas, Senior - [Patrones avanzados de RxJS](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/advanced-rxjs-patterns.md): 22 preguntas, Senior - [Angular Universal y SSR](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/angular-universal-ssr.md): 20 preguntas, Senior - [Micro-frontends Angular](https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/micro-frontends-angular.md): 20 preguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/es/technologies/angular/preguntas-entrevista/ngrx-advanced