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

Em uma equipe de desenvolvimento que trabalha em um sistema bancário, os desenvolvedores estão enfrentando dificuldades em integrar o código que foi desenvolvido de maneira isolada por vários desenvolvedores. O código está sendo testado manualmente por cada desenvolvedor, mas há um grande atraso na detecção de erros e conflitos, resultando em muitos bugs, descobertos apenas nas fases mais avançadas do projeto. Com o aumento do número de desenvolvedores e a complexidade do sistema, a equipe decide adotar uma abordagem de Integração Contínua. Ao tomar essa decisão, a equipe levou em conta que essa abordagem

A garante que o código sempre estará livre de erros, pois ele é verificado automaticamente a cada commit, sem a necessidade de testes adicionais.
B garante que todas as partes do sistema funcionem corretamente, pois envolve a combinação manual de código das diferentes equipes de desenvolvimento a cada semana.
C proporciona feedback rápido sobre a qualidade do código, pois os desenvolvedores enviam frequentemente pequenas mudanças de código para o repositório, e o sistema executa automaticamente testes e validações.
D deve ser adotada apenas na etapa final do ciclo de desenvolvimento, quando o produto já está quase finalizado.
E dispensa ferramentas de automação, já que os desenvolvedores realizam todos os testes e integrações manualmente.

Um banco deseja implementar um sistema de controle de contas bancárias utilizando herança para reutilizar código e organizar melhor as responsabilidades das classes. O código para implementação desse sistema é apresentado a seguir. Classe ContaBancaria: Atributos: saldo Metodos: depositar(valor) sacar(valor) exibir_saldo() Classe ContaCorrente herda ContaBancaria: Atributos: limite_cheque_especial Metodos: sacar(valor) Classe ContaPoupanca herda ContaBancaria: Metodos: calcular_rendimento() Com base nesse código, verifica-se que a(o)

A herança utilizada no código permite que ContaCorrente e ContaPoupanca reutilizem os métodos de ContaBancaria, evitando repetição de código.
B classe ContaBancaria não pode ser herdada por ContaCorrente e ContaPoupanca, pois herança só é permitida entre classes do mesmo tipo.
C método sacar(valor) em ContaCorrente deve necessariamente ser idêntico ao de ContaBancaria, pois métodos herdados não podem ser sobrescritos.
D método calcular_rendimento() deveria estar na classe ContaBancaria, pois todas as contas bancárias possuem rendimento da mesma forma.
E conceito de herança não foi aplicado ao código, pois não há reutilização de código nem especialização de classes.

Um técnico bancário está aprofundando seus conhecimentos em testes de software, buscando identificar o mais adequado para avaliar o limite de capacidade do sistema e como ele se comporta sob pressão, considerando, inclusive, seu tempo de resposta e sua escalabilidade. Nesse contexto, o técnico deve utilizar o teste de

A acessibilidade
B carga
C segurança
D usabilidade
E vulnerabilidade

A equipe de suporte bancário foi designada para realizar o Teste de Integração entre os diferentes microsserviços que compõem um sistema bancário distribuído, como o gerenciamento de contas, o processamento de pagamentos e a autenticação de usuários. A comunicação entre os módulos do sistema é realizada por meio de APIs RESTful. Nesse contexto, o Teste de Integração

A envolve testar a interação entre os microsserviços, verificando se as APIs entre eles estão funcionando corretamente e se os dados estão sendo trocados corretamente entre os módulos.
B concentra-se apenas em testar as funcionalidades internas de cada microsserviço de forma isolada, não avaliando a comunicação entre os módulos ou a troca de dados entre eles.
C tem como objetivo verificar se os microsserviços estão funcionando corretamente em ambiente de produção, sem a necessidade de testes em ambientes de desenvolvimento ou de testes intermediários.
D serve para garantir que as interações entre os serviços sejam verificadas no final do desenvolvimento do sistema e, por isso, só é realizado após a implementação de todos os testes de unidade.
E verifica se os microsserviços estão trocando dados corretamente, não considerando as dependências externas do sistema, como banco de dados, filas de mensagens ou outros sistemas externos aos microsserviços.

