Questões de Concurso Sobre engenharia de software

Foram encontradas 14.867 questões

Q3048960 Engenharia de Software
Considere que uma equipe de desenvolvimento está implementando uma aplicação de banco de dados e deseja garantir a qualidade do software através de várias técnicas de teste e controle de qualidade. A seguir é apresentado um trecho de código em Java que implementa a função addRecord, que adiciona um novo registro ao banco de dados.  
Q34.png (811×382)




A equipe de desenvolvimento decidiu aplicar diferentes tipos de testes e técnicas de controle de qualidade no desenvolvimento e na manutenção dessa função, para garantir que o código funcione corretamente e sem falhas.

Considerando-se a situação apresentada, qual é o tipo de teste ou de técnica de controle que a equipe de desenvolvimento deve realizar e sua respectiva finalidade?
Alternativas
Q3048958 Engenharia de Software
Um grupo de pesquisadores dispõe de uma verba para desenvolver um software específico para coleta de dados em campo por usuários especialistas. Esse software deverá ser composto por um módulo web ("sala de controle") e um aplicativo móvel ("app mobile"). Após licitação, contratam uma empresa, que produz uma primeira versão dos módulos. Durante um mês, esses usuários testam um conjunto de características do software nos dois módulos em seus locais de trabalho, registrando os erros encontrados. Ao final do processo, o líder do grupo consolida e reporta os problemas à empresa contratada, solicitando correções. A cada nova versão liberada pela empresa, os usuários executam um novo conjunto de testes, considerando os erros anteriores como resolvidos. Esse processo se repetirá mensalmente durante um ano, prazo do contrato.

A situação relatada exemplifica a execução de teste
Alternativas
Q3048957 Engenharia de Software
Uma equipe de desenvolvimento de software de uma organização de grande porte enfrentava questionamentos internos acerca de sua capacidade de resposta. Como as demandas por reparos dos softwares existentes bem como o desenvolvimento de novas soluções mantinham uma tendência de crescimento, o gestor de Tecnologia da Informação decidiu controlar o progresso das atividades de desenvolvimento de software de suas equipes utilizando o método Kanban, com o objetivo de aumentar a produtividade do setor, tornando as entregas aos clientes internos mais produtivas e eficazes.

Nesse contexto, o gestor considerou adequada a escolha do Kanban por esse método
Alternativas
Q3048861 Engenharia de Software
Um engenheiro está liderando um projeto para melhorar a eficiência dos processos de segurança em uma grande empresa de manufatura. Ele decide adotar práticas de intraempreendedorismo e metodologias ágeis para envolver a equipe e resolver problemas complexos de forma eficaz.

Qual das seguintes abordagens integra essas práticas e metodologias para alcançar os objetivos do projeto?
Alternativas
Q3048293 Engenharia de Software

Redes Neurais Artificiais são técnicas computacionais que utilizam um modelo matemático inspirado no neurônio biológico, obtendo aprendizado pela experiência. Encontra aplicações em visão computacional, automação residencial e industrial, robótica, microeletrônica, entre outros. A respeito de redes neurais MLP (Multi-layer Perceptron), analise as afirmativas:


I. Os parâmetros a serem definidos para a execução de uma rede MLP são número de camadas, número de neurônios em cada camada, taxa de aprendizado e função de ativação;


II. São redes recorrentes;


III. Os neurônios da camada oculta são capazes de capturar a não-linearidade dos dados;


IV. Geralmente utiliza-se a função sigmóide como função de ativação nas camadas oculta e de saída.


As afirmativas corretas são:

