Está en la página 1de 13

Examen Muestra

Professional Traditional Web Developer

Antes de Empezar
Este examen de muestra tiene 15 preguntas que le ayudarán a prepararse para el
examen de Professional Traditional Web Developer de OutSystems 11.

Le recomendamos que prepare un entorno de examen tan real como sea posible.

● Reserve una habitación tranquila solo para usted.


● Imprima este documento, además de la última página.
● Consiga un o configure un timer para la duración (recomendada) de 40 minutos.

La última página de este documento tiene las respuestas correctas. ¡No la vea! Úsela solo
después de completar su examen, para verificar qué tan bien lo hizo.

Durante el examen de muestra


Para simular con precisión el entorno real del examen, le sugerimos que:

● Lea atentamente cada pregunta y sus respuestas.


● ¡Tome su tiempo! Puede volver a revisar las preguntas y puede cambiar sus
elecciones.
● Marque las preguntas que desea revisar al final.
● Elija solo una respuesta por pregunta, ya que solo una es la correcta.
● Responda todas las preguntas, puesto que no hay ningún beneficio en no hacerlo.
● Intente apagar todos los dispositivos electrónicos durante el examen.
● Absténgase de usar o leer cualquier material externo durante el examen.
Después de completar el examen de muestra
Después de completar el examen, valide las respuestas que seleccionó revisando las que
se proporcionan en la última página de este documento y cuente el número total de
respuestas correctas. Debido a que el puntaje para aprobar es del 70 % o más debe
responder correctamente al menos 7 preguntas. En caso de que elija alguna respuesta
incorrecta, le sugerimos que revise los materiales de estudio donde se cubre ese tema
específico.
Preguntas del Examen Muestra

1. Teniendo en cuenta que la Entity Cliente tiene millones de registros, ¿cuál es la


opción más rápida para recuperar registros con un filtro como el que se muestra
en la imagen?

⃞ A. Crear el índice 1.

⃞ B. Crear el índice 2.

⃞ C. Crear el índice 3.

⃞ D. Cree los índices 1 y 2.


2. Teniendo en cuenta el modelo de Data en la figura, ¿cuál de las siguientes
opciones es correcta?

⃞ A. El empleado y el equipo tienen una relación de muchos a muchos y se permite


eliminar un empleado con una EmployeePicture.

⃞ B. El departamento y el empleado tienen una relación de uno a muchos y no se permite


eliminar un departamento con empleados.

⃞ C. El departamento y el empleado tienen una relación de uno a muchos y se permite


eliminar un equipo con empleados.

⃞ D. El empleado y EmployeePicture tienen una relación de uno a uno y no se permite


eliminar un empleado con EmployeePicture.
3. En cuanto a los elementos SQL, ¿cuál de las siguientes opciones es verdadera?

⃞ A. El compilador optimiza la consulta, por lo que solo se recuperan los atributos


utilizados.

⃞ B. La propiedad Max Records limita la cantidad de filas que devuelve el motor de


la base de datos.

⃞ C. Las consultas no seleccionadas no requieren una estructura de salida.

⃞ D. Los resultados de la consulta se pueden almacenar en la caché durante una


cantidad de minutos que se puede configurar.

4. ¿Cuál de las siguientes medidas se recomienda para acelerar una Screen lenta?

⃞ A. Evitar en la medida de lo posible cualquier procesamiento de resultados de


consultas en la preparación, al tener los datos debidamente estructurados en la
base de datos.

⃞ B. Procesar previamente tanto como sea posible los datos durante la preparación
para acelerar las operaciones en las acciones de Screen.

⃞ C. Evitar consultas SQL complejas en el flujo de preparación que se pueden


reemplazar por un bucle For Each con Aggregates optimizados de forma
automática.

⃞ D. Almacenar la información recopilada en la preparación en las variables de


sesión para evitar repetir el trabajo en solicitudes futuras.
5. Considere que tiene un código JavaScript extenso, que define varias funciones,
que se utilizan solo en una de las Screens a las que se accede con más frecuencia.
¿Dónde deberías colocar ese código?

⃞ A. Expandido directamente en esa Screen usando una expresión sin escape, ya


que este código se usa solo en un lugar.

⃞ B. En la propiedad de JavaScript de la Screen, porque permite el almacenamiento


en la caché del navegador y el código solo se usa en esta Screen.

⃞ C. Como el retorno de una función para permitir el aislamiento y la reutilización


futura simplemente invocando a esa función dentro de una expresión sin escape
de Screen.

⃞ D. Colocarlo en la propiedad de JavaScript del módulo, para promover la


reutilización y porque es el único lugar que permite el almacenamiento en la
caché del navegador.

6. Considere la oración: “Debería utilizar la CSS en línea en sus elementos visuales


de OutSystem." ¿Cuál de las siguientes opciones es correcta?

⃞ A. Estoy de acuerdo con la frase. El uso de CSS en línea acelera el desarrollo


debido a lo fácil que es definirlas.

⃞ B. No estoy de acuerdo con la frase. El uso de CSS en línea degrada el


rendimiento a medida que aumenta el tamaño de la página.

⃞ C. No estoy de acuerdo con la frase. El uso de CSS en línea hace que sea
imposible aplicar otras clases de CSS al elemento.

⃞ D. Estoy de acuerdo con la frase. El uso de CSS en línea crea de forma automática
una vista previa en Service Studio que puede dar una idea de la apariencia y
sensación real de ese elemento.
7. Considere una aplicación con dos módulos: Directory y Directory_CS. Un
Developer necesita debug una Server Action en el módulo Directory_CS, que es un
módulo Core sin interfaz de usuario. Esa Server Action la está utilizando el módulo
Directory, que tiene todas las Screens de la aplicación. ¿Cuál de las siguientes
opciones es el mejor enfoque para poder hacer debug en la Server Action?

⃞ A. Establecer un breakpoint al comienzo de la Server Action. En Directory_CS,


establecer el módulo de entrada para la depuración para que sea el módulo
Directory. Iniciar el depurador en el módulo Directory_CS e interactuar con la
aplicación.

⃞ B. Establecer un breakpoint al inicio de la Server Action y otro donde se invoca en


el módulo Directory. Iniciar el depurador en los módulos Directory_CS y Directory e
interactuar con la aplicación.

⃞ C. Establecer un breakpoint al inicio de la Server Action y otro donde se invoca en


el módulo Directory. Iniciar el depurador en el módulo Directory_CS e interactuar
con la aplicación.

⃞ D. Establecer un breakpoint al comienzo de la Server Action. En Directory,


establecer el módulo de entrada para la depuración para que sea el módulo
Directory_CS. Iniciar el depurador en el módulo Directory e interactuar con la
aplicación.

8. Al resolver infracciones en la arquitectura de una aplicación, ¿cuál de las


siguientes infracciones se debe resolver primero?
⃞ A. Ciclos directos entre módulos Foundation.

⃞ B. Ciclos directos entre módulos Core.

⃞ C. Referencias ascendentes a los módulos End-user.

⃞ D.Referencias ascendentes a los módulos Core.


9. La Service Action Multiplier multiplica dos parámetros de entrada, cuyas
propiedades se muestran en la imagen. Sin embargo, la Action no estaba
calculando el resultado de forma correcta, por lo que se corrigió su lógica. ¿Es
necesario actualizar los módulos de consumidor de esta Action para comenzar a
recibir el resultado correcto? Seleccione la respuesta y la justificación correctas.

⃞ A. No. Los cambios en las acciones de servicio nunca requieren que los
consumidores se actualicen.

⃞ B. No. Un cambio en la lógica de la acción de servicio no requiere que los


consumidores se actualicen.

⃞ C. Si. Los cambios en las acciones de servicio con al menos un parámetro de


entrada obligatorio requieren que los consumidores se actualicen.

⃞ D. Si. Los cambios en las acciones referenciadas siempre requieren que los
consumidores se actualicen.

10. ¿Cuál de las siguientes opciones es una mejor práctica de arquitectura


recomendada por OutSystems?

⃞ A. Los módulos Foundation pueden tener referencias ascendentes a los módulos


Core Services.

⃞ B. Los módulos Foundation no pueden tener patrones de interfaz de usuario.

⃞ C. Los módulos Foundation deben tener Entities básicas de solo lectura.

⃞ D. Los módulos Foundation no deben tener ninguna lógica de negocio.


