Angular 20 Preguntas y Respuestas 2025 Parte 1 TypeScript y Conceptos Fundamentales

Introducción: Este artículo prepara para una entrevista de Angular 20 en 2025 y recopila las primeras 50 preguntas y respuestas, desde fundamentos de TypeScript hasta módulos, componentes, servicios, directivas, hooks de ciclo de vida, detección de cambios e inyección de dependencias.
TypeScript Básico Q1. ¿Qué es TypeScript y por qué se prefiere en Angular? TypeScript es un superset de JavaScript con tipado estático que aporta comprobación de tipos, decoradores y características modernas. En Angular aporta tipado fuerte para reducir errores en tiempo de ejecución, mejores herramientas como autocompletado y decoradores para metadatos como @Component y @Injectable.
Q2. ¿Qué características clave de TypeScript se usan en Angular? Interfaces y clases, genéricos, enums, módulos, decoradores e inferencia de tipos.
Q3. Diferencia entre any, unknown y never: any desactiva la comprobación; unknown es más seguro y exige validación antes de usar; never indica funciones que no retornan.
Q4. Explica los decoradores de TypeScript en Angular: son funciones que adjuntan metadatos a clases y elementos. Ejemplos principales: @Component para componentes, @Injectable para servicios, @Directive para directivas y @NgModule para módulos.
Q5. Diferencia entre interface y type: interface es extensible y recomendable para modelos; type puede representar primitivos, uniones e intersecciones.
Q6. ¿Cómo soporta TypeScript la inyección de dependencias de Angular? Mediante metadatos de reflexión emitidos por el compilador que permiten al sistema DI resolver tipos en tiempo de ejecución.
Q7. Modificadores de acceso en TypeScript: public por defecto accesible en todas partes, private solo dentro de la clase, protected dentro de la clase y subclases, readonly para propiedades inmutables tras inicialización.
Q8. ¿Cómo ayudan los genéricos en Angular? Permiten componentes y servicios reutilizables y tipados, por ejemplo métodos de obtención de datos que retornan Observable de un tipo genérico.
Q9. Explica strict mode en TypeScript: activa comprobaciones estrictas como strictNullChecks y noImplicitAny para detectar errores potenciales en tiempo de compilación.
Q10. Diferencia entre Promise y Observable: Promise resuelve una sola vez y no es cancelable; Observable puede emitir múltiples valores en el tiempo, es cancelable y aprovecha operadores de RxJS.
Angular Conceptos Core Q11. ¿Qué es Angular? Framework basado en TypeScript para construir aplicaciones SPA con componentes, DI, RxJS y herramientas como el CLI.
Q12. Bloques de construcción de Angular: componentes, módulos, plantillas, directivas, servicios, inyección de dependencias y RxJS.
Q13. Explica componentes en Angular: son unidades de UI definidas con @Component, que incluyen selector, template, estilos y hooks de ciclo de vida.
Q14. ¿Qué es un NgModule? Contenedor de componentes, directivas, pipes y proveedores. AppModule es el módulo raíz y se diseñan módulos para lazy loading.
Q15. Diferencia entre BrowserModule y CommonModule: BrowserModule se importa en el módulo raíz e incluye servicios del DOM; CommonModule se usa en módulos funcionales y aporta directivas como ngIf y ngFor.
Q16. Explica directivas: estructurales cambian el layout del DOM como *ngIf y *ngFor; de atributo alteran la apariencia o comportamiento como ngClass y ngStyle.
Q17. ¿Qué es un servicio Angular? Proveedor de lógica reutilizable, decorado con @Injectable e inyectado mediante el sistema DI.
Q18. Explica la inyección de dependencias: patrón que inyecta dependencias en lugar de hardcodearlas; el sistema de Angular resuelve y provee servicios a componentes.
Q19. Hooks de ciclo de vida principales: ngOnInit para inicialización, ngOnChanges para cambios de inputs, ngDoCheck para detecciones personalizadas y ngOnDestroy para limpieza.
Q20. Formularios Template-driven vs Reactive: template-driven son sencillos y usan ngModel; reactive son escalables y definidos programáticamente con FormControl y FormGroup.
Q21. ¿Qué es la detección de cambios? Sincronización entre modelo y vista. Estrategias: Default revisa todos los componentes; OnPush revisa solo cuando cambian inputs o se emiten eventos observables.
Q22. ¿Qué es un pipe? Función para transformar datos en plantillas, por ejemplo date o currency, y se pueden crear pipes personalizados con @Pipe.
Q23. Pure vs Impure pipes: un pipe puro se ejecuta solo cuando cambia la entrada; un pipe impuro se ejecuta en cada ciclo de detección de cambios.
Q24. ¿Qué son los componentes standalone? Componentes que no requieren NgModule y declaran standalone true, reduciendo boilerplate y mejorando modularidad.
Q25. ¿Qué es Zone.js en Angular? Biblioteca que parchea APIs asíncronas, rastrea tareas y dispara detección de cambios automáticamente tras operaciones asíncronas.
Q26. Explica Micro Frontend en Angular: dividir la aplicación en apps Angular independientes, frecuentemente con Module Federation de Webpack 5 para despliegues y desarrollo paralelo.
Q27. ¿Qué es una PWA en Angular? Aplicación web progresiva con soporte offline, caching y notificaciones, que en Angular se facilita con @angular/pwa.
Q28. ¿Qué es HttpClientModule? Módulo para comunicación HTTP construido sobre RxJS, con soporte para interceptores, manejo de errores y respuestas tipadas.
Q29. ¿Qué son los guards? Mecanismos para proteger rutas como CanActivate, CanDeactivate, Resolve y CanLoad.
Q30. AOT vs JIT: AOT compila en build time para arranque más rápido; JIT compila en el navegador y puede ser útil en desarrollo.
Q31. ¿Qué es lazy loading? Cargar módulos de características solo cuando se necesitan para mejorar tiempo de carga inicial.
Q32. Subject vs BehaviorSubject: Subject no tiene valor inicial y multicasta; BehaviorSubject requiere valor inicial y guarda el último valor emitido.
Q33. ¿Qué es RouterModule? Define reglas de navegación, soporta lazy loading, guards y resolvers.
Q34. ¿Qué es Ivy? Motor de renderizado de Angular que ofrece compilación más rápida, bundles más pequeños y mejor depuración.
Q35. Explica interceptores: middleware para peticiones y respuestas HTTP, útil para tokens de autenticación, logging y manejo de errores.
Q36. ¿Qué es Angular Universal? Renderizado del lado servidor para mejorar SEO y rendimiento inicial.
Q37. ¿Qué es ng-content? Permite proyección de contenido en componentes, funcionalmente similar a children en otros frameworks.
Q38. Explica ViewEncapsulation: Emulated scopea el CSS por defecto; ShadowDom usa shadow DOM nativo; None no aplica encapsulación y el CSS es global.
Q39. ¿Qué son las animaciones? Basadas en @angular/animations y la Web Animations API, definidas con trigger, state y transition.
Q40. ¿Qué es el testing en Angular? Unit testing con Jasmine y Karma como ejecutor; pruebas E2E con herramientas como Protractor o Cypress.
Q41. ViewChild vs ContentChild: @ViewChild consulta elementos del template propio; @ContentChild consulta contenido proyectado.
Q42. Explica ngZone: gestiona la ejecución y detección de cambios tras tareas asíncronas; zone.runOutsideAngular se usa para mejorar rendimiento al evitar detecciones innecesarias.
Q43. ¿Qué es trackBy? Optimización para *ngFor que previene re-renderizados del DOM rastreando ítems por una clave única.
Q44. ¿Qué son las schematics? Plantillas de generación de código para el CLI que facilitan comandos como ng generate component o ng generate service.
Q45. ¿Qué es Angular ESLint? Linter que asegura calidad de código y buenas prácticas en proyectos Angular.
Q46. Explica ngOptimizedImage en Angular 20: nueva directiva para optimizar imágenes automáticamente, soporta lazy loading y genera srcset para mejorar Core Web Vitals.
Q47. ¿Qué son los Signals en Angular? Primitivas reactivas para gestión de estado con reactividad fina, conceptos similares a librerías reactivas modernas.
Q48. Explica platform-browser: módulo con servicios relacionados con el DOM necesarios para ejecutar Angular en navegadores.
Q49. ¿Qué es el compilador Angular NGC? Compilador Ahead of Time que convierte plantillas Angular en JavaScript optimizado.
Q50. Explica Renderer2: servicio para manipular el DOM de forma segura y agnóstica, útil para SSR y Web Workers.
Conclusión: Esta primera parte cubre fundamentos de TypeScript y conceptos core de Angular 20 para entrevistas en 2025. Repasar estos temas ayuda a demostrar comprensión tanto teórica como práctica.
Sobre Q2BSTUDIO: Q2BSTUDIO es una empresa de desarrollo de software y aplicaciones a medida especializada en soluciones modernas para empresas. Ofrecemos desarrollo de aplicaciones a medida y software a medida, servicios de inteligencia artificial y consultoría en ia para empresas, además de ciberseguridad y pentesting para proteger infraestructuras. También proporcionamos servicios cloud aws y azure, soluciones de inteligencia de negocio y Power BI para explotar datos, automatización de procesos y agentes IA. Nuestro enfoque integra experiencia en desarrollo, seguridad y cloud para entregar soluciones escalables y seguras adaptadas a cada cliente.
Palabras clave: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.
Recursos relacionados: Si buscas potenciar tus proyectos con soluciones IA y automatización, conoce nuestros servicios de inteligencia artificial y descubre cómo transformar datos en valor con Power BI y servicios cloud.
Comentarios