Questões de Concurso Sobre engenharia de software

Foram encontradas 14.755 questões

Q4218766 Engenharia de Software
O IFCE está desenvolvendo internamente um sistema de emissão de diplomas digitais. A equipe de TI adotou GitLab CI como plataforma de CI/CD e precisa configurar o pipeline no arquivo .gitlabci.yml com os seguintes requisitos: (1) testes automatizados devem ser executados a cada push em qualquer branch do repositório; (2) a imagem Docker da aplicação deve ser construída somente quando houver merge na branch main; (3) a implantação no ambiente de homologação do IFCE deve ocorrer automaticamente após build bemsucedido na branch main, sem implantações acidentais em branches de desenvolvimento. Qual estrutura de configuração no .gitlab-ci.yml atende corretamente a esses três requisitos na ordem especificada?
Alternativas
Q4218362 Engenharia de Software
Josiel, servidor do Ministério Público, foi incumbido da elaboração do Termo de Referência para a contratação de uma Solução de TI. Com base na Resolução CNMP nº 283/2024, é necessário que sejam especificados, a partir do Estudo Técnico Preliminar (ETP), os requisitos da solução.

Diante do exposto, representa um requisito corretamente classificado: 
Alternativas
Q4218187 Engenharia de Software
No contexto da IA Generativa, assinale a opção que melhor explica o conceito de embedding
Alternativas
Q4218182 Engenharia de Software
O treinamento de redes neurais profundas envolve o ajuste iterativo dos pesos, com base no erro observado entre a saída prevista e a saída esperada.
Esse processo é viabilizado pelo algoritmo de retropropagação, em conjunto com métodos de otimização que usam gradientes para minimizar a função de perda.
No contexto do treinamento de redes neurais, assinale a opção que indica o principal mecanismo da retropropagação. 
Alternativas
Q4218181 Engenharia de Software
Sobre o treinamento de redes neurais profundas, assinale a opção que indica a principal finalidade da técnica conhecida como dropout.
Alternativas
Q4218150 Engenharia de Software
No gerenciamento ágil de projetos, os métodos Scrum e Kanban são amplamente usados para o acompanhamento das atividades e a gestão das entregas.

Com relação às características desses dois métodos ágeis, assinale a afirmativa correta. 
Alternativas
Q4217819 Engenharia de Software
As metodologias de desenvolvimento de software evoluíram de abordagens rígidas e sequenciais, como o modelo em cascata, para modelos iterativos e incrementais, que favorecem adaptação às mudanças e à redução de riscos. Com as práticas ágeis, passaram a priorizar ciclos curtos, feedback contínuo e a maior integração entre desenvolvimento e validação.
Nesse contexto, surgem metodologias que colocam os testes no centro do desenvolvimento, não apenas para verificação, mas como guia para construção do software, melhorando qualidade e alinhamento com o negócio. Em uma delas, usam-se especificações em linguagem natural, permitindo um entendimento comum entre clientes, analistas e desenvolvedores, surgindo, também, a chamada living documentation, que se mantém atualizada por ser executável como testes automatizados.
Assinale a opção que indica a metodologia em questão. 
Alternativas
Q4217816 Engenharia de Software
Uma equipe de desenvolvimento de software passou a usar uma ferramenta integrada à IDE, que analisa o código-fonte sem executá-lo, identificando problemas como variáveis não utilizadas, inconsistências de formatação e desvios de padrão de nomenclatura.
Com base nesse contexto, essa ferramenta é classificada como 
Alternativas
Q4217815 Engenharia de Software
As primeiras abordagens no processo de desenvolvimento de software estavam fortemente centradas na funcionalidade e no desempenho, com pouca preocupação com a legibilidade e a manutenção do código. Com o avanço das práticas de engenharia de software, especialmente a partir da adoção da programação estruturada e, posteriormente, da programação orientada a objetos, passou-se a valorizar a organização, a modularização e a clareza do código.
Com isso, surgiram princípios e práticas voltados à melhoria da qualidade interna do software, como o Clean Code, que tem como objetivo tornar o código mais compreensível, coeso e de fácil manutenção.
Com base nesse contexto, analise as afirmativas a seguir.

I. As funções devem concentrar o maior número possível de operações, a fim de evitar fragmentação do código e melhorar a eficiência.

II. A escrita de código limpo prioriza a legibilidade e a facilidade de manutenção, considerando que o código será frequentemente lido por outros desenvolvedores.

III. O uso de nomes significativos para variáveis e funções contribui para a compreensão do código, reduzindo a necessidade de comentários explicativos.



Está correto o que se afirma em  
Alternativas
Q4217814 Engenharia de Software
Durante o desenvolvimento de um sistema, foi adotado o SonarQube para apoiar a qualidade do código, permitindo a análise automática do código-fonte e a geração de relatórios com métricas e apontamentos sobre possíveis problemas.
Com base nesse contexto, analise as afirmativas a seguir.

I. O SonarQube realiza análise estática do código, sendo capaz de identificar vulnerabilidades, bugs e más práticas sem a necessidade de executar o software.

II. O SonarQube executa o sistema em ambientes de integração contínua para identificar vulnerabilidades que dependem do comportamento em tempo de execução, ampliando a cobertura da análise de segurança.

III. O uso do SonarQube auxilia na padronização da qualidade do código, mas não substitui completamente a revisão manual realizada por desenvolvedores.


Está correto o que se afirma em 
Alternativas
Q4217502 Engenharia de Software
Terraform é uma ferramenta que permite gerenciar a infraestrutura por meio de código, sendo fundamental no desenvolvimento de software para automatizar a criação, a configuração e o gerenciamento de recursos de TI, substituindo processos manuais propensos a erros.

Sobre o Terraform, assinale a afirmativa correta. 
Alternativas
Q4217131 Engenharia de Software
Uma equipe de pesquisa de usuários está desenvolvendo um aplicativo bancário e identificou, por meio de entrevistas exploratórias, que usuários abandonam o processo de pagamento de boletos devido a dificuldades na interface.
Após propor uma nova versão do fluxo, a equipe deseja avaliar, em ambiente controlado e observando diretamente, a interação do usuário, se a nova interface reduz as dificuldades de uso e melhora a taxa de conclusão da tarefa.

Nesse contexto, o método mais indicado é  
Alternativas
Q4216336 Engenharia de Software
O sistema e-Gampes (Sistema de Gestão de Autos) do MPES é a principal ferramenta de gestão de autos finalísticos.

Ele digitalizou o fluxo de trabalho extrajudicial (inquéritos civis, notícias de fato), eliminando o uso de papel e proporcionando agilidade, segurança e transparência na tramitação. Nele é possível cadastrar, alterar e excluir autos, executar relatórios analíticos e listar os autos cadastrados em uma consulta simples.

Com base na Análise de Pontos de Função (APF), as funcionalidades citadas acima serão contadas, respectivamente, como
Alternativas
Q4216317 Engenharia de Software
O Jenkins é um servidor de automação usado para suportar práticas de Integração Contínua e Entrega Contínua (CI/CD). Um de seus recursos centrais é o Jenkins Pipeline, que permite a modelagem de ciclos de vida de entrega de software como código (Pipeline-as-Code), geralmente definidos em um arquivo chamado Jenkinsfile.

Nesse cenário, analise as afirmativas a seguir e assinale (V) para a verdadeira e (F) para a falsa. 

( ) Não é possível usar shell script em um Jenkins Pipeline.
( ) Existem dois tipos de sintaxe para arquivos Jenkinsfile: Declarative e Scripted.
( ) É uma boa prática combinar as etapas (steps) de um Pipeline em etapas únicas sempre que possível, a fim de reduzir a sobrecarga gerada pelo próprio mecanismo de execução.

As afirmativas são, respectivamente,  
Alternativas
Q4216314 Engenharia de Software
Ao projetar um sistema, o cliente apresentou uma lista de requisitos a serem implementados.

Relacione os requisitos listados a seguir à sua classificação como Funcionais (RF) ou Não Funcionais (RNF).

1. Requisito Funcional (RF)
2. Requisito Não Funcional (RNF)

( ) Emitir relatórios diários de indicadores de performance.
( ) Armazenar dados temporais estritamente sob o padrão da ISO 8601.
( ) Adaptar a interface dinamicamente para dispositivos móveis e desktops.

Assinale a opção que indica a relação correta, segundo a ordem apresentada.  
Alternativas
Q4216310 Engenharia de Software
Um Engenheiro de Testes acaba de receber uma demanda para conduzir um teste de sistema com sua equipe.

Sobre esse tipo de teste, analise as afirmativas a seguir.

I. Deve ser conduzido antes dos testes de integração e conduzido preferencialmente por uma equipe de testes.
II. Tem como objetivo confrontar o software em funcionamento com seus requisitos funcionais e não funcionais, sendo executado em um ambiente muito semelhante ao de produção.
III. Pode ser dividido em fases alfa (em ambiente de desenvolvimento) e beta (em ambiente que emula a produção) e realizado integralmente pela equipe de testes.

Está correto o que se afirma em  
Alternativas
Q4216309 Engenharia de Software
Um estudante de segurança da informação realizou uma avaliação de segurança de uma aplicação web em ambiente de testes, e acessou a aplicação por meio de um navegador, inserindo o seguinte código em um campo de entrada de dados:

<script>alert('teste')</script>
Ao submeter a requisição, a aplicação retornou uma resposta que resultou na exibição de um alerta no navegador, evidenciando a execução do script inserido.

A técnica empregada caracteriza um tipo de análise de software conhecido como  
Alternativas
Q4216300 Engenharia de Software
O Spring é um dos frameworks mais consolidados no ecossistema Java para o desenvolvimento de aplicações corporativas.

Por meio de conceitos como Inversão de Controle (IoC) e Injeção de Dependências (DI), o Spring promove o baixo acoplamento entre componentes, enquanto o Spring Boot simplifica a configuração e a inicialização de projetos por meio de convenções e autoconfiguração.

Considere o seguinte trecho de código utilizando Spring Boot:

Q23.png (352×380)

Sobre o código apresentado, considerando os conceitos do Spring Framework e o comportamento padrão do Spring Boot, assinale a afirmativa correta.
Alternativas
Q4216231 Engenharia de Software
Em sistemas back-end que expõem APIs para múltiplos clientes, a confiabilidade do serviço depende de práticas de qualidade que identifiquem falhas o mais cedo possível. Testes automatizados são essenciais nesse contexto, pois reduzem regressões e aumentam a previsibilidade das entregas. Entre os tipos de testes, os testes unitários e os testes de integração possuem objetivos distintos e complementares no ciclo de desenvolvimento.
Considere uma API back-end com camadas bem definidas (controladores, serviços e repositórios). A equipe deseja estabelecer uma estratégia de testes que reduza regressões e identifique falhas tanto na lógica interna quanto na interação entre componentes, sem confundir os objetivos de cada tipo de teste.
Assinale a alternativa que descreve corretamente a diferença entre testes unitários e testes de integração nesse cenário.
Alternativas
Q4216228 Engenharia de Software

O versionamento de código é uma prática essencial no desenvolvimento de sistemas modernos, especialmente em projetos colaborativos. Ferramentas como o Git permitem o controle histórico das alterações, o trabalho simultâneo de múltiplos desenvolvedores e a rastreabilidade das mudanças realizadas ao longo do ciclo de vida do software, reduzindo conflitos e facilitando manutenção e auditoria.


Considere uma equipe de desenvolvimento back-end que trabalha de forma colaborativa em um repositório Git, realizando alterações frequentes no código de uma API corporativa. Nesse contexto, assinale a alternativa que descreve corretamente uma prática adequada de uso do Git para garantir controle de versões e colaboração eficiente entre os membros da equipe

Alternativas
Respostas
121: A
122: E
123: B
124: D
125: B
126: B
127: B
128: A
129: D
130: C
131: C
132: B
133: A
134: A
135: B
136: B
137: C
138: D
139: C
140: A