11. La siguiente acción está asociada con un timer. Este genera informes
procesando datos de la Entity TempReports, que tiene un enorme volumen de
datos. ¿Qué falta en esta implementación para garantizar que el timer siga las
mejores prácticas recomendadas?

⃞ A. Confirmar la transacción después de que se procese un lote de TempReports.

⃞ B. Una administración correcta del tiempo para evitar tiempos de espera antes
de procesar más TempReports.

⃞ C. Activar una nueva instancia del timer cuando aún queden más registros para
procesar.

⃞ D. Eliminar los TempReports procesados para evitar la repetición del trabajo.


12. Considere que necesita leer datos del servidor de una base de datos externa,
sabiendo que las tablas externas son tablas de búsqueda y se requieren uniones
entre los datos locales y los datos externos. ¿Cómo abordaría el problema?

⃞ A. Definiendo una conexión de la base de datos en Service Center y utilizándola


en Integration Studio para importar las Entities en una extensión. Creando un
módulo que sincronice los datos de las Entities externas con las Entities locales
para realizar las uniones.

⃞ B. Creando un enlace de la Database en el servidor de la base de datos de la


plataforma y utilizándolo en Integration Studio para importar las Entities externas.
Realizando las uniones directamente entre las Entities externas y las Entities
locales.

⃞ C. Definiendo una conexión de la base de datos en Service Center y utilizándola


en Integration Studio para importar las Entities en una extensión. Realizando las
uniones directamente entre las Entities externas y las Entities locales.

⃞ D. Creando una extensión en Integration Studio que implemente una API .NET
que obtenga directamente los datos de las Entities externas. Guardando los datos
de forma temporal en la memoria usando Structures y uniendo esos datos con las
Entities locales.
13. Considere un escenario en el que estaba realizando algunos cambios en un
módulo y decidió publicarlo para guardar los cambios. Al publicar, apareció este
cuadro de diálogo. ¿Cuál de las siguientes opciones es correcta?

⃞ A. Al elegir la opción Override With My Version (Anular con mi versión), su


versión del módulo será la versión publicada y la versión del módulo con los
cambios publicados por john.smith se eliminará del servidor.

⃞ B. Al elegir la opción Merge and Publish (Fusionar y publicar), la plataforma


fusionará de forma automática sus cambios con los publicados por john.smith. En
caso de conflictos, se elegirán los últimos cambios. Cuando se realiza la fusión, el
módulo se publica.

⃞ C. Al elegir la opción Merge and Publish (Fusionar y publicar), la plataforma


intentará fusionar de forma automática sus cambios con los publicados por
john.smith. En caso de conflictos, debe resolver manualmente las diferencias. De lo
contrario, el módulo se publica.
⃞ D. Al elegir la opción Compare (Comparar), la plataforma realizará de forma
automática un análisis de sus cambios y los cambios publicados por john.smith. Si
hay conflictos, aparece un nuevo cuadro de diálogo con una vista previa de los
cambios en conflicto. Si no hay conflictos, aparece un nuevo cuadro de diálogo
para publicar el módulo.
14. ¿Cuál de las siguientes opciones revela un patrón que es más propenso a la
inyección de SQL?
⃞ A. Tener elementos SQL con parámetros de consulta expandidos en línea.
⃞ B. Llamar a crear / actualizar acciones de Entity desde Screens con el Rol
Anonymous marcado.
⃞ C. Usar una Screen de inicio de sesión sin la seguridad del HTTPS habilitada.
⃞ D. Usar variables locales en filtros de Aggregates o elementos SQL.

15. Teniendo en cuenta las funciones EncodeHTML (), EncodeURL () y


EncodeJavaScript (), ¿cuál de las siguientes opciones es incorrecta?
⃞ A. EncodeURL () se debe usar al crear dinámicamente una URL para un sitio
externo.
⃞ B. EncodeJavaScript () protege una aplicación de vulnerabilidades de secuencias
de comandos entre sitios (XSS).
⃞ C. Todas estas funciones se pueden usar en Aggregates y se evalúan antes de
que el Aggregate se ejecute.
⃞ D. EncodeHTML () se debe usar en expresiones sin escape que encierren
contenido proporcionado por los usuarios finales.
Respuestas

1. C
2. A
3. D
4. A
5. B
6. B
7. A
8. C
9. B
10. D
11. D
12. A
13. C
14. A
15. B

También podría gustarte