First 50 of 200 questions. Each one lists the choices, the correct answer, and an explanation. The checker at the top of this page saves progress in this browser when it is available.
Continue in the practice tool above to load more questions, 50 at a time.
Question 1Enade Bacharelados e Cursos Superiores de Tecnologia
Em um sistema de controle de estoque, o programador declarou uma variável inteira para armazenar a quantidade de itens e, em outro trecho, reutilizou a mesma variável para guardar o nome do produto. Considerando os conceitos de tipagem de dados, qual é a consequência direta dessa prática em uma linguagem com tipagem estática?
- A variável passaria a ter dois tipos simultaneamente, o que é permitido em linguagens estáticas.
- O código compilaria normalmente, pois linguagens estáticas convertem tipos automaticamente em qualquer atribuição.
- O programa executaria, mas apenas se o nome do produto tiver menos de dez caracteres.
- O compilador rejeitaria a atribuição incompatível, pois o tipo da variável é verificado em tempo de compilação. Correct answer.
Explanation
Em linguagens com tipagem estática, o tipo de cada variável é fixado e verificado durante a compilação, de modo que atribuir um valor de tipo incompatível gera erro. A verificação antecipada é justamente a garantia oferecida por esse modelo de tipos.
Question 2Enade Bacharelados e Cursos Superiores de Tecnologia
Uma equipe precisa garantir que apenas uma instância de um objeto de configuração exista durante toda a execução do sistema, com um ponto global de acesso a ela. Qual padrão de projeto de software atende diretamente a esse requisito?
- Strategy
- Factory Method
- Observer
- Singleton Correct answer.
Explanation
O Singleton restringe a criação a uma única instância e fornece um ponto de acesso controlado a ela. Os demais padrões tratam de notificação de mudanças, criação polimórfica de objetos e variação de algoritmos, respectivamente.
Question 3Enade Bacharelados e Cursos Superiores de Tecnologia
Em bancos de dados relacionais, a propriedade ACID que garante que uma transação seja executada por completo ou não tenha efeito algum é conhecida como:
- Isolamento
- Atomicidade Correct answer.
- Consistência
- Durabilidade
Explanation
Atomicidade trata a transação como uma unidade indivisível: ou todas as operações são efetivadas, ou nenhuma é. Consistência, isolamento e durabilidade tratam, respectivamente, de invariantes, concorrência e persistência após falhas.
Question 4Enade Bacharelados e Cursos Superiores de Tecnologia
Qual estrutura de dados é mais adequada para implementar o comportamento de uma fila de impressão, em que os documentos são processados na ordem em que chegam?
- Pilha
- Árvore binária de busca
- Fila Correct answer.
- Grafo
Explanation
A fila segue a disciplina FIFO, em que o primeiro elemento inserido é o primeiro a ser removido, exatamente como em uma fila de impressão. A pilha usa LIFO, e árvores e grafos organizam relações, não ordem de chegada.
Question 5Enade Bacharelados e Cursos Superiores de Tecnologia
No contexto de engenharia de software, qual documento descreve o comportamento observável do sistema por meio de cenários de uso, atores e fluxos de eventos?
- Diagrama de classes
- Diagrama de componentes
- Diagrama de implantação
- Diagrama de casos de uso Correct answer.
Explanation
O diagrama de casos de uso representa atores, casos de uso e suas relações, capturando requisitos funcionais do ponto de vista dos usuários. Os demais diagramas tratam de estrutura estática, infraestrutura física e organização de módulos.
Question 6Enade Bacharelados e Cursos Superiores de Tecnologia
Em uma rede de computadores, qual é a função principal do protocolo DNS?
- Criptografar o tráfego entre cliente e servidor web.
- Atribuir dinamicamente endereços IP aos dispositivos.
- Traduzir nomes de domínio em endereços IP. Correct answer.
- Fragmentar pacotes para transmissão em enlaces menores.
Explanation
O DNS é o serviço de resolução de nomes, convertendo nomes legíveis por humanos em endereços IP usados no roteamento. Atribuição dinâmica de IP é feita pelo DHCP, e fragmentação é função da camada de rede.
Question 7Enade Bacharelados e Cursos Superiores de Tecnologia
Um analista deseja calcular a complexidade de tempo de um algoritmo que percorre um vetor de n elementos e, para cada elemento, executa uma operação de custo constante. Qual é a ordem de complexidade desse algoritmo?
- O(n) Correct answer.
- O(log n)
- O(1)
- O(n²)
Explanation
Um único laço que visita cada um dos n elementos uma vez, com trabalho constante por elemento, resulta em tempo proporcional a n, ou seja, O(n). Complexidade quadrática exigiria laços aninhados sobre os mesmos n elementos.
Question 8Enade Bacharelados e Cursos Superiores de Tecnologia
Em sistemas operacionais, qual é a principal finalidade da técnica de paginação de memória?
- Permitir que processos compartilhem a CPU por meio de escalonamento preemptivo.
- Sincronizar o acesso de processos a regiões críticas compartilhadas.
- Gerenciar a alocação de memória em blocos de tamanho fixo, evitando fragmentação externa. Correct answer.
- Armazenar permanentemente arquivos em disco de forma contígua.
Explanation
A paginação divide a memória em páginas e quadros de tamanho fixo, o que elimina a fragmentação externa e simplifica a alocação. Fragmentação interna ainda pode ocorrer na última página de um processo.
Question 9Enade Bacharelados e Cursos Superiores de Tecnologia
Considere a expressão SQL: SELECT departamento, COUNT(*) FROM funcionario GROUP BY departamento HAVING COUNT(*) > 5. O que essa consulta retorna?
- Apenas o departamento com a maior contagem de funcionários.
- O número total de funcionários de cada departamento, sem qualquer filtro.
- Os departamentos que possuem mais de cinco funcionários, com a respectiva contagem. Correct answer.
- Todos os funcionários que pertencem a departamentos com mais de cinco integrantes.
Explanation
O GROUP BY agrupa as linhas por departamento, COUNT(*) conta as linhas de cada grupo e HAVING filtra os grupos cuja contagem supera cinco. A cláusula HAVING atua sobre grupos, não sobre linhas individuais.
Question 10Enade Bacharelados e Cursos Superiores de Tecnologia
Em programação orientada a objetos, uma classe abstrata Animal declara o método abstrato emitirSom(). As classes Cachorro e Gato herdam de Animal e implementam emitirSom() de formas distintas. Qual conceito permite que uma variável do tipo Animal referencie um objeto Cachorro e execute a implementação correta em tempo de execução?
- Encapsulamento
- Polimorfismo Correct answer.
- Sobrecarga de métodos
- Composição
Explanation
O polimorfismo permite que uma referência de tipo genérico (Animal) aponte para objetos de subtipos e invoque a implementação adequada ao objeto real em tempo de execução. Isso é possível porque os subtipos cumprem o contrato definido pela superclasse.
Question 11Enade Bacharelados e Cursos Superiores de Tecnologia
Um sistema precisa registrar, em um banco relacional, que cada aluno pode matricular-se em vários cursos e cada curso pode ter vários alunos, com atributos próprios da matrícula, como data e nota. Qual é a modelagem relacional correta?
- Uma tabela de associação com chaves estrangeiras para aluno e curso, além dos atributos data e nota. Correct answer.
- Uma tabela aluno com uma coluna multivalorada contendo os cursos.
- Uma tabela curso com chave estrangeira para aluno.
- Uma tabela aluno e uma tabela curso, sem tabela intermediária, ligadas por chave primária compartilhada.
Explanation
Relações muitos-para-muitos com atributos próprios exigem uma tabela associativa que referencia as duas entidades e armazena os atributos do relacionamento. Isso preserva a primeira forma normal e evita redundância.
Question 12Enade Bacharelados e Cursos Superiores de Tecnologia
No protocolo HTTP, um cliente envia uma requisição para criar um novo recurso em uma API REST e recebe como resposta o código 201. Qual é o significado desse código e o que normalmente acompanha a resposta?
- Recurso criado com sucesso, geralmente com o cabeçalho Location apontando para o novo recurso. Correct answer.
- Erro interno do servidor durante o processamento.
- Erro do cliente por sintaxe inválida, sem corpo de resposta.
- Redirecionamento permanente para outro endereço.
Explanation
O código 201 indica que a requisição resultou na criação de um recurso; a resposta costuma incluir o cabeçalho Location com a URI do recurso criado. Códigos 4xx indicam erro do cliente e 5xx, erro do servidor.
Question 13Enade Bacharelados e Cursos Superiores de Tecnologia
Em uma aplicação web, o servidor precisa manter o estado de autenticação do usuário entre requisições sucessivas, já que o HTTP é um protocolo sem estado. Qual mecanismo é comumente utilizado para esse fim?
- Adoção de endereços IPv6 no servidor.
- Compressão dos arquivos estáticos servidos pela aplicação.
- Uso de sessões identificadas por cookies enviados pelo cliente. Correct answer.
- Aumento do tamanho máximo do corpo das requisições.
Explanation
Sessões no servidor associadas a um identificador enviado pelo cliente via cookie permitem reconhecer requisições do mesmo usuário. Isso complementa a ausência de estado do HTTP sem alterar o protocolo.
Question 14Enade Bacharelados e Cursos Superiores de Tecnologia
Um gerente de projetos aplica o método de estimativa de três pontos, com estimativas otimista de 4 dias, mais provável de 6 dias e pessimista de 14 dias. Qual é a estimativa esperada pela fórmula PERT?
- 7 dias Correct answer.
- 10 dias
- 6 dias
- 8 dias
Explanation
A fórmula PERT é (otimista + 4 × mais provável + pessimista) / 6, resultando em (4 + 24 + 14) / 6 = 42 / 6 = 7 dias. A ponderação dá peso maior à estimativa mais provável.
Question 15Enade Bacharelados e Cursos Superiores de Tecnologia
Em segurança da informação, qual é o princípio que restringe o acesso de um usuário apenas às informações necessárias para executar suas funções?
- Criptografia simétrica
- Balanceamento de carga
- Autenticação multifator
- Princípio do menor privilégio Correct answer.
Explanation
O princípio do menor privilégio concede ao usuário somente as permissões indispensáveis à sua função, reduzindo a superfície de ataque. Autenticação e criptografia são mecanismos de proteção, não princípios de autorização.
Question 16Enade Bacharelados e Cursos Superiores de Tecnologia
Ao implementar uma busca binária em um vetor, qual pré-condição é indispensável para que o algoritmo funcione corretamente?
- O vetor deve estar ordenado segundo a chave de busca. Correct answer.
- O vetor deve conter apenas números inteiros positivos.
- O vetor deve ter tamanho par.
- O vetor deve estar armazenado em memória contígua alocada dinamicamente.
Explanation
A busca binária descarta metade do espaço de busca a cada comparação, o que só é válido se os elementos estiverem ordenados. Sem ordenação, a decisão de ir para a metade esquerda ou direita não é confiável.
Question 17Enade Bacharelados e Cursos Superiores de Tecnologia
Em uma arquitetura cliente-servidor, o padrão MVC separa a aplicação em três componentes. Qual é a responsabilidade do componente Controller?
- Intermediar a interação do usuário, atualizando o modelo e selecionando a visão adequada. Correct answer.
- Definir o esquema físico do banco de dados.
- Armazenar e persistir os dados de negócio da aplicação.
- Renderizar a interface visual apresentada ao usuário.
Explanation
O Controller recebe as entradas, interpreta as ações do usuário e coordena as atualizações no Model e a escolha da View. Model cuida dos dados e regras, e View cuida da apresentação.
Question 18Enade Bacharelados e Cursos Superiores de Tecnologia
Um analista executou o comando git commit em um repositório local e, em seguida, deseja enviar as alterações para o repositório remoto. Qual comando deve ser utilizado?
- git pull
- git push Correct answer.
- git merge
- git clone
Explanation
O git push envia os commits locais para o repositório remoto configurado como destino. O pull traz alterações remotas, o merge integra ramos e o clone cria uma cópia inicial do repositório.
Question 19Enade Bacharelados e Cursos Superiores de Tecnologia
Em um sistema embarcado que precisa responder a eventos externos em tempo previsível, a escolha de um sistema operacional de tempo real é justificada principalmente por qual característica?
- Garantia de prazos máximos de resposta a eventos críticos. Correct answer.
- Maior capacidade de armazenamento em disco.
- Interface gráfica avançada para o usuário final.
- Suporte a múltiplos usuários simultâneos.
Explanation
Sistemas de tempo real priorizam o cumprimento de prazos determinísticos, garantindo limites máximos de latência para eventos críticos. Recursos como armazenamento, multiusuário e interface gráfica não são o critério central nesse contexto.
Question 20Enade Bacharelados e Cursos Superiores de Tecnologia
Considere uma tabela pedido com as colunas id, cliente_id e valor. Deseja-se obter o valor total gasto por cada cliente, incluindo os clientes que não possuem pedidos, que devem aparecer com total zero. Qual construção SQL atende corretamente a esse requisito?
- SELECT c.id, COUNT(p.valor) FROM cliente c CROSS JOIN pedido p GROUP BY c.id
- SELECT c.id, SUM(p.valor) FROM cliente c INNER JOIN pedido p ON p.cliente_id = c.id GROUP BY c.id
- SELECT c.id, SUM(p.valor) FROM cliente c RIGHT JOIN pedido p ON p.cliente_id = c.id GROUP BY c.id
- SELECT c.id, COALESCE(SUM(p.valor), 0) FROM cliente c LEFT JOIN pedido p ON p.cliente_id = c.id GROUP BY c.id Correct answer.
Explanation
O LEFT JOIN preserva todos os clientes, mesmo sem pedidos, e o COALESCE converte o NULL resultante da soma em zero. O INNER JOIN descartaria clientes sem pedidos, e o RIGHT JOIN descartaria clientes sem correspondência.
Question 21Enade Bacharelados e Cursos Superiores de Tecnologia
Em um sistema distribuído, dois serviços precisam trocar mensagens de forma que o emissor não bloqueie aguardando o processamento do receptor, e as mensagens sejam entregues mesmo que o receptor esteja temporariamente indisponível. Qual abordagem é mais adequada?
- Fila de mensagens persistente entre os serviços. Correct answer.
- Consulta periódica do receptor ao banco do emissor sem registro de eventos.
- Compartilhamento de memória entre os processos dos dois serviços.
- Chamada remota síncrona com timeout curto.
Explanation
Uma fila persistente desacopla emissor e receptor no tempo, permitindo envio assíncrono e entrega posterior quando o receptor voltar a ficar disponível. Chamadas síncronas e polling sem registro de eventos não garantem entrega nem desacoplamento.
Question 22Enade Bacharelados e Cursos Superiores de Tecnologia
Um analista avaliou que, em determinado sistema, a probabilidade de falha de um componente é 0,1. O sistema usa dois componentes idênticos em paralelo com redundância ativa, de modo que o sistema falha apenas se ambos falharem, e as falhas são independentes. Qual é a probabilidade de falha do sistema?
- 0,2
- 0,01 Correct answer.
- 0,1
- 0,19
Explanation
Com redundância em paralelo, o sistema falha somente quando os dois componentes falham. Como as falhas são independentes, a probabilidade conjunta é 0,1 × 0,1 = 0,01.
Question 23Enade Bacharelados e Cursos Superiores de Tecnologia
Em uma árvore binária de busca balanceada com n nós, qual é a complexidade assintótica do pior caso para a operação de busca?
- O(1)
- O(n log n)
- O(n)
- O(log n) Correct answer.
Explanation
Em uma árvore balanceada, a altura é proporcional a log n, e a busca percorre no máximo um caminho da raiz até uma folha. Por isso o pior caso é O(log n), diferentemente de uma árvore degenerada, que seria O(n).
Question 24Enade Bacharelados e Cursos Superiores de Tecnologia
Um sistema legado precisa ser refatorado para reduzir o acoplamento entre módulos que compartilham variáveis globais mutáveis. Qual estratégia contribui diretamente para esse objetivo?
- Aumentar o número de variáveis globais para centralizar o estado em um único ponto.
- Duplicar as variáveis globais em cada módulo para evitar dependências.
- Manter as variáveis globais e adicionar comentários explicando seu uso.
- Substituir as variáveis globais por parâmetros explícitos e interfaces bem definidas entre os módulos. Correct answer.
Explanation
Passar dependências explicitamente por parâmetros e expor contratos claros reduz o conhecimento compartilhado entre módulos, diminuindo o acoplamento. Centralizar ou duplicar estado global mantém ou amplia as dependências ocultas.
Question 25Enade Bacharelados e Cursos Superiores de Tecnologia
Em uma aplicação que precisa processar grandes volumes de dados com operações de agregação sobre registros semiestruturados e tolerar esquema flexível, qual tecnologia é mais indicada?
- Banco de dados NoSQL orientado a documentos, com agregação integrada. Correct answer.
- Banco de dados relacional com esquema rígido e normalização estrita.
- Planilha eletrônica compartilhada entre os usuários.
- Sistema de arquivos simples com um arquivo por registro.
Explanation
Bancos orientados a documentos armazenam registros semiestruturados com esquema flexível e oferecem pipelines de agregação adequados a grandes volumes. Esquemas rígidos e arquivos isolados dificultam consultas agregadas e escalabilidade.
Question 26Enade Bacharelados e Cursos Superiores de Tecnologia
Em um sistema de controle de estoque, o analista deseja garantir que cada produto tenha um código único e que não sejam permitidos valores nulos nesse campo. Qual restrição de banco de dados relacional deve ser aplicada à coluna codigo_produto?
- PRIMARY KEY Correct answer.
- FOREIGN KEY
- DEFAULT
- CHECK
Explanation
A restrição PRIMARY KEY impõe unicidade e não permite valores nulos, garantindo a identificação única de cada linha. FOREIGN KEY estabelece integridade referencial, CHECK limita valores por condição e DEFAULT atribui valor padrão.
Question 27Enade Bacharelados e Cursos Superiores de Tecnologia
Em uma aplicação Java, um programador precisa criar uma classe que não possa ser instanciada diretamente, mas que sirva de base para outras classes que implementarão seus métodos. Qual recurso da orientação a objetos atende a esse requisito?
- Classe final
- Classe anônima
- Classe abstrata Correct answer.
- Interface funcional
Explanation
Uma classe abstrata não pode ser instanciada e pode conter métodos abstratos que devem ser implementados pelas subclasses. Classes finais não podem ser herdadas, interfaces funcionais são para expressões lambda e classes anônimas são instanciadas na declaração.
Question 28Enade Bacharelados e Cursos Superiores de Tecnologia
Em uma rede TCP/IP, qual é a faixa de endereços reservada para loopback e qual seu propósito principal?
- 169.254.0.0/16, para autoconfiguração de interfaces
- 127.0.0.0/8, para testes locais sem uso da rede física Correct answer.
- 192.168.0.0/16, para redes privadas internas
- 10.0.0.0/8, para comunicação entre roteadores
Explanation
A faixa 127.0.0.0/8 é reservada para loopback, permitindo que a máquina se comunique consigo mesma para testes. As faixas 10.0.0.0/8 e 192.168.0.0/16 são para redes privadas, e 169.254.0.0/16 para link-local.
Question 29Enade Bacharelados e Cursos Superiores de Tecnologia
No desenvolvimento de software, o conceito de encapsulamento na orientação a objetos está mais diretamente relacionado a qual prática?
- Ocultar os detalhes internos de uma classe e expor apenas uma interface pública Correct answer.
- Criar hierarquias de classes que herdam comportamento comum
- Permitir que subclasses acessem diretamente todos os atributos da superclasse
- Definir múltiplos métodos com o mesmo nome e assinaturas diferentes
Explanation
Encapsulamento consiste em esconder a implementação interna e fornecer métodos públicos para interação, protegendo o estado do objeto. Herança e polimorfismo são outros pilares da orientação a objetos.
Question 30Enade Bacharelados e Cursos Superiores de Tecnologia
Em um sistema operacional, qual é a principal função do escalonador de processos?
- Gerenciar a alocação de memória física para os processos
- Decidir qual processo em estado pronto será executado pela CPU e por quanto tempo Correct answer.
- Controlar o acesso dos processos aos dispositivos de entrada e saída
- Manter a integridade dos sistemas de arquivos
Explanation
O escalonador de processos é responsável por escolher, entre os processos prontos, qual será executado e por quanto tempo, aplicando políticas de escalonamento. As demais funções são de outros componentes do sistema operacional.
Question 31Enade Bacharelados e Cursos Superiores de Tecnologia
Em uma metodologia ágil, qual é o propósito principal de uma reunião diária (daily scrum)?
- Planejar as tarefas que serão realizadas na próxima sprint
- Sincronizar o trabalho da equipe e identificar impedimentos rapidamente Correct answer.
- Demonstrar as funcionalidades concluídas para as partes interessadas
- Revisar o produto com o cliente e coletar feedback
Explanation
A reunião diária é um evento curto para alinhar o progresso e identificar bloqueios. Revisão e planejamento são outros eventos do Scrum.
Question 32Enade Bacharelados e Cursos Superiores de Tecnologia
Em engenharia de software, qual é o objetivo da técnica de revisão de código por pares (code review)?
- Substituir a necessidade de testes automatizados
- Identificar defeitos e melhorar a qualidade do código antes da integração Correct answer.
- Aumentar a velocidade de compilação do sistema
- Documentar automaticamente as APIs do sistema
Explanation
A revisão por pares visa encontrar problemas, compartilhar conhecimento e garantir padrões de qualidade antes que o código seja integrado. Ela complementa, mas não substitui, testes automatizados.
Question 33Enade Bacharelados e Cursos Superiores de Tecnologia
Em uma aplicação web, qual tecnologia é executada no lado do cliente para permitir interatividade dinâmica sem recarregar a página?
- Python
- PHP
- SQL
- JavaScript Correct answer.
Explanation
JavaScript é a linguagem executada pelos navegadores para manipular o DOM e responder a eventos do usuário. PHP e Python são tipicamente usados no servidor, e SQL é para consulta a bancos de dados.
Question 34Enade Bacharelados e Cursos Superiores de Tecnologia
Considere uma tabela 'funcionario' com as colunas 'id', 'nome' e 'salario'. Qual consulta SQL retorna o nome e o salário dos funcionários com salário superior a 5000, ordenados do maior para o menor salário?
- SELECT nome, salario FROM funcionario WHERE salario > 5000 ORDER BY salario DESC; Correct answer.
- SELECT nome, salario FROM funcionario HAVING salario > 5000 ORDER BY salario DESC;
- SELECT nome, salario FROM funcionario WHERE salario > 5000 GROUP BY salario DESC;
- SELECT nome, salario FROM funcionario WHERE salario > 5000 ORDER BY salario ASC;
Explanation
A cláusula WHERE filtra linhas antes da ordenação, e ORDER BY salario DESC ordena do maior para o menor. HAVING é usado com GROUP BY, e GROUP BY não ordena.
Question 35Enade Bacharelados e Cursos Superiores de Tecnologia
Em uma aplicação Java, um método deve calcular a média de uma lista de números inteiros e lançar uma exceção caso a lista esteja vazia. Qual construção é mais adequada para esse tratamento?
- Retornar null quando a lista estiver vazia
- Usar um bloco try-catch para capturar a exceção e tratar o erro Correct answer.
- Declarar o método como synchronized para evitar condições de corrida
- Utilizar um laço while para percorrer a lista e ignorar o caso vazio
Explanation
O tratamento de exceções com try-catch permite capturar e tratar a condição de erro de forma controlada. As outras alternativas não tratam adequadamente a exceção ou introduzem problemas.
Question 36Enade Bacharelados e Cursos Superiores de Tecnologia
Um analista precisa projetar uma rede local para 50 computadores, com acesso à internet, utilizando um único endereço IP público. Qual dispositivo é essencial para permitir que todos os computadores compartilhem esse endereço?
- Roteador com NAT Correct answer.
- Repetidor
- Switch hub
- Modem ADSL
Explanation
O NAT (Network Address Translation) permite que vários dispositivos compartilhem um único endereço IP público, traduzindo endereços privados. Um switch ou hub apenas conecta dispositivos na rede local.
Question 37Enade Bacharelados e Cursos Superiores de Tecnologia
Em um sistema de vendas, deseja-se garantir que o preço de um produto nunca seja negativo. Qual recurso do banco de dados relacional deve ser utilizado?
- Chave estrangeira para a tabela de produtos
- Trigger de exclusão
- Restrição CHECK (preco >= 0) Correct answer.
- Índice único na coluna preco
Explanation
A restrição CHECK permite definir uma condição que os valores devem satisfazer, como preco >= 0. Chave estrangeira e índice único não impedem valores negativos.
Question 38Enade Bacharelados e Cursos Superiores de Tecnologia
Em uma aplicação orientada a objetos, uma classe 'ContaBancaria' possui um método 'sacar(valor)'. Para garantir que o saldo não fique negativo, qual é a melhor prática?
- Validar o saldo dentro do método e lançar uma exceção se insuficiente Correct answer.
- Permitir que o saldo fique negativo e corrigir depois
- Deixar a validação a cargo do código cliente
- Utilizar um atributo público para o saldo e verificar externamente
Explanation
A validação dentro do método mantém a integridade do objeto e evita estados inválidos, seguindo o princípio de encapsulamento. Deixar a cargo do cliente ou permitir saldo negativo viola boas práticas.
Question 39Enade Bacharelados e Cursos Superiores de Tecnologia
Em uma árvore binária de busca, após inserir os valores 10, 20, 30, 40, 50, qual é a altura da árvore resultante? (Considere altura como o número de arestas no caminho mais longo da raiz até uma folha.)
- 2
- 5
- 3
- 4 Correct answer.
Explanation
A inserção sequencial em uma árvore binária de busca sem balanceamento cria uma árvore degenerada (lista encadeada). A altura é o número de arestas do caminho mais longo: 10-20-30-40-50 tem 4 arestas.
Question 40Enade Bacharelados e Cursos Superiores de Tecnologia
Em um sistema operacional, um processo deseja ler um arquivo que está sendo gravado por outro processo. Qual mecanismo de sincronização é mais adequado para evitar que a leitura ocorra durante a escrita?
- Memória virtual
- Pilha de execução
- Escalonamento por prioridade
- Semáforo ou mutex para garantir exclusão mútua Correct answer.
Explanation
Semáforos e mutex são usados para sincronizar processos e garantir exclusão mútua no acesso a recursos compartilhados, como arquivos. Escalonamento, pilha e memória virtual não tratam da sincronização de acesso.
Question 41Enade Bacharelados e Cursos Superiores de Tecnologia
Em uma aplicação web, o desenvolvedor precisa enviar dados de um formulário para o servidor sem recarregar a página. Qual tecnologia é mais apropriada?
- Redirecionamento via JavaScript com window.location
- Uso de iframe com src para a página de destino
- Formulário HTML com method="post" e action
- AJAX com XMLHttpRequest ou Fetch API Correct answer.
Explanation
AJAX permite enviar e receber dados assincronamente, sem recarregar a página. As outras opções causam recarregamento ou navegação.
Question 42Enade Bacharelados e Cursos Superiores de Tecnologia
Em um projeto de software, o gerente deseja garantir que as mudanças no código sejam integradas frequentemente e testadas automaticamente. Qual prática ágil atende a esse objetivo?
- Integração contínua Correct answer.
- Refatoração
- Programação em pares
- Desenvolvimento dirigido por testes (TDD)
Explanation
Integração contínua (CI) é a prática de integrar mudanças frequentemente e executar testes automatizados a cada integração. TDD, programação em pares e refatoração são práticas complementares, mas não focam na integração frequente.
Question 43Enade Bacharelados e Cursos Superiores de Tecnologia
Em um sistema de comércio eletrônico, o analista deseja implementar um mecanismo para garantir que, ao finalizar uma compra, o estoque seja decrementado e o pedido seja registrado, mas se qualquer etapa falhar, nenhuma alteração seja efetivada. Qual propriedade de transações de banco de dados garante isso?
- Durabilidade
- Atomicidade Correct answer.
- Consistência
- Isolamento
Explanation
Atomicidade garante que todas as operações de uma transação sejam executadas com sucesso ou nenhuma seja. Consistência, isolamento e durabilidade são outras propriedades ACID.
Question 44Enade Bacharelados e Cursos Superiores de Tecnologia
Em uma rede de computadores, o protocolo TCP é utilizado para transferência de arquivos. Qual característica é assegurada pelo TCP?
- Comunicação sem conexão
- Entrega ordenada e confiável dos dados Correct answer.
- Multicast nativo
- Baixa latência garantida
Explanation
O TCP é orientado a conexão e garante entrega ordenada e confiável, com controle de fluxo e retransmissão. UDP é o protocolo sem conexão e não garante entrega.
Question 45Enade Bacharelados e Cursos Superiores de Tecnologia
Em um sistema orientado a objetos, um método pode ser sobrescrito (override) em uma subclasse. Qual é o efeito dessa sobrescrita?
- O método se torna abstrato e deve ser implementado em outra classe
- A subclasse fornece uma implementação específica para o método, substituindo a da superclasse Correct answer.
- O método passa a ser privado na subclasse
- A subclasse herda a implementação da superclasse sem alterações
Explanation
Sobrescrita permite que a subclasse defina um comportamento específico, mantendo a assinatura do método. Herança sem alteração é apenas reutilização, e tornar abstrato ou privado são outras ações.
Question 46Enade Bacharelados e Cursos Superiores de Tecnologia
Em uma aplicação Java, um desenvolvedor precisa garantir que uma classe tenha apenas uma instância e forneça um ponto global de acesso a ela. Qual padrão de projeto é mais adequado?
- Factory Method
- Adapter
- Observer
- Singleton Correct answer.
Explanation
O padrão Singleton restringe a instanciação de uma classe a um único objeto e fornece um método estático para acesso global. Factory Method, Observer e Adapter resolvem outros problemas de criação e interação.
Question 47Enade Bacharelados e Cursos Superiores de Tecnologia
Em uma aplicação de comércio eletrônico, o tempo de resposta do servidor aumentou significativamente após um pico de acessos. Após análise, verificou-se que o banco de dados estava realizando varreduras completas em tabelas grandes para consultas frequentes. Qual ação é mais indicada para melhorar o desempenho?
- Criar índices apropriados nas colunas utilizadas nas cláusulas WHERE e JOIN Correct answer.
- Substituir o banco de dados relacional por um banco NoSQL
- Reescrever todas as consultas utilizando subconsultas aninhadas
- Aumentar a quantidade de memória RAM do servidor de aplicação
Explanation
A criação de índices nas colunas filtradas ou usadas em junções reduz o custo de varredura completa, melhorando o desempenho das consultas. Aumentar RAM pode ajudar, mas não resolve o problema de varredura; trocar por NoSQL não é necessariamente a solução; subconsultas aninhadas podem piorar o desempenho.
Question 48Enade Bacharelados e Cursos Superiores de Tecnologia
Em um sistema distribuído, dois serviços precisam trocar mensagens de forma que o emissor não bloqueie aguardando o processamento do receptor. Qual estilo de comunicação é mais adequado?
- Mensageria assíncrona com filas Correct answer.
- Requisições HTTP síncronas
- Comunicação via sockets bloqueantes
- Chamada remota síncrona (RPC)
Explanation
A mensageria assíncrona permite que o emissor envie a mensagem e continue seu processamento, sem aguardar a resposta imediata. RPC, sockets bloqueantes e HTTP síncrono introduzem bloqueio.
Question 49Enade Bacharelados e Cursos Superiores de Tecnologia
Em uma aplicação Java, um desenvolvedor precisa que um objeto notifique automaticamente vários outros objetos sempre que seu estado mudar, sem conhecer detalhes de suas implementações. Qual padrão de projeto é mais adequado?
- Decorator
- Observer Correct answer.
- Strategy
- Singleton
Explanation
O padrão Observer define uma dependência um-para-muitos, permitindo que múltiplos observadores sejam notificados sobre mudanças no objeto observado. Singleton, Decorator e Strategy têm outros propósitos.
Question 50Enade Bacharelados e Cursos Superiores de Tecnologia
Em um algoritmo de ordenação que utiliza a técnica de divisão e conquista, qual é a complexidade de tempo no pior caso para o Quicksort?
- O(log n)
- O(n^2) Correct answer.
- O(n)
- O(n log n)
Explanation
No pior caso, o Quicksort particiona o array de forma desbalanceada (por exemplo, quando o pivô é o menor ou maior elemento), resultando em complexidade O(n^2). No caso médio, é O(n log n).