A prática de Garantia da Qualidade de Software visa garantir a qualidade de um software e envolve atividade realizada ao longo do seu ciclo de vida. Sobre essa prática, verifica-se que

A a manutenção de software é realizada após a entrega final do produto e não exige a implementação de novos testes ou atualizações no sistema.
B a gerência de configuração envolve o controle e o monitoramento das mudanças nos requisitos do sistema sem afetar a documentação do código-fonte ou o controle de versões.
C a garantia da qualidade inclui a aplicação de processos e métodos para assegurar que o produto de software atenda aos requisitos e às expectativas do cliente ao longo de todo o ciclo de vida do projeto.
D o teste automatizado é utilizado após o lançamento do sistema e se restringe à correção de problemas pós-lançamento.
E os modelos de ciclo de vida de software, como o modelo cascata, são utilizados para testar o software em etapas intermediárias do desenvolvimento, sendo dispensado seu uso na fase de implementação.

Ao apresentar um projeto para sua equipe, um desenvolvedor percebeu que existiam dúvidas em relação a Análise e Projeto Orientado a Objetos, técnica usada por ele no projeto. Ele explicou à equipe que essa técnica de desenvolvimento

A está concentrada na identificação de objetos, desconsiderando os comportamentos e interações entre esses objetos no sistema.
B organiza os dados do sistema de forma independente da modelagem das funcionalidades ou da interação entre os componentes.
C identifica inicialmente as classes com base nos objetos existentes e a estrutura do sistema é definida com base no modo como os objetos interagem entre si.
D depende de uma abordagem única e linear que segue um processo rígido e independente das mudanças que possam ocorrer durante o ciclo de vida do desenvolvimento.
E considera cada componente do sistema como um objeto isolado, e os diversos objetos são entidades independentes que não compartilham informações ou funcionalidades entre si.

O núcleo do sistema operacional, denominado kernel, é formado por um conjunto de rotinas que oferecem serviços às aplicações dos usuários e ao próprio sistema. Para usar um serviço do sistema operacional, a aplicação do usuário aciona a respectiva rotina do kernel através da técnica

A buffering
B container
C spooling
D system call
E virtual machine

A gerência do processador adota uma política de escalonamento que define os critérios para determinar qual processo será escolhido para fazer uso do processador. As características de cada sistema operacional determinam os principais aspectos da implementação da política de escalonamento. Um problema crítico nos algoritmos de escalonamento é o bloqueio de processos por tempo indefinido, conhecido como estagnação (starvation). A política de escalonamento de processos que pode provocar a estagnação é o

A First-Come First-Served
B Not Recently Used
C Round Robin
D Second Chance
E Shortest Job First

Um conjunto de processos está em estado de deadlock quando todos os processos no conjunto estão esperando por um evento que pode ser causado apenas por outro processo no conjunto. Para que ocorra uma situação de deadlock, quatro condições são necessárias simultaneamente. Uma dessas condições se configura quando um recurso só pode ser liberado voluntariamente pelo processo que o mantém, depois que esse processo tiver completado a sua tarefa. Essa condição é conhecida como

A espera circular
B exclusão mútua
C não preempção
D posse e espera
E reentrância

Um importante problema de segurança para os sistemas operacionais é a autenticação, um processo de segurança que visa comprovar a identidade de um usuário. O sistema de proteção deve identificar os usuários para prover a correta autorização de acesso aos recursos do sistema. Um processo de autenticação amplamente utilizado pelos sistemas é a validação de credenciais de acesso formadas por nome e senha. Para proteger as senhas armazenadas no banco de dados, é comum temperar a senha (password salting) e usar um algoritmo de HASH. As técnicas de salting e HASH são adotadas simultaneamente nos esquemas

A Bcrypt e PBKDF2
B Bcrypt e RC4
C Bcrypt e AES
D AES e PBKDF2
E AES e RC4