Questões de Concurso
Para educação
Foram encontradas 218.678 questões
Resolva questões gratuitamente!
Junte-se a mais de 4 milhões de concurseiros!
Em APIs REST bem projetadas, o uso adequado dos métodos HTTP é fundamental para garantir previsibilidade, segurança e correto tratamento de falhas. Entre os princípios envolvidos, a idempotência desempenha papel relevante, pois permite que determinadas requisições sejam repetidas sem produzir efeitos colaterais adicionais no estado do sistema, característica importante em ambientes distribuídos sujeitos a falhas de rede e reenvio de mensagens.
Considere uma API REST utilizada por diferentes clientes, em que falhas de comunicação podem levar ao reenvio automático de requisições. O sistema deve garantir que operações críticas não sejam executadas mais de uma vez de forma indevida. Nesse contexto, assinale a alternativa que descreve corretamente a relação entre idempotência e o uso dos métodos HTTP em APIs REST.
Sistemas distribuídos modernos frequentemente combinam diferentes modelos de comunicação para atender requisitos de desempenho, escalabilidade e resiliência. A comunicação síncrona, como chamadas diretas via HTTP, oferece simplicidade e resposta imediata, enquanto a comunicação assíncrona, baseada em eventos ou mensageria, reduz acoplamento temporal e aumenta tolerância a falhas, sendo especialmente relevante em arquiteturas de microsserviços.
Considere uma arquitetura de microsserviços em que um serviço de Processamento de Pedidos precisa acionar, de forma confiável, serviços de Faturamento e Notificação. O sistema deve continuar aceitando pedidos mesmo quando um desses serviços estiver temporariamente indisponível, sem bloquear o fluxo principal da aplicação.
Nesse contexto, assinale a alternativa que descreve corretamente a estratégia arquitetural mais adequada para atender a esses requisitos, considerando comunicação entre serviços.
Em arquiteturas baseadas em microsserviços, a execução de aplicações em contêineres exige mecanismos robustos para gerenciamento de implantação, escalabilidade, tolerância a falhas e atualização contínua. O Kubernetes consolidou-se como uma plataforma de orquestração que abstrai a infraestrutura subjacente e automatiza tarefas operacionais, permitindo que aplicações back-end escalem de forma controlada e resiliente.
Considere uma aplicação back-end executada em contêineres Docker, implantada em um cluster Kubernetes. A aplicação apresenta variação significativa de carga ao longo do dia e precisa manter disponibilidade mesmo diante de falhas em nós do cluster, sem intervenção manual da equipe de operações.
Nesse contexto, assinale a alternativa que descreve corretamente um recurso do Kubernetes que atende simultaneamente aos requisitos de escalabilidade e alta disponibilidade da aplicação.
Considere um sistema de marketplace implementado em microsserviços, com os seguintes serviços: Pedido, Pagamento e Estoque, cada um com seu próprio banco de dados. Ao confirmar uma compra, o fluxo exige: (1) criar o pedido, (2) reservar o estoque e (3) confirmar o pagamento. Em caso de falha em qualquer etapa, o sistema deve retornar a um estado consistente, sem depender de uma transação distribuída única com bloqueio entre bancos.
Assinale a alternativa que descreve corretamente a estratégia arquitetural mais adequada, nesse cenário, para garantir consistência de dados sem uso de transações distribuídas ACID, reduzindo risco de bloqueios e aumentando resiliência.
No desenvolvimento de sistemas back-end modernos, a escolha da tecnologia de banco de dados impacta diretamente desempenho, escalabilidade e modelagem dos dados. Bancos de dados relacionais e não relacionais atendem a necessidades distintas, sendo adotados conforme características do domínio da aplicação, volume de dados e requisitos de consistência e flexibilidade.
Considere uma aplicação back-end que precisa armazenar grandes volumes de dados semiestruturados, com esquema flexível e possibilidade de evolução frequente do modelo, sem interrupção do serviço.
Nesse contexto, assinale a alternativa que apresenta corretamente uma justificativa técnica para a adoção de um banco de dados não relacional em detrimento de um banco de dados relacional tradicion
Considere uma API back-end com camadas bem definidas (controladores, serviços e repositórios). A equipe deseja estabelecer uma estratégia de testes que reduza regressões e identifique falhas tanto na lógica interna quanto na interação entre componentes, sem confundir os objetivos de cada tipo de teste.
Assinale a alternativa que descreve corretamente a diferença entre testes unitários e testes de integração nesse cenário.
Em arquiteturas modernas baseadas em APIs, a segurança do acesso aos recursos é um aspecto crítico. Mecanismos de autenticação e autorização devem garantir que apenas usuários devidamente identificados e com permissões adequadas consigam acessar determinados serviços, sem comprometer escalabilidade e desempenho. Nesse contexto, o uso de tokens, como o JSON Web Token (JWT), tornou-se comum em aplicações distribuídas.
Considere uma API REST que atende múltiplos clientes e precisa garantir autenticação de usuários de forma escalável, evitando a manutenção de estado no servidor entre requisições. Nesse cenário, assinale a alternativa que descreve corretamente uma característica do uso de JWT em processos de autenticação e autorização
Considere uma equipe que desenvolve uma aplicação back-end e enfrenta problemas recorrentes de inconsistência entre os ambientes de desenvolvimento e produção, resultando em falhas que não se manifestam localmente.
Nesse contexto, assinale a alternativa que descreve corretamente uma vantagem técnica do uso de contêineres Docker para mitigar esse tipo de problema.
O versionamento de código é uma prática essencial no desenvolvimento de sistemas modernos, especialmente em projetos colaborativos. Ferramentas como o Git permitem o controle histórico das alterações, o trabalho simultâneo de múltiplos desenvolvedores e a rastreabilidade das mudanças realizadas ao longo do ciclo de vida do software, reduzindo conflitos e facilitando manutenção e auditoria.
Considere uma equipe de desenvolvimento back-end que trabalha de forma colaborativa em um repositório Git, realizando alterações frequentes no código de uma API corporativa. Nesse contexto, assinale a alternativa que descreve corretamente uma prática adequada de uso do Git para garantir controle de versões e colaboração eficiente entre os membros da equipe
A adoção de práticas DevOps busca reduzir o tempo entre a mudança no código e a disponibilização confiável em produção, promovendo colaboração entre desenvolvimento e operações. Nesse contexto, pipelines de CI/CD automatizam etapas como compilação, testes, análise de qualidade e implantação, diminuindo erros humanos e aumentando previsibilidade do processo de entrega, especialmente em equipes que trabalham com mudanças frequentes no back-end.
Considere uma equipe que mantém uma API back-end com atualizações semanais. A equipe deseja reduzir falhas em produção e garantir que cada alteração enviada ao repositório passe por validações automáticas antes de ser implantada. Assinale a alternativa que descreve corretamente uma prática coerente com CI/CD para atingir esse objetivo, minimizando riscos e retrabalho.
Em ambientes corporativos distribuídos, a interoperabilidade entre sistemas é essencial para garantir troca de informações consistente e integração entre aplicações desenvolvidas em diferentes plataformas e linguagens. O uso de APIs padronizadas permite que sistemas heterogêneos se comuniquem de forma controlada, reduzindo acoplamento e facilitando a evolução tecnológica ao longo do tempo.
Considere um cenário em que diferentes aplicações — desenvolvidas em linguagens distintas e executando em ambientes variados — precisam consumir serviços de um sistema central por meio de APIs.
Nesse contexto, assinale a alternativa que descreve corretamente uma prática que favorece a interoperabilidade entre sistemas integrados por APIs.
Em sistemas corporativos de médio e grande porte, a arquitetura de software desempenha papel central na integração entre aplicações, na reutilização de funcionalidades e na evolução dos sistemas ao longo do tempo. A Arquitetura Orientada a Serviços (SOA) surgiu como uma abordagem para organizar sistemas distribuídos a partir de serviços bem definidos, promovendo interoperabilidade, padronização de interfaces e independência entre consumidores e provedores de serviços.
Considere um cenário em que uma organização possui diversos sistemas legados e precisa integrá-los de forma padronizada, permitindo que aplicações distintas consumam funcionalidades comuns sem forte dependência de implementação ou linguagem. Nesse contexto, assinale a alternativa que descreve corretamente uma característica fundamental da Arquitetura Orientada a Serviços (SOA) que justifica sua adoção em ambientes corporativos integrados.
Considere a seguinte instrução SQL executada em um banco de dados relacional:
SELECT departamento, COUNT(*) AS total
FROM funcionarios
WHERE salario > 5000
GROUP BY departamento
HAVING COUNT(*) > 10;
Essa consulta retorna os departamentos com mais de dez funcionários cujos salários são superiores a cinco mil reais, apresentando o nome do departamento e a quantidade correspondente, configurando uma operação de:
Após a implantação de uma nova versão de um serviço interno, os usuários reportaram indisponibilidade parcial, e a equipe responsável identificou que a falha já havia sido registrada anteriormente como causa raiz de outro incidente, mas não foi corrigida de forma permanente, levando à recorrência do mesmo sintoma, caracterizando a necessidade prioritária do processo de:
Durante uma auditoria de segurança, foi identificado que um campo de login de uma aplicação web aceita a entrada ‘ OR ‘1’ = ’1 e retorna acesso não autorizado ao sistema, indicando que a consulta enviada ao banco de dados foi alterada devido à ausência de sanitização de parâmetros fornecidos pelo usuário, configurando um ataque do tipo:
Um tipo de software malicioso foi identificado em um sistema corporativo após a constatação de que dados sensíveis, como credenciais de acesso e histórico de navegação, estavam sendo coletados secretamente e transmitidos a um servidor remoto controlado por um terceiro não autorizado, sem alterar arquivos do sistema nem criptografar dados do usuário, caracterizando-se como: