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
23 questões encontradas

Em um SGBD, existem vários motivos possíveis para uma transação falhar no meiode sua execução, exigindo que o SGBD atue para manter a consistência dos dados. Com base nas causas que levam à falha de uma transação, assinale a alternativa INCORRETA.

A Falha do sistema, do computador ou da conexão com a rede durante a execução de uma transação, que pode levar ao cancelamento da transação. Essas falhas normalmente são classificadas como falhas de sistema.
B Controle de concorrência, que pode interromper uma transação durante a sua execução porque ela quebraria a serialização correta. Outro motivo para interromper uma transação poderia ocorrer visando à solução de um estado de deadlock entre várias transações.
C Erros em condicionais internas das funções, que podem exigir o cancelamento da transação durante sua execução, como a solicitação de um saque em uma conta sem saldo suficiente em uma transação bancária.
D Erros de injeção SQL, que ocorrem quando um agente mal-intencionado tenta derrubar o banco dedados com múltiplas requisições, fazendo com que o banco falhe em responder às requisições legítimas.
E Erros de programação de funções por falta de checagem dos tipos de entrada, como um estouro de inteiro, uma divisão por zero, ou até mesmo devido a valores de parâmetro errôneos ou erro lógico de programação.

O domínio da linguagem SQL exige do analista a compreensão da correta ordem de execução lógica e restrição de cláusulas de agregação. Considere o seguinte modelo de dados relacional de uma instituição acadêmica (chaves primárias sublinhadas): Pesquisador ( ID_Pesq , Nome) Projeto ( ID_Proj , Titulo) Atuacao ( ID_Pesq , ID_Proj , Horas_Semanais) Um analista precisa escrever uma consulta SQL que retorne o nome dos pesquisadores e a quantidade de projetos em que atuam, considerando apenas as atuações com mais de 10 horas semanais. Além disso, o relatório final deve exibir apenas os pesquisadores que possuam participação em mais de 2 projetos (já obedecendo ao critério mínimo de horas). O resultado deve ser ordenado pela quantidade de projetos em ordem decrescente. Assinale a alternativa que apresenta o comando SQL sintática e logicamente correto para satisfazer todos os requisitos dessa regra de negócio.

A SELECT P.Nome, COUNT(A.ID_Proj) FROM Pesquisador P INNER JOIN Atuacao A ON P.ID_Pesq = A.ID_Pesq WHERE COUNT(A.ID_Proj) > 2 GROUP BY P.ID_Pesq, P.Nome HAVING A.Horas_Semanais > 10 ORDER BY COUNT(A.ID_Proj) DESC;
B SELECT P.Nome, COUNT(A.ID_Proj) FROM Pesquisador P INNER JOIN Atuacao A ON P.ID_Pesq = A.ID_Pesq WHERE A.Horas_Semanais > 10 GROUP BY P.ID_Pesq, P.Nome HAVING COUNT(A.ID_Proj) > 2 ORDER BY COUNT(A.ID_Proj) DESC;
C SELECT P.Nome, COUNT(A.ID_Proj) FROM Pesquisador P INNER JOIN Atuacao A ON P.ID_Pesq = A.ID_Pesq WHERE A.Horas_Semanais > 10 OR COUNT(A.ID_Proj) > 2 GROUP BY P.ID_Pesq, P.Nome ORDER BY COUNT(A.ID_Proj) ASC;
D SELECT P.Nome, COUNT(A.ID_Proj) FROM Pesquisador P INNER JOIN Atuacao A ON P.ID_Pesq = A.ID_Pesq GROUP BY P.ID_Pesq, P.Nome HAVING A.Horas_Semanais > 10 AND COUNT(A.ID_Proj) > 2 ORDER BY COUNT(A.ID_Proj) DESC;
E SELECT P.Nome, COUNT(A.ID_Proj) FROM Pesquisador P INNER JOIN Atuacao A ON P.ID_Pesq = A.ID_Pesq WHERE A.Horas_Semanais > 10 AND COUNT(A.ID_Proj) > 2 GROUP BY P.ID_Pesq, P.Nome ORDER BY P.Nome DESC;

A abordagem Scrum é um método ágil cujo foco recai sobre o gerenciamento do desenvolvimento iterativo. A característica central e inovadora desse framework é a execução dos ciclos de sprint , que consistem em unidades de planejamento em que o trabalho é avaliado e o software é implementado. Em relação às características de funcionamento dos ciclos de sprint no modelo Scrum, assinale a alternativa correta.

A Os sprints possuem comprimento fixo, normalmente de duas a quatro semanas, período em que o cliente participa ativamente da codificação e possui total liberdade para inserir novos requisitos na equipe de desenvolvimento a qualquer momento.
B O gerenciamento do ciclo determina que a equipe adote, obrigatoriamente, práticas de engenharia de software ágeis prescritas pelo próprio Scrum, tais como a programação em pares e o desenvolvimento orientado a testes ( test-first ).
C Durante a etapa em que a equipe se organiza para desenvolver o software, os membros ficam isolados do cliente e da organização, sendo a comunicação externa e a proteção contra distrações gerenciadas e canalizadas pelo Scrum Master.
D O ponto de partida para o planejamento de uma sprint é o backlog do produto, que consiste em uma lista de requisitos considerada estática e cujo escopo original não pode ser revisado ou repriorizado no início de novos ciclos.
E Ao término de cada sprint , ocorre obrigatoriamente a fase de encerramento do projeto, momento em que a equipe compila toda a documentação exigida, elabora os manuais finais do usuário e finaliza as entregas para o cliente.

A modelagem orientada a objetos utilizando a Unified Modeling Language (UML) é uma ferramenta essencial na fase de análise e projeto de Software. O Diagrama de Classes, em particular, estabelece a estrutura estática do sistema por meio de classes, seus atributos, operações e os relacionamentos entre os objetos. Sobre as características, o nível de detalhamento e a semântica dos relacionamentos nesse diagrama, analise as assertivas abaixo e assinale V, se verdadeiras, ou F, se falsas.

( ) Para evitar os conflitos de interpretação entre os requisitos do cliente e o código que será efetivamente implementado pelos desenvolvedores, o nível de detalhamento do diagrama de classes (incluindo visibilidade de atributos, tipos de dados rigorosos e assinaturas completas de métodos) deve ser mantido invariavelmente alto desde as fases iniciais da modelagem conceitual.

( ) Na UML, o relacionamento de agregação estabelece um vínculo semântico restrito no qual ocorre uma coincidência de tempo de vida entre os objetos modelados. Nesse tipo de associação, se o objeto contêiner (o “todo”) for destruído da memória, as instâncias exclusivas que formam as suas “partes” também deverão obrigatoriamente ser destruídas, visto que não podem existir de forma independente no sistema.

( ) A relação de generalização permite a modelagem de herança estrutural e comportamental. Na construção do diagrama de classes UML, é totalmente válido modelar uma classe filha com herança múltipla (recebendo características de múltiplas superclasses), ainda que a equipe de desenvolvimento vá implementar o sistema em uma linguagem que não suporta herança múltipla de classes nativamente, como a linguagem Java. A ordem correta de preenchimento dos parênteses, de cima para baixo, é:

A V – V – F.
B F – F – V.
C F – V – V.
D V – F – F.
E F – V – F.

A modelagem de sistemas orientados a objetos permite visualizar a arquitetura do software sob diferentes perspectivas, facilitando a comunicação e a documentação técnica. Com base nas categorias clássicas de modelos de sistemas (interação, estrutural e comportamental) e no uso dos diagramas da UML, analise as assertivas abaixo:

I. Modelos de interação representam a comunicação entre o sistema e seu ambiente operacional ou entre os componentes internos do próprio sistema. O Diagrama de Sequência pertence a essa categoria, tendo como objetivo modelar a ordem cronológica das trocas de mensagens entre os objetos instanciados para a execução de um cenário específico.

II. Modelos estruturais descrevem a organização estática do software e a estrutura dos dados que serão processados pela aplicação. O Diagrama de Classes pertence a essa categoria, sendo o seu objetivo primordial representar graficamente as relações entre os dados, os desvios condicionais e o paralelismo das operações lógicas executadas pelos módulos do sistema.

III. Modelos comportamentais ilustram o comportamento dinâmico do sistema durante a sua execução. O Diagrama de Atividades enquadra-se nessa classificação, possuindo como objetivo detalhar o fluxo de controle de um processo de negócio ou computacional, evidenciando a sequência de ações, os desvios condicionais e o paralelismo das operações. Quais estão corretas?

A Apenas II.
B Apenas I e II.
C Apenas I e III.
D Apenas II e III.
E I, II e III.

Na arquitetura e no projeto de software, a aplicação de Padrões de Projeto ( Design Patterns ) é fundamental para resolver problemas recorrentes com soluções previamente testadas e otimizadas pela engenharia. Contudo, a eficácia dessas soluções depende da escolha do padrão correto para o cenário arquitetural adequado, evitando a inserção de complexidade desnecessária no código. Relacione a Coluna 1 à Coluna 2, associando os padrões de projeto às suas respectivas situações de aplicabilidade prática. Coluna 1 1. Singleton. 2. Factory Method. 3. Observer. Coluna 2

( ) Quando a mudança do estado interno de um objeto precisa ser percebida (mas com baixo acoplamento) por outros objetos, gerando um gatilho para, por exemplo, criação de outros objetos, execução de funções ou recuperação de uma instância única de um objeto, entre outros.

( ) Quando for necessário que uma única instância possa ser visível e acessível globalmente, não sendo possível instanciar duas ou mais instâncias distintas da mesma classe.

( ) Quando uma classe quer delegar a criação de objetos para suas subclasses, encapsulando o conhecimento sobre as subclasses criadas em uma única superclasse. A ordem correta de preenchimento dos parênteses, de cima para baixo, é:

A 3 – 1 – 2.
B 1 – 2 – 3.
C 3 – 2 – 1.
D 2 – 1 – 3.
E 1 – 3 – 2.

O teste unitário atua na base do controle de qualidade de software, focando na verificação de componentes individuais, como métodos e classes de objetos. A respeito das técnicas e dos desafios associados ao projeto de testes unitários para sistemas orientados a objetos, assinale a alternativa INCORRETA.

A A validação de funções ou métodos isolados, que representam os componentes mais simples de um programa, é comumente realizada mediante a chamada dessas rotinas com o fornecimento de diferentes parâmetros de entrada.
B Para garantir a cobertura adequada ao testar uma classe de objetos, o testador deve projetar cenários que contemplem todas as operações associadas, a verificação dos valores de seus atributos e a simulação de todos os eventos que causem mudanças de estado.
C A presença de herança (generalização) na arquitetura simplifica o processo de testes, uma vez que uma operação exaustivamente testada e validada na classe em que foi definida dispensa a necessidade de novos testes nas subclasses que a herdam.
D Embora a recomendação ideal em testes unitários seja a validação de métodos de forma isolada, há casos em que a dependência de contexto exige a execução de sequências de testes, em que o teste de uma operação depende da execução prévia de outra.
E A simulação de estados é uma etapa crítica na testagem de objetos complexos; logo, o projeto de testes deve ser capaz de submeter a instância do objeto a todas as transições de estado possíveis previstas em seu modelo.

O teste de aceitação é uma fase inerente ao desenvolvimento de sistemas customizados, ocorrendo após os testes de release . Consiste em um processo formal de avaliação conduzido pelo cliente para determinar se o software atende às necessidades do negócio e se o pagamento pelo produto deve ser efetuado. Com base nas etapas que compõem o processo de teste de aceitação, assinale a alternativa INCORRETA.

A A definição dos critérios de aceitação deve, idealmente, ocorrer nos estágios iniciais, antes mesmo da assinatura do contrato; contudo, na prática, essa antecipação é dificultada pela ausência de requisitos detalhados e pela volatilidade do escopo durante o desenvolvimento.
B A etapa de derivação de testes visa projetar cenários que garantam a cobertura dos requisitos do sistema, englobando obrigatoriamente tanto as características funcionais quanto as restrições não funcionais, a exemplo das exigências de desempenho.
C A execução dos testes deve ocorrer, preferencialmente, no ambiente real de operação; no entanto, devido à dificuldade de automação das interações do usuário e aos riscos de interrupção operacional, um ambiente simulado de testes pode precisar ser configurado.
D A etapa de negociação de resultados parte da premissa de que é muito improvável que todos os testes passem sem exibir falhas; contudo, para garantir uma avaliação focada no negócio e evitar que o cliente seja demovido por excesso de termos técnicos, recomenda-se que os desenvolvedores não participem diretamente dessa deliberação.
E A decisão final de aceitar ou rejeitar o sistema exige a concordância sobre o que é bom o suficiente para uso; caso seja reprovado, o software retorna para um maior desenvolvimento, visando corrigir os problemas e, posteriormente, a fase de testes de aceitação é repetida.

Durante o processo de versionamento de um software utilizando o Git, umdesenvolvedor executou um commit em seu repositório local. Imediatamente após a ação, ele percebeu que havia executado o comando muito cedo: esqueceu de adicionar um arquivo importante à área de preparação ( stage ) e escreveu a mensagem descritiva de forma equivocada. Como o commit ainda não foi enviado para o repositório remoto, o desenvolvedor deseja refazê-lo, incorporando o arquivo esquecido e corrigindo a mensagem, de modo a sobrescrever o registro anterior sem criar um commit adicional no histórico. Após adicionar o arquivo pendente ao stage , qual é o comando a se executar para atingir esse objetivo diretamente, sem a necessidade de comandos adicionais?

A git commit --amend
B git revert --commit
C git reset --soft HEAD~1
D git rebase --interactive
E git restore --staged

O desenvolvimento de um sistema gerenciador de banco de dados robusto exige quea modelagem dos dados siga um ciclo de vida estruturado, partindo da abstração das regras de negócio até a especificação de como os dados serão armazenados em disco. Sobre as etapas fundamentais do projeto de um banco de dados, analise as assertivas abaixo:

I. A fase inicial consiste em levantar requisitos de dados com o cliente. É recomendado que o levantamento dos requisitos funcionais (operações e transações) sejam feitos em etapas posteriores para não gerar confusões nos tipos de requisitos.

II. O projeto conceitual utiliza modelos de dados de alto nível para criar uma descrição concisa das necessidades da organização. Por omitir propositalmente os detalhes de implementação e armazenamento, o esquema conceitual atua como uma excelente ferramenta de comunicação para validar os requisitos junto aos usuários não técnicos.

III. A transição para a implementação real do software inicia-se na fase de projeto lógico (também chamada de mapeamento do modelo de dados), momento em que o esquema conceitual é transformado para o modelo de dados suportado pelo SGBD comercial adotado pela instituição, a exemplo do modelo relacional.

IV. No projeto físico, a atenção dos arquitetos de banco de dados volta-se para a infraestrutura e o desempenho, especificando as estruturas de armazenamento internas, a organização dos arquivos, os caminhos de acesso e a criação de índices. Quais estão corretas?

A Apenas I e II.
B Apenas II e IV.
C Apenas I, II e III.
D Apenas II, III e IV.
E I, II, III e IV.