QuestLab Plataforma Inteligente de Questões
Banco público de questões

Questões para Concursos

Pesquise questões reais por disciplina, assunto, tópico, banca, órgão, cargo, ano e modalidade.

Questões por banca

29 bancas disponíveis. Clique para visualizar todas.

Encontre as questões que procura
Limpar filtros
478 questões encontradas

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.

A Escrever o código de produção, criar os testes automatizados e depois refatorar o código.
B Criar os testes automatizados, escrever o código de produção para passar nos testes e depois refatorar o código.
C Refatorar o código existente, escrever novos testes automatizados e depois implementar novas funcionalidades.
D Escrever os casos de teste, refatorar o código existente e depois implementar o código de produção.
E Implementar o código de produção, refatorar o código, e por último, criar os testes automatizados.

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.

A A análise estática é realizada durante a execução do software, enquanto a análise dinâmica é feita antes do software ser executado.
B A análise estática examina o código fonte e a estrutura do software sem executá-lo, enquanto a análise dinâmica envolve a execução do software e a observação do comportamento em tempo real.
C A análise estática é usada para medir o desempenho do software, enquanto a análise dinâmica é usada para revisar a arquitetura do sistema.
D A análise estática é aplicada somente a softwares desenvolvidos em linguagens de programação de baixo nível, enquanto a análise dinâmica é usada para todos os tipos de linguagens.
E A análise estática foca na identificação de erros de tempo de execução, enquanto a análise dinâmica detecta erros de compilação.

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 é

A testar a interação entre diferentes módulos ou componentes do sistema para garantir que funcionem juntos corretamente.
B verificar a conformidade do software com os requisitos do usuário e as especificações do projeto.
C garantir que o software atenda aos critérios de desempenho e escalabilidade sob carga simulada.
D validar o comportamento de partes individuais do código-fonte isoladamente para assegurar que cada unidade funciona conforme o esperado.
E avaliar a experiência do usuário e a usabilidade do software durante o uso real.

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 é

A avaliar o desempenho do software em termos de tempo de resposta e escalabilidade sob condições de carga pesada.
B verificar a conformidade do software com os requisitos e especificações do usuário, geralmente com foco no sistema como um todo.
C garantir que cada componente ou módulo do software funcione corretamente quando testado isoladamente.
D testar a interação entre diferentes módulos ou componentes do sistema para assegurar que eles funcionam corretamente em conjunto.
E validar a interface do usuário e a usabilidade do software durante a execução real pelo usuário final.

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).

A Escrever código de produção antes de criar testes para garantir que o código funcione conforme o esperado.
B Desenvolver um conjunto de testes abrangentes apenas após a conclusão do desenvolvimento do código.
C Criar e executar testes automatizados antes de escrever o código de produção para garantir que o código atenda aos requisitos.
D Escrever código de produção e testes simultaneamente sem um processo definido para assegurar a funcionalidade.
E Utilizar testes manuais para verificar o funcionamento do código antes de publicá-lo.

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 é

A fazer commits frequentes e pequenos para garantir que as alterações sejam bem documentadas e facilmente revertidas, se necessário.
B fazer commits grandes e esporádicos que incluam várias alterações de uma vez para reduzir o número total de commits no repositório.
C usar a branch main (ou master) para desenvolvimento contínuo e criar branches somente para lançamentos finais.
D evitar a utilização de mensagens de commit para manter o histórico de commits mais limpo e conciso.
E realizar commits diretamente no branch main (ou master) sem criar branches de desenvolvimento ou features para simplificar o fluxo de trabalho.

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 é

A a Regressão Linear.
B a Regressão Logística.
C o K-Nearest Neighbors (KNN) para classificação.
D a Support Vector Machine (SVM) com kernel linear para classificação.
E a Árvore de Decisão para classificação.

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 é

A Regressão Linear.
B K-means.
C Regressão Logística.
D Análise de Componentes Principais (PCA).
E Máquinas de Vetores de Suporte (SVM) para classificação.

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.

A Bag of Words (BoW).
B TF-IDF (Term Frequency-Inverse Document Frequency).
C Word2Vec
D Redes Neurais Recorrentes (RNN).
E Tokenização Simples.

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, é

A aumentar o número de parâmetros do modelo.
B utilizar a técnica de fine-tuning em um grande conjunto de dados não rotulados.
C implementar um mecanismo de atenção (Attention Mechanism).
D aplicar a tokenização BPE (Byte Pair Encoding) ao texto de entrada.
E aumentar a frequência de palavras raras no conjunto de treinamento.