¿Qué otros criterios podrías mencionar para un buen componente de biblioteca?
Frontend
Comenzaste a aprender React, y React es más popular y hay más ofertas de trabajo en él. ¿Por qué finalmente cambiaste a Angular?
Cuéntame sobre la escritura de pruebas unitarias: ¿cuándo, en tu opinión, una prueba debe fallar? ¿Qué exactamente debe verificar una prueba unitaria para una clase probada según la escuela de Londres (con todas las dependencias simuladas)?
Analice este enfoque desde la perspectiva de la mezcla de responsabilidades: ¿qué se hizo mal aquí y cómo lo explicaría desde los principios arquitectónicos (en particular, el Principio de Responsabilidad Única y la separación de presentación y modelo)?
Compare la inyección de dependencias a través de parámetros del constructor y mediante la función inject: ¿cuáles son las ventajas y desventajas de cada enfoque?
¿Puede enumerar todas las soluciones técnicas a este problema (excepto reemplazar el campo por una señal)?
Cuéntenos más sobre el uso del pipe async y la suscripción manual: ¿qué exactamente hay que hacer para que el valor se muestre correctamente en la plantilla (incluyendo el trabajo con la suscripción y su cancelación a través de takeUntilDestroy o ngOnDestroy)?
Si la plantilla no sabe que el valor ha cambiado, ¿por qué agregar el pipe async en la plantilla resuelve el problema de reactividad? ¿Cómo funciona esto por debajo del capó?
En su currículum, indica que actualizó Angular desde la versión 14 hasta la 20. Cuente alguna problemática que haya surgido durante la actualización de Angular en un proyecto, una historia de su experiencia práctica.
¿Puede dar un ejemplo concreto de una biblioteca que no permitiera completar la compilación al actualizar Angular (por ejemplo, a la versión 16)? ¿En qué consistía exactamente el problema y cómo lo resolvió?
¿Tiene criterios basados en la práctica para determinar dónde es apropiado aplicar la herencia y dónde no?
¿Por qué al usar una señal y llamar al método set el valor se actualiza en la plantilla, pero con una asignación simple como this.token = cadena, no? Explique esto a nivel de la detección de cambios.
¿Por qué es necesario la herencia en POO? Proporcione una justificación de por qué se usa, si la tarea de reutilización de lógica se puede resolver de otras maneras (por ejemplo, a través de DI).
¿Por qué elegiste específicamente el desarrollo web y Angular, en lugar de, por ejemplo, desarrollo móvil?
¿Está familiarizado con los diagramas de clases UML? ¿Ha trabajado con tipos de relaciones como asociación, composición, agregación, generalización?
Dijiste que escribiste las pruebas con ayuda de una red neuronal. Si la red neuronal generó pruebas que fallan con cualquier cambio en el código de la clase, ¿alcanzan esas pruebas su objetivo? ¿Son útiles?
En su anterior trabajo, mencionó que la parte de frontend era relativamente pequeña, pero que estaban involucrados 6 desarrolladores de frontend. ¿De dónde proviene el equipo exactamente de 6 personas y cómo se relaciona con el equipo general de frontend de la empresa?
Imagine un escenario: un desarrollador más experimentado recibe a un junior con la tarea de crear un componente Angular con un campo para mostrar un token y un botón 'crear token'. Al hacer clic en el botón, se envía una solicitud al servidor, se recibe un token, y el junior escribe this.token = la cadena que llegó, pero el valor no se muestra y la página no se vuelve a renderizar. ¿Qué recomendarías para resolver este problema y qué enfoques existen para solucionarlo?
Si tuviera que contar la cantidad de líneas de código en un proyecto, ¿cómo abordaría esta tarea? ¿Cómo formularía una consulta para buscar una solución o para una red neuronal?
Cuéntenos cómo ingresó en la industria del desarrollo: cómo se capacitó, cómo encontró su primer empleo, considerando que en su currículum indica una especialidad no técnica?