Você está na página 1de 13

Exame Simulado

Associate Web Developer (OutSystems 11)

Antes de Começar
Este exame simulado tem 15 perguntas que ajudarão você a se preparar para o exame
OutSystems 11 Professional Traditional Web Developer.

Recomendamos que você prepare um ambiente de exame real, da melhor forma

possível.

● Reserve um cômodo silencioso só para você.


● Imprima este documento, separadamente da última página.
● Use um cronômetro ou ajuste um timer para a duração (recomendada) de 40
minutos.
A última página deste documento contém as respostas corretas. Não dê uma espiada!
Use-a apenas depois de concluir o exame, para verificar o seu desempenho.

Durante o Simulado
Para simular o ambiente real do exame com precisão, sugerimos que você:

● Leia cada pergunta e as respectivas respostas com atenção.


● Leve o tempo que for preciso! Você pode rever as perguntas e alterar as respostas
que escolheu.
● Marque as perguntas que deseja revisar no final.
● Selecione apenas uma resposta por pergunta, pois só existe uma resposta correta.
● Responda a todas as perguntas.
● Desligue todos os dispositivos eletrônicos durante o exame.
● Evite usar ou ler qualquer material externo durante o exame.
Depois de Concluir o Exame Simulado
Depois de concluir o exame, compare as respostas que você selecionou com as respostas
fornecidas na última página deste documento, e conte o número total de respostas
corretas. Como a pontuação para aprovação é de 70% ou mais, você deve acertar pelo
menos 11 perguntas. Caso você tenha escolhido alguma resposta errada, sugerimos que
reveja os materiais de estudo que abordam esse tópico específico.
Questões de Exemplo

1. Considerando que a Entity Customer tem milhões de registros, qual é a opção


mais rápida para recuperar registros com um filtro como o mostrado na imagem?

⃞ A. Criar o Índice 1.

⃞ B. Criar o Índice 2.

⃞ C. Criar o Índice 3.

⃞ D. Criar os Índices 1 e 2.
2. Considerando o Modelo de Dados na imagem, qual das seguintes opções é
correta?

⃞ A. Employee e Team têm uma relação muitos para muitos e é permitido apagar um
Employee com uma EmployeePicture.

⃞ B. Department e Employee têm uma relação um para muitos e não é permitido apagar
um Department com Employees.

⃞ C. Department e Employee têm uma relação um para muitos e é permitido apagar uma
Team com Employees.

⃞ D. Employee e EmployeePicture têm uma relação um para um e não é permitido apagar


um Employee com EmployeePicture.
3. Em relação a SQL Elements, qual das seguintes opções é verdadeira?

⃞ A. O compilador otimiza a consulta, portanto, apenas os atributos usados são


recuperados.

⃞ B. A propriedade Max Records limita o número de linhas retornadas pelo


mecanismo de banco de dados.

⃞ C. As Queries Non-Select não requerem uma estrutura de saída.

⃞ D. Os resultados da consulta podem ser armazenados em cache por um número


configurável de minutos.

4. Qual das seguintes medidas é recomendada para acelerar uma Slow Screen?

⃞ A. Evitar na medida do possível qualquer processamento de resultados de


consultas na Preparation, tendo os dados corretamente estruturados no banco de
dados.

⃞ B. Pré-processar o máximo possível os dados durante a Preparation para acelerar


as operações em Screen Actions.

⃞ C. Evitar consultas SQL complexas no fluxo Preparation que possam ser


substituídas por um loop For Each com Aggregates otimizados automaticamente.

⃞ D. Armazenar as informações coletadas na Preparation em Session Variables


para evitar repetir o trabalho em solicitações futuras.
5. Considere o seguinte cenário: você tem um código JavaScript extenso, que
define várias funções, usadas em apenas uma das Screens mais acessadas. Onde
você deve colocar esse código?

⃞ A. Expandido diretamente nessa Screen usando uma expressão sem escape, já


que esse código é usado apenas em um lugar.

⃞ B. Na propriedade JavaScript da Screen, porque permite o armazenamento em


cache do navegador e o código é usado apenas nessa Screen.

⃞ C. Como o retorno de uma Function para permitir o isolamento e a reutilização


futura simplesmente acionando essa Function dentro de uma expressão de Screen
sem escape.

⃞ D. Colocá-lo na propriedade JavaScript do módulo, para promover a


reutilizabilidade e porque é o único lugar que permite o armazenamento em
cache do navegador.

6. Considere a frase: "Deve-se usar CSS embutido em elementos visuais de


OutSystems." Qual das seguintes opções é correta?

⃞ A. Concordo com a frase. O uso de CSS embutido acelera o desenvolvimento


devido à facilidade de sua definição.

⃞ B. Não concordo com a frase. O uso de CSS embutido degrada o desempenho à


medida que o tamanho da página aumenta.

⃞ C. Não concordo com a frase. O uso de CSS embutido impossibilita a aplicação de


qualquer outra classe CSS ao elemento.

⃞ D. Concordo com a frase. O uso de CSS embutido cria uma visualização


automaticamente no Service Studio que pode dar uma ideia da aparência real
desse elemento.
7. Considere uma aplicação com dois módulos: Directory e Directory_CS. Um
desenvolvedor precisa depurar uma Server Action no módulo Directory_CS, que é
um módulo Core sem UI. Essa Server Action está sendo utilizada pelo módulo
Directory, que contém todas as Screens da aplicação. Qual das seguintes opções é
a melhor abordagem para fazer debug da Server Action?

⃞ A. Definir um breakpoint no início da Server Action. Em Directory_CS, definir o


Entry Module para a depuração (Debugging) como o módulo Directory. Iniciar o
depurador (Debugger) no módulo Directory_CS e interagir com a aplicação.

⃞ B. Definir um breakpoint no início da Server Action e outro onde seja acionado


no módulo Directory. Iniciar o depurador (Debugger) no módulo Directory_CS e no
módulo Directory e interagir com a aplicação.

⃞ C. Definir um breakpoint no início da Server Action e outro onde seja acionado


no módulo Directory. Iniciar o depurador (Debugger) no módulo Directory_CS e
interagir com a aplicação.

⃞ D. Definir um breakpoint no início da Server Action. Em Directory, definir o Entry


Module para a depuração (Debugging) como o módulo Directory_CS. Iniciar o
depurador (Debugger) no módulo Directory e interagir com a aplicação.

8. Ao resolver violações na arquitetura de um aplicativo, qual das seguintes


violações deve ser resolvida primeiro?
⃞ A. Ciclos diretos entre módulos Foundation.

⃞ B. Ciclos diretos entre módulos Core.

⃞ C. Referências superiores a módulos End-user.

⃞ D. Referências superiores a módulos Core.


9. A Service Action Multiplier multiplica dois parâmetros de entrada, cujas
propriedades são mostradas na imagem. No entanto, a Action não estava
calculando o Result corretamente, então sua lógica foi corrigida. É necessário
atualizar os módulos consumidores dessa Action para começar a receber o Result
correto? Selecione a resposta e a justificativa corretas.

⃞ A. Não. As alterações nas Service Actions nunca exigem que os consumidores


sejam atualizados.

⃞ B. Não. Uma alteração na lógica da Service Action não exige que os


consumidores sejam atualizados.

⃞ C. Sim. As alterações nas Service Actions com pelo menos um parâmetro de


entrada obrigatório exigem que os consumidores sejam atualizados.

⃞ D. Sim. As alterações nas Actions referenciadas sempre exigem que os


consumidores sejam atualizados.

10. Qual das seguintes opções é uma boa prática de arquitetura recomendada
pela OutSystems?

⃞ A. Os módulos Foundation podem ter referências ascendentes a módulos Core


Services.

⃞ B. Os módulos Foundation não podem ter UI Patterns.

⃞ C. Os módulos Foundation devem ter Entities Core somente leitura.

⃞ D. Os módulos Foundation não devem ter nenhuma lógica de negócios.


11. A seguinte Action está associada a um timer. Ela gera Reports processando
dados da Entity TempReports, que tem um grande volume de dados. O que está
faltando nessa implementação para garantir que o timer siga as melhores práticas
recomendadas?

⃞ A. Confirmar a transação após o processamento de um lote de TempReports.

⃞ B. Um gerenciamento correto do tempo para evitar esgotar tempos limites antes


de processar mais TempReports.

⃞ C. Ativar uma nova instância do timer quando ainda houver mais registros para
processar.

⃞ D. Apagar os TempReports processados para evitar a repetição do trabalho.


12. Considere o seguinte cenário: você precisa ler dados do servidor de um banco
de dados externo, sabendo que as tabelas externas são tabelas de pesquisa e que
são necessárias relações entre os dados locais e os dados externos. Como você
resolveria o problema?

⃞ A. Definindo uma conexão do banco de dados no Service Center e a usando no


Integration Studio para importar as Entities em uma extensão. Criando um
módulo que sincronize os dados das Entities externas com as Entities locais para
criar as relações.

⃞ B. Criando um vínculo do banco de dados no servidor do banco de dados da


plataforma e o usando no Integration Studio para importar as Entities externas.
Criando as relações diretamente entre as Entities externas e as Entities locais.

⃞ C. Definindo uma conexão do banco de dados no Service Center e a usando no


Integration Studio para importar as Entities em uma extensão. Criando as relações
diretamente entre as Entities externas e as Entities locais.

⃞ D. Criando uma extensão no Integration Studio que implemente uma API .NET
que obtenha os dados diretamente nas Entities externas. Salvando os dados
temporariamente na memória usando Structures e relacionando esses dados às
Entities locais.
13. Considere o seguinte cenário: você estava fazendo algumas alterações em um
módulo e decidiu publicá-lo para salvar as alterações. Durante a publicação, esta
caixa de diálogo apareceu. Qual das seguintes opções é correta?

⃞ A. Se você escolher a opção Override With My Version, sua versão do módulo


será a Published Version e a versão do módulo com as alterações publicadas por
john.smith será removida do servidor.

⃞ B. Se você escolher a opção Merge and Publish, a plataforma mesclará suas


alterações automaticamente com as publicadas por john.smith. Em caso de
conflitos, as alterações mais recentes serão escolhidas. Quando a mesclagem for
concluída, o módulo será publicado.

⃞ C. Se você escolher a opção Merge and Publish, a plataforma tentará mesclar


suas alterações automaticamente com as publicadas por john.smith. Em caso de
conflitos, você precisará resolver as diferenças manualmente. Caso contrário, o
módulo será publicado.

⃞ D. Se você escolher a opção Compare, a plataforma fará automaticamente uma


análise das suas alterações e das alterações publicadas por john.smith. Se houver
conflitos, será exibida uma nova caixa de diálogo com uma pré-visualização das
alterações conflitantes. Caso contrário, será exibida uma nova caixa de diálogo
para publicar o módulo.
14. Qual das seguintes opções revela um padrão mais propenso à injeção de SQL?
⃞ A. Ter elementos SQL com parâmetros de consulta expandidos em linha.
⃞ B. Acionar as Entity Actions Create/Update em Screens com o role Anonymous
marcado.
⃞ C. Usar uma Screen de login sem a segurança HTTPS habilitada.
⃞ D. Usar Local Variables em filtros de Aggregates ou elementos SQL.

15. Considerando as funções EncodeHTML(), EncodeURL() e EncodeJavaScript(), qual


das seguintes opções é incorreta?

⃞ A. Deve-se usar EncodeURL() ao criar um URL dinamicamente para um site


externo.
⃞ B. EncodeJavaScript() protege um aplicativo contra as vulnerabilidades de script
entre sites (XSS).
⃞ C. Todas essas funções podem ser usadas em Aggregates e são avaliadas antes
de o Aggregate ser executado.
⃞ D. Deve-se usar EncodeHTML() em Expressions sem escape que incluam conteúdo
fornecido por usuários finais.
Respostas

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

Você também pode gostar