Questões de Concurso Sobre engenharia de software
Foram encontradas 14.487 questões
Uma das fases de um compilador é a geração de código. A respeito dessa fase considere as afirmativas abaixo:
I - Um gerador de código é composto por três tarefas principais, a saber: seleção de instrução, alocação e atribuição de registrador e escalonamento de instruções.
II - A seleção de instruções compreende a escolha de instruções apropriadas da arquitetura alvo para implementar os comandos da representação intermediária. Uma solução para esse problema é realizar a seleção de instruções por reescrita de árvore.
III - O escalonamento de instruções envolve a decisão a respeito da ordem em que a execução das instruções deve ser escalonada. Uma abordagem para resolver esse problema é o uso do algoritmo Sethi–Ullman.
IV - A alocação e atribuição de registrador decidem quais valores devem ser mantidos em registradores e quais registradores usar. Para resolver esse problema pode-se adotar estratégias de alocação de registradores por coloração de grafos.
Assinale a alternativa que apresenta apenas afirmações corretas:
Em relação à etapa de geração e otimização de código intermediário de um compilador, analise as alternativas a seguir, assinalando V, se verdadeiras, ou F, se falsas.
( ) Uma representação intermediária normalmente é alguma combinação de uma notação gráfica e código de três endereços.
( ) Uma representação intermediária pode ser uma linguagem de alto nível ou pode consistir em estruturas de dados internas que são compartilhadas pelas fases do compilador.
( ) Árvores de sintaxe é uma das possíveis representações intermediárias utilizadas por um compilador. As árvores de sintaxe normalmente durante as análises léxica e semântica.
( ) A fase de otimização de código independente das arquiteturas de máquina alvo faz algumas transformações no código intermediário com o objetivo de produzir um código melhor. Em geral, melhor significa mais rápido. Pode-se, também, otimizar outros objetivos, tais como: menor consumo de memória ou de energia.
( ) Uma das desvantagens da aplicação da fase de geração de código intermediário é a possibilidade de realização de otimização e a tradução do código para diversas máquinas.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
Em relação às análises léxica e sintática, assinale a alternativa incorreta:
A estrutura de um compilador pode ser dividida em duas partes, a saber: análise e síntese. Em relação a parte de análise assinale a alternativa incorreta:
Trata-se de modelos complexos que absorvem relações não lineares e não triviais nos dados. É preciso que o analista de dados tenha uma visão crítica e entendimento dos algoritmos. Suponha que você tenha sido contratado para criar um sistema que utilize modelos de aprendizado de máquina para classificar pacientes segundo a propensão a apresentar uma determinada doença, mas um requisito essencial do sistema é que seja possível explicar claramente como se chegou a essa previsão. Dentre os seguintes algoritmos, é correto afirmar o que se utilizaria é:
Segundo Glassner, o que caracteriza uma rede de aprendizado profundo são:
I. Se temos atributos na base de dados que sejam redundantes, irrelevantes ou inúteis, devemos eliminá-los.
II. Podemos eliminar atributos que contribuem muito pouco na construção de um modelo como os que tem um mesmo valor na grande maioria das instâncias.
III. Os atributos removidos do conjunto de treinamento devem ser também removidos do conjunto de testes.
Sobre as afirmativas acima, pode-se dizer que:
I. Teste de queda de energia.
II. Trilhas de auditoria e registro de ações críticas, incluídas interações manuais.
III. Procedimentos de segurança.
IV. Interfaces e transferência de dados.
Os testes I, II, III e IV são respectivamente:
I. Para alteração ou exclusão de dados relevantes para as Boas Práticas de Fabricação, a razão deve ser documentada.
II. As trilhas de auditoria devem estar disponíveis e devem ser passíveis de serem apresentadas em um formato compreensível quando disponibilizadas.
III. As trilhas de auditoria devem ser revisadas regularmente.
Das afirmativas acima:
I - para serviços de desenvolvimento e/ou manutenção, o Pagamento aferido por Pontos de Função e complementado por Horas de Serviço Técnico, vinculado ao alcance de resultados e ao atendimento de níveis mínimos de serviço.
II - para serviços de desenvolvimento e/ou manutenção, o Pagamento de valor fixo por sprint executada, vinculado a níveis mínimos de serviço.
III - para serviços de desenvolvimento e/ou manutenção e/ou sustentação, o Pagamento por alocação de profissionais de TI, vinculado ao alcance de resultados e ao atendimento de níveis mínimos de serviço.
IV - para serviços de sustentação, o Pagamento de valor fixo mensal por portfólio de softwares, vinculado ao atendimento de níveis mínimos de serviço.
Das alternativas acima, é correto afirmar que::