Alternativas
Q3048291 Engenharia de Software
Redes Neurais Artificiais são consideradas como a tecnologia mais avançada para a descoberta de padrões em dados. Têm sido utilizadas para resolver uma grande diversidade de aplicações, tais como tradução de idiomas, reconhecimento de fala e legendagem de imagens, além de aplicações no mercado de ações por grandes empresas como IBM, Google e Microsoft. Redes Neurais podem ser definidas como processadores paralelamente distribuídos, constituídos de unidades de processamento simples, que têm a capacidade natural de armazenar conhecimento experimental e torná-lo disponível para uso. Com respeito à arquitetura de redes neurais artificiais, uma rede auto-realiamentada se refere a uma:
Alternativas
Q3048126 Engenharia de Software
Em aplicações modernas de Processamento de Linguagem Natural, usando Grandes Modelos de Linguagem (Large Language Models – LLM) é comum a necessidade de usar informações relevantes que estão em documentos novos e privados, que não foram usados no pré-treinamento dos modelos de LLM. Considerando que esses documentos podem ser longos e em grande quantidade, que o tamanho do contexto usado na chamada à Application Programming Interface (API) da LLM é limitado, e ainda pensando que os custos de processar são muitas vezes calculados por quantidade de tokens, foi desenvolvida a técnica conhecida como Retrieval Augmented Generation (RAG).
Considerando-se esse contexto, qual é a característica da técnica RAG?
Alternativas
Q3048122 Engenharia de Software
Um pesquisador de ciência de dados foi encarregado de analisar a capacidade de um modelo de aprendizado de máquina em prever se um cliente é bom pagador. Para isso, possuía um conjunto de dados de testes rotulado, sobre o qual aplicou o modelo e obteve a matriz de confusão a seguir:

Imagem associada para resolução da questão

Considerando-se esse contexto, quais são, respectivamente, os valores aproximados, em 2 casas decimais, da precisão (precision) e da revocação (recall) obtidos pelo modelo?
Alternativas
Q3048121 Engenharia de Software
Um programador estava trabalhando no branch solvebugio e acabou o serviço. Após fazer o commit final nesse branch, ele deseja passar todas as mudanças feitas no branch solvebugio para o branch main, fazendo a integração correta de mudanças.
Considerando-se esse contexto e as melhores práticas de controle de versão, quais comandos Git esse programador deve usar para realizar essa tarefa?
Alternativas
Q3048120 Engenharia de Software
Uma equipe de desenvolvimento de Inteligência Artificial (IA) em uma empresa de tecnologia está implementando um sistema de recomendação baseado em aprendizado de máquina. Durante o processo de implementação, a equipe precisa estar atenta aos potenciais riscos e vulnerabilidades associados ao uso da IA. O sistema utiliza grandes volumes de dados históricos de clientes para treinar seus modelos. Há uma preocupação com a possibilidade de invasores manipularem a entrada de dados para enganar o modelo e gerar saídas indesejadas ou incorretas. A equipe deve também garantir que o modelo não exponha dados sensíveis dos clientes.
Considere as seguintes afirmativas com relação à mitigação dos riscos identificados:

I - adotar uma abordagem de fairness-aware learning para corrigir potenciais vieses no modelo, garantindo que as recomendações sejam justas para todos os grupos de usuários.
II - implementar métodos de robustness testing para simular ataques adversariais e avaliar a resiliência do modelo, e realizar auditorias regulares para identificar e corrigir vieses algorítmicos.
III - implementar técnicas de data augmentation para aumentar a diversidade dos dados de treinamento, reduzindo o risco de viés algorítmico, e adotar uma estratégia de monitoramento contínuo para detectar e mitigar ataques adversariais.
IV - utilizar técnicas de differential privacy durante o treinamento do modelo para proteger dados sensíveis e garantir que as previsões do modelo não revelem informações específicas dos clientes.

Estão corretas as seguintes afirmativas: 
Alternativas
Q3048116 Engenharia de Software
Ao avaliar a performance de diversos modelos preditivos para um problema de regressão e outro de classificação, várias métricas podem ser utilizadas para determinar qual modelo oferece o melhor desempenho. Considere as métricas para regressão e classificação, bem como as técnicas de detecção de overfitting e underfitting.
Nesse contexto, quais métricas devem ser utilizadas para determinar qual modelo oferece o melhor desempenho?
Alternativas
Q3048113 Engenharia de Software
Como parte do processo de desenvolvimento de uma aplicação para analisar grandes volumes de textos, diversas tarefas de Processamento de Linguagem Natural (NLP, sigla em inglês) estão sendo implementadas para melhorar a eficácia e a precisão dessa aplicação.
Diante disso, para a aplicação dessas tarefas, é necessário
Alternativas
Q3048112 Engenharia de Software
Uma equipe de cientistas de dados está desenvolvendo um modelo preditivo e deseja otimizar seus hiperparâmetros para maximizar a performance do modelo.
Considerando-se as técnicas de otimização de hiperparâmetros, para encontrar a configuração de hiperparâmetros, essa equipe de cientistas deverá
Alternativas
Q3047976 Engenharia de Software
Large Language Models (LLMs) são um tipo de modelo IA projetado para lidar com tarefas de processamento de linguagem natural (PLN) em uma escala muito grande. Esses modelos são treinados com enormes quantidades de dados textuais e são capazes de entender e gerar texto em linguagem natural de forma altamente sofisticada.
Em relação aos Large Language Models (LLMs), como o GPT, a abordagem mais relevante para melhorar a capacidade do modelo de gerar respostas coerentes e contextualmente apropriadas em conversas prolongadas, entre as listadas, é  
Alternativas
Q3047975 Engenharia de Software
Processamento de Linguagem Natural (PLN) é uma subárea da inteligência artificial (IA) que se ocupa da interação entre computadores e linguagem humana. O objetivo do PLN é permitir que os computadores compreendam, interpretem, e gerem linguagem natural de maneira que seja útil e significativa. É um campo interdisciplinar que combina linguística, ciência da computação e aprendizado de máquina. Em Processamento de Linguagem Natural (PLN), assinale a técnica mais adequada, entre as listadas, para capturar a dependência contextual de palavras em uma frase, permitindo que o modelo compreenda o significado baseado no contexto. 
Alternativas
Q3047974 Engenharia de Software
Deep learning (aprendizado profundo) é uma subárea do aprendizado de máquina que se concentra em algoritmos baseados em redes neurais artificiais profundas. Essas redes neurais têm várias camadas intermediárias entre a entrada e a saída, permitindo que o sistema aprenda representações de dados em múltiplos níveis de abstração.
Em deep learning, o seguinte conceito se refere ao processo de ajustar os pesos de uma rede neural durante o treinamento, de modo a minimizar a função de perda:
Alternativas
Q3047973 Engenharia de Software
Das técnicas apresentadas a seguir, a mais adequada para identificar agrupamentos (clusters) em um conjunto de dados não rotulado em um problema de aprendizado de máquina não supervisionado é
Alternativas
Q3047972 Engenharia de Software
Aprendizado de Máquina (Machine Learning) é uma subárea da inteligência artificial (IA) que se concentra em desenvolver algoritmos e modelos que permitem que os sistemas aprendam e façam previsões ou decisões baseadas em dados. O Aprendizado de Máquina pode ser dividido em aprendizado supervisionado, aprendizado não supervisionado e aprendizado por reforço.
No contexto de aprendizado de máquina supervisionado, das técnicas a seguir, a mais apropriada para lidar com um problema de regressão no qual o objetivo é prever um valor numérico contínuo é
Alternativas
Q3047966 Engenharia de Software
Controle de versão de código-fonte usando Git é uma prática fundamental no desenvolvimento de software que permite rastrear e gerenciar alterações no código ao longo do tempo. O Git é um sistema de controle de versão distribuído que facilita o gerenciamento de código-fonte, colaboração entre equipes e manutenção do histórico do projeto.
Uma boa prática para o controle de versão de código-fonte usando Git é  
Alternativas
Q3047964 Engenharia de Software
Containers são uma tecnologia que permite empacotar e isolar aplicações e seus ambientes em unidades consistentes e portáteis. Eles são usados para desenvolver, implantar e executar aplicações de maneira eficiente e previsível, independentemente do ambiente em que estejam sendo executados.
Uma boa prática para o desenvolvimento e gerenciamento de containers em um ambiente de produção é
Alternativas
Respostas
2681: C
2682: B
2683: A
2684: E
2685: D
2686: A
2687: C
2688: B
2689: E
2690: E
2691: D
2692: B
2693: C
2694: C
2695: D
2696: D
2697: B
2698: A
2699: A
2700: C