Prueba Técnica Desarrollo
Consideraciones:
• En las preguntas se indica si corresponde a Angular, en caso contrario, si no indica entre
paréntesis que es una pregunta de angular, implica que es una pregunta del lenguaje Java.
• Para cada pregunta existe una única respuesta correcta.
• Las preguntas de Java incluyen también las correspondientes al Framework Spring.
Q1. ¿Cuál es el propósito del decorador ViewChild en este componente? (Angular)
A. Proporciona acceso desde dentro del componente al objeto ElementRef para la etiqueta <p>.
B. Indica que la etiqueta <p> no debe renderizarse en este componente.
C. Hace que la etiqueta <p> en el template soporte la proyección de contenido.
D. Hace que la etiqueta <p> sea visible en el renderizado final solo si su valor no está vacío.
Q2. ¿Cuál es el resultado de llamar al método “map” de este controlador usando una petición
HTTP de tipo GET como la siguiente: localhost:8080/map?foo=foo&bar=bar ?
A. Se genera la excepción InvalidParameterNameMappingException.
B. barfoo
C. foobar
D. Se devuelve un código de estado de 400 Bad Request.
Q3. ¿Cómo genera Spring los nombres de los beans de clases anotadas con @Component que no
especifican un nombre?
A. Usa el nombre de la clase con la primera letra en minúscula.
B. Usa el mismo nombre de la clase.
C. Usa el nombre de la clase en mayúscula.
D. Usa el nombre de la clase, incluido el paquete, en minúscula.
Q4. ¿Cómo se define una constante?
A. non-static
B. static
C. final
D. private
Q5. Elija la mejor descripción para la sintaxis de código en este template: (Angular)
A. El ? es la abreviatura de un pipe asíncrono. ”job” debe ser un Observable.
B. Está utilizando el operador de navegación segura (?) en el campo ”job”. Si el campo “job”
no está definido o es nulo, se ignorará el acceso a “bossName” y no se producirá ningún
error.
C. Hay un error en la sintaxis del template. El operador ? no es válido aquí.
D. Muestra el valor del campo “job”, si lo tiene; de lo contrario, muestra el atributo
“bossName”.
Q6. ¿Qué interfaz se puede especificar como parámetro de un método de un controlador para
manejar la subida de archivos?
A. FilePath
B. MultipartFile
C. File
D. MvcFile
Q7. ¿Qué feature de java garantiza que un objeto que implementa la interfaz AutoCloseable se
cierre cuando se completa?
A. try-catch-finally
B. try-finally-close
C. try-with-resources
D. try-catch-close
Q8. Que hace la anotación @Query de Spring Data JPA?
A. Definir un DTO para mapear los datos retornados
B. Establece un método como un método transaccional
C. Define un query Nativo en un repositorio
D. Define un query que puede ser tanto JPQL como Nativo
Q9. ¿Cómo se verá el segmento de URL al llamar al método [Link] cuando a goToUser se
le pasa el valor 15? (Angular)
A. /user/15
B. /user?id=15
C. /user:15
D. /user;id=15
Q10. ¿Que imprime este código?
A. true; false
B. false; false
C. false; true
D. true; true
Q11. ¿Cuál es el proveedor JPA por defecto que se usa en Spring?
A. Hibernate
B. EclipseLink
C. JPA
D. MyBatis
Q12. Que anotación se usa en un método de un controlador para mapear {value} de una URL
como la siguiente [Link]
A. @Map
B. @Param
C. @RequestParam
D. @PathVariable
Q13. ¿Cómo puede usar HttpClient para enviar una petición POST desde dentro de la función
addOrder? (Angular)
A. [Link]([Link]).post(order);
B. [Link]([Link], order);
C. [Link]([Link], order);
D. [Link]([Link], order).subscribe();
Q14. Para una entidad Car(id, model, year), ¿cuál de estos métodos se sintetiza automáticamente
en JpaRepository?
A. findCarByModel
B. findCarByModelAndIdAndYear
C. findByModel
D. findModel
Q15. ¿Cuál anotación realiza un rollback a la transacción si se genera cualquier tipo de excepción
durante la ejecución del método?
A. @Rollback(anyExpection = true)
B. @Transactional(rollback=true)
C. @Rollback(rollbackFor = [Link])
D. @Transactional(rollbackFor = [Link])
Q16. ¿Para qué se utiliza el método [Link]? (Angular)
A. Registrar providers que pretenda utilizar en sus componentes.
B. Registrar definiciones de rutas a nivel de la raíz de la aplicación.
C. Declarar los componentes de la aplicación.
D. Indicarle a angular que debe usar enrutamiento por https.
Q17. ¿Cuál NO es una estrategia de generación de llaves primarias de JPA?
A. [Link]
B. [Link]
C. [Link]
D. [Link]
Q18. ¿Qué propiedad puede ser usada para establecer el perfil activo en Spring?
A. [Link]
B. [Link]
C. [Link]
D. profiles
Q19. ¿Cuál es el propósito de este endpoint?
A. Este endpoint está diseñado para eliminar un objeto de tipo Car con el id indicado
B. Este endpoint está diseñado para devolver un JSON resultado de mapear el objeto Car
recuperado con el id indicado.
C. Este endpoint devuelve el valor obtenido de la variable {id}.
D. Este endpoint está diseñado para actualizar las propiedades de un objeto Car con el id
indicado.
Q20. ¿Cuál es el propósito de la propiedad “data” en la configuración de una ruta como la
siguiente? (Angular)
A. Un objeto llave/valor para establecer valores en el @Input del componente enrutado
B. Una forma de incluir datos estáticos de solo lectura asociados a la ruta, que se pueden
recuperar desde el ActivatedRoute
C. Una propiedad que se puede usar para generar una ruta de forma dinámica.
D. Un objeto que se inyectará automáticamente en el constructor del componente enrutado.
Q21. Tiene una ArrayList de nombres que desea ordenar alfabéticamente. ¿Qué enfoque NO
funcionaría?
A. [Link]([Link](String::toString))
B. [Link](names)
C. [Link]([Link])
D. [Link]().sorted((s1, s2) -> [Link](s2)).collect([Link]())
Q22. Según el siguiente uso de un pipe asíncrono, y suponiendo que “users” es un Observable,
¿cuántas suscripciones al Observable “users” se están realizando? (Angular)
A. Ninguno. Un pipe asíncrono no se suscribe automáticamente.
B. Ninguno. La sintaxis no es correcta.
C. Tres. Hay uno por cada pipe asíncrono.
D. Uno. Los pipes asíncronas se almacena internamente en la caché de los Observables por
tipo.
Q23. Para una entidad Car(id, model, year), ¿cuál de estas consultas JPA es válida para obtener
todos los vehículos por modelo?
A. from Car c where [Link]=:param1
B. select * from Car c where [Link]=:param1
C. select c from Car c where [Link]=:param1
D. select c from Car c where model=:param1
Q24. El método actual debe iniciar una nueva transacción y ejecutarse dentro de su propia
transacción, ¿qué propagación usaría?
A. REQUIRES_NEW
B. REQUIRED
C. SUPPORTS
D. MANDATORY
Q25. ¿Cuál es la propiedad utilizada para cambiar el puerto a 9090 en una aplicación Spring Boot?
A. server=9090
B. port=9090
C. [Link]=9090
D. No se puede cambiar