← Voltar para a lista de provas Banco do Estado do Rio Grande do Sul S.A. (BANRISUL) · Técnico em Tecnologia da Informação II — Área 2: Desenvolvimento de Software 50 questões nesta prova · página 1 de 3 · 47 com gabarito Gabarito disponível O modelo iterativo e incremental permite entregas contínuas e adaptação. Para entregar incrementos contínuos e se adaptar a mudanças, o adequado é um ciclo iterativo e incremental, com pequenas entregas regulares ajustadas pelo feedback do cliente, base das metodologias ágeis. B) Documentação completa antecipada e sem mudanças é característica do modelo tradicional. C) Planejamento rígido e sequencial descreve o modelo cascata. D) Requisitos fixos e pouca interação com o cliente contrariam o agilismo. E) Revisão só ao final reduz a capacidade de adaptação. Referência: Manifesto Ágil; Sommerville – Engenharia de Software. Resolução comentada do VaiConcursos. Gabarito disponível O Scrum Master garante a aplicação do Scrum e remove impedimentos. O Scrum Master é responsável por promover e apoiar o Scrum, ajudando o time a entender e aplicar suas práticas, removendo impedimentos e favorecendo a colaboração. A) Gerente de projeto não é um papel do Scrum. B) Analista de negócios também não é papel do Scrum. C) O Product Owner gerencia o Product Backlog e maximiza o valor do produto. D) Os Desenvolvedores constroem o incremento. Referência: Guia do Scrum. Resolução comentada do VaiConcursos. Gabarito disponível No TDD, os testes automatizados são escritos antes do código. O TDD segue o ciclo red-green-refactor: escreve-se primeiro um teste automatizado que falha, depois o código mínimo para passar e, por fim, refatora-se. Assim, o teste guia a implementação conforme os requisitos. A) Testes exploratórios manuais não são o ponto de partida do TDD. C) Código antes dos testes é o fluxo tradicional (test-last). D) TDD dispensa planejamento extensivo antecipado. E) Revisão por pares antes de qualquer teste não caracteriza o TDD. Referência: Kent Beck – Test-Driven Development: By Example. Resolução comentada do VaiConcursos. Gabarito disponível Kanban otimiza o fluxo limitando o WIP. Limitar o trabalho em progresso (WIP) é prática central do Kanban: evita sobrecarga, expõe gargalos e faz as tarefas fluírem de modo eficiente. A) Revisão de código não é o método principal do Kanban para o fluxo. B) Hierarquia fixa e sem desvios contraria a flexibilidade do Kanban. D) Requisitos rígidos antecipados são típicos de abordagens tradicionais. E) Sprints de duração fixa são do Scrum. Referência: David Anderson – Kanban; Guia Kanban. Resolução comentada do VaiConcursos. Questão anulada Gabarito disponível Gabarito disponível Novos índices podem degradar operações de escrita. Índices aceleram leituras, mas cada INSERT, UPDATE e DELETE precisa atualizá-los, além de ocuparem espaço. Um índice desnecessário ou mal escolhido pode, portanto, piorar o desempenho geral. B) Em tabelas grandes os índices são justamente muito úteis. C) Vários índices em excesso prejudicam as escritas. D) 'Sempre' é incorreto, pois o otimizador pode não usar o índice e há custo de manutenção. E) Indexar todas as colunas é má prática. Referência: Boas práticas de indexação em SGBDs relacionais. Resolução comentada do VaiConcursos. Gabarito disponível Índice funcional é criado sobre o resultado de uma função aplicada à coluna. Em índices funcionais (baseados em função), o índice armazena o valor calculado por uma expressão ou função sobre a coluna, como UPPER(nome), permitindo que consultas que usam essa mesma expressão aproveitem o índice. B) Colunas com NULL podem ser indexadas funcionalmente. C) Pode-se indexar colunas de vários tipos, como texto e datas. D) Basta o comando CREATE INDEX, sem procedimento armazenado. E) Todo índice guarda uma cópia dos valores indexados, então isso não é característica distintiva do funcional; a alternativa A é a definição correta. Referência: Oracle: function-based indexes; PostgreSQL: expression indexes. Resolução comentada do VaiConcursos. Gabarito disponível A abstração oculta a camada física, oferecendo visão lógica ao usuário. O principal objetivo da abstração de dados é esconder detalhes de armazenamento e implementação, permitindo que os usuários trabalhem com uma visão lógica dos dados (independência de dados). A) Interface amigável é questão de ferramentas, não o objetivo da abstração. B) Balanceamento de carga é infraestrutura/cluster. C) Automatizar backups é administração. E) Armazenar consultas frequentes temporariamente é cache. Referência: Silberschatz – abstração de dados e independência de dados. Resolução comentada do VaiConcursos. Gabarito disponível A camada lógica define tabelas, relacionamentos e restrições de integridade. No modelo em camadas (físico, lógico e de visão/externo), o nível lógico descreve a estrutura do banco: tabelas, colunas, relacionamentos e restrições de integridade, independentemente de como os dados são armazenados fisicamente. B) Desempenho é tarefa de ajuste (tuning), não função específica da camada lógica. C) Visões específicas para usuários pertencem ao nível externo/de visão. D) Armazenamento físico em disco é da camada física. E) Controle de concorrência é função do gerenciador de transações do SGBD. Referência: Arquitetura de três esquemas (ANSI/SPARC) – Elmasri/Navathe; Silberschatz. Resolução comentada do VaiConcursos. Gabarito disponível Desnormalização controlada equilibra normalização e desempenho em leitura intensa. Com leitura intensa e poucas atualizações, o custo da redundância é baixo e o ganho de desempenho é alto. Por isso, permitir desnormalizações controladas, como colunas duplicadas, é a prática mais adequada. A) Indexar todas as colunas prejudica escrita e espaço. B) Abandonar as formas normais em um único JSON é extremo e arriscado. C) Normalizar até a 5FN prioriza integridade e pode prejudicar o desempenho de leitura. E) Restringir-se a NoSQL não é necessário, e bancos relacionais bem ajustados atendem. Referência: Modelagem de dados: normalização e desnormalização. Resolução comentada do VaiConcursos. Gabarito disponível Desnormalização duplica dados de forma controlada para acelerar relatórios. Para relatórios muito lidos e com joins custosos, a desnormalização cria tabelas de relatório com dados duplicados, trocando redundância controlada por desempenho de leitura. A) Não é necessário limitar a tabelas temporárias. B) Eliminar as tabelas originais é inviável e desnecessário. C) Manter só joins complexos ignora o objetivo de melhorar o desempenho. E) Indexar todas as tabelas é excessivo e não resolve a desnormalização. Referência: Modelagem de dados: normalização e desnormalização; data warehouse. Resolução comentada do VaiConcursos. Gabarito disponível Os três itens descrevem outros princípios (OCP, LSP, DIP), não o SRP. O princípio da responsabilidade única diz que uma classe deve ter apenas um motivo para mudar. O item I descreve o aberto/fechado (OCP), o II descreve a substituição de Liskov (LSP) e o III descreve a inversão de dependência (DIP). Nenhum se refere ao SRP. B) O item I é do OCP. C) O item II é do LSP. D) I e III pertencem a outros princípios. E) II e III pertencem a outros princípios. Referência: Princípios SOLID (Robert C. Martin). Resolução comentada do VaiConcursos. Questão anulada Gabarito disponível Chamada de base.GetInfo() mais a linha adicional do ID. O objeto Colaborador chama o GetInfo sobrescrito, que executa base.GetInfo() (imprime nome e CPF) e depois imprime o ID do colaborador. Saída: nome, CPF e ID. A) Omitiria a linha do ID. C) Omitiria a chamada ao base. D) e E) Mostrariam só parte da saída. Referência: C#: virtual, override e base. Resolução comentada do VaiConcursos. Gabarito disponível O código evidencia o encapsulamento. Os atributos são privados e acessados por getters e setters públicos, com validação no setIdade (só aceita idade > 0). Isso caracteriza o encapsulamento: ocultar o estado interno e controlar o acesso a ele. A) Não há objeto de outra classe como atributo. B) Não há interface. C) Não há extends. D) Não há sobrescrita ou uso de tipos distintos. Referência: POO: encapsulamento. Resolução comentada do VaiConcursos. Gabarito disponível O seletor universal em CSS é o asterisco (*). O * seleciona todos os elementos do documento, sendo o seletor universal do CSS. B) ':' inicia pseudo-classes e pseudo-elementos. C) '@' inicia at-rules (@media, @import). D) '.' seleciona por classe. E) '#' seleciona por id. Referência: CSS3: seletores. Resolução comentada do VaiConcursos. Gabarito disponível <article> representa conteúdo independente e autocontido. Em HTML5, A) Referência: Especificação HTML5: elementos semânticos. Resolução comentada do VaiConcursos. Gabarito disponível Composition em Java é manter referência de uma classe dentro de outra. Em Java, composition é a técnica em que uma classe possui, como atributo, uma referência a outra classe, expressando a relação 'tem um'. A) Descreve o Collections Framework. B) Descreve a desserialização. C) Descreve a abstração. D) Descreve o princípio da responsabilidade única. Referência: Java: composição de classes. Resolução comentada do VaiConcursos. Questão anuladaBANRISUL 2025 — Técnico em Tecnologia da Informação II — Área 2: Desenvolvimento de Software — Prova Objetiva — Conhecimentos Específicos
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
![]()
Com base nas informações nas tabelas I e II, precedentes, assinale a opção em que são apresentados comandos SQL que permitem a obtenção do resultado demonstrado na tabela III.Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Nessa situação hipotética,Resolução comentada
Análise das alternativas
I Uma classe deve ser aberta para extensão, mas fechada para modificação.
II Objetos em um programa devem ser substituíveis por instâncias de seus subtipos sem alteração da correção do programa.
III Uma classe deve depender de abstrações, e não de implementações concretas.
Assinale a opção correta.Resolução comentada
Análise das alternativas
<script type="text/javascript" >
function passo1(valor) {
return valor + 2;}
function passo2(valor) {
return valor + 3;}
function passo1a(valor, callback) {
const resultado1a = valor + 2;
callback(resultado1a);}
function passo2a(valor, callback) {
const resultado1a = valor + 3;
callback(resultado1a);}
let resultado1 = 0 ;
resultado1 = passo1(resultado1);
resultado1 = passo2(resultado1);
console.log('resultado1: ${resultado1}');
passo1a(0,(resultado1a) => {
passo2a(resultado1a,(resultado2) => {
console.log('resultado2: ${resultado2}');
});
});
</script>
</html>
Assinale a opção em que é apresentado o resultado que aparecerá no console de um navegador caso o código precedente seja salvo em um arquivo .html e esse arquivo seja aberto nesse navegador.
protected string cpf = "444.555.666-77";
protected string nome = "Pedro Maria Silva";
public virtual void GetInfo(){
Console.WriteLine($"Nome: {nome}");
Console.WriteLine($"CPF: {cpf}");
}
}
class Colaborador : Pessoa {
public readonly string id = "ABC567EFG";
public override void GetInfo(){
base.GetInfo();
Console.WriteLine($"ID colaborador: {id}");
}
}
class TestClass
{
static void Main()
{
Colaborador E = new Colaborador();
E.GetInfo();
}
}
Assinale a opção em que é apresentado o resultado da execução do código em C# precedente.Resolução comentada
Análise das alternativas
private String nome;
private int idade;
public String getNome() { return nome; }
public void setNome(String nome) {
this.nome = nome; }
public int getIdade() { return idade; }
public void setIdade(int idade) {
if (idade > 0) { this.idade = idade; }
}
}
Assinale a opção em que é citada a propriedade da programação orientada a objetos evidenciada no código Java precedente.Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
No contexto de desenvolvimento de software, uma equipe que busca entregar incrementos contínuos e se adaptar rapidamente às mudanças do mercado deve priorizar a utilização de um modelo que possibilite
No framework Scrum, entre os papéis bem definidos para a execução do projeto, o profissional responsável por garantir que a equipe esteja aplicando corretamente os princípios e práticas do Scrum, ajudando a remover impedimentos e promovendo a colaboração, é denominado
No desenvolvimento de software, a prática de TDD (Test-Driven Development) tem como característica principal um fluxo estruturado de criação de código baseado em testes. Se uma equipe adotar os princípios do TDD, então ela deverá iniciar o desenvolvimento de um novo recurso, por meio
Um dos principais objetivos de uma equipe que utiliza o Kanban como abordagem ágil de desenvolvimento é otimizar o fluxo de trabalho e reduzir gargalos no processo. Nesse caso, para atingir essa meta, a equipe poderá utilizar como estratégia
Sabendo que as funções de agregação em SQL são aplicadas em um grupo de valores e um único valor retorna para cada grupo, assinale a opção em que é apresentada a função de agrupação que leva em consideração os valores nulos existentes.
Suponha a existência de uma tabela de um banco de dados relacional no qual esteja armazenado um volume muito grande de dados, em muitas linhas de registros. Nessa situação, considerada a otimização do acesso aos dados dessa tabela,
Em bancos de dados com suporte à indexação funcional,
Na arquitetura de banco de dados relacional, a camada de abstração de dados tem como principal objetivo
Na arquitetura de banco de dados relacional, composta por vários elementos dispostos em camadas, a camada lógica tem como função
Em uma grande empresa, a prática mais adequada para o balanceamento entre normalização e desempenho em consultas de um banco de dados, considerando-se que o negócio exige leitura intensa e baixa taxa de atualização, seria
Um administrador de banco de dados pretende melhorar o desempenho de relatórios executivos que são lidos com muita frequência e executam joins complexos. Para tanto, ele considera desnormalizar algumas tabelas.
Julgue os itens a seguir, de acordo com o princípio da responsabilidade única (PRS) do SOLID.
<html>
public class Pessoa{
public class aluno {
Assinale a opção correspondente ao caractere utilizado em CSS3 como seletor universal.
Assinale a opção em que é apresentada a tag que, em HTML5, representa um conteúdo independente de um documento.
Em Java, uma composition
Assinale a opção em que é indicado o recurso da linguagem C# que permite a um código inspecionar e manipular sua própria estrutura e comportamento em tempo de execução.