Questões de Concurso Comentadas sobre engenharia de software

Foram encontradas 10.663 questões

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
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
Q3047961 Engenharia de Software
Test-Driven Development (TDD) é uma abordagem de desenvolvimento de software onde os testes são escritos antes do código que implementa a funcionalidade.
Assinale a afirmativa que melhor descreve o princípio fundamental do Test-Driven Development (TDD).
Alternativas
Q3047956 Engenharia de Software
Outra categoria importante dos testes de software são os testes de integração. O propósito dos testes de integração em desenvolvimento de software é
Alternativas
Q3047955 Engenharia de Software
Testar um software é um aspecto fundamental do desenvolvimento de software que visa garantir que o produto final atenda às expectativas e requisitos dos usuários e funcione de maneira correta e confiável, ou seja, é uma forma de garantir a qualidade do software. Existem várias categorias de testes de software, sendo uma das principais os testes de unidade ou testes unitários. O objetivo principal dos testes de unidade em desenvolvimento de software é
Alternativas
Q3047954 Engenharia de Software
Análise por pontos de função (APF) é uma técnica usada para medir o tamanho e a complexidade de um software com base nas funções que ele fornece ao usuário. Ela é especialmente útil para estimar o esforço necessário para o desenvolvimento e a manutenção de um sistema. No desenvolvimento de software a análise por pontos de função
Alternativas
Q3047953 Engenharia de Software
Análise de Software ou Análise de Código é o processo de examinar o código fonte de um software para identificar e corrigir problemas, melhorar a qualidade e garantir que o código esteja alinhado com os requisitos e padrões estabelecidos. Duas das principais formas de se realizar Análise de Software é por meio da análise estática e da análise dinâmica. Assinale a opção que melhor descreve a diferença fundamental entre análise estática e análise dinâmica de software.
Alternativas
Q3047952 Engenharia de Software
Azure é a plataforma de nuvem da Microsoft. Ela oferece uma vasta gama de serviços para suportar o desenvolvimento, gerenciamento e operação de aplicativos. Nesse contexto temos o Azure DevOps, um conjunto de ferramentas e serviços que facilita a automação do ciclo de vida de desenvolvimento de software e promove práticas de DevOps, aumentando a eficiência, colaboração e qualidade dos projetos de software. Assinale a opção que melhor descreve a função do Azure Pipelines no Azure DevOps.
Alternativas
Q3047951 Engenharia de Software
Test-Driven Development (TDD) é uma abordagem de desenvolvimento de software onde os testes são escritos antes do código que implementa a funcionalidade. No contexto da prática de Test-Driven Development (TDD), assinale a opção que descreve corretamente a sequência de etapas que um desenvolvedor deve seguir.
Alternativas
Respostas
41: C
42: E
43: E
44: D
45: B
46: C
47: C
48: D
49: D
50: B
51: A
52: A
53: C
54: C
55: D
56: D
57: C
58: B
59: D
60: B