{"subject_id":"3a3cc48d009981a796a0fa646ae50eaf","topico":"Arquiteturas: camadas, monólito, SOA, microsserviços, EDA, serverless","stems":["A respeito de arquitetura, design e testes de software, julgue os itens seguintes.","identidade e estado, mas não tem comportamento. No que se refere aos protocolos e ao funcionamento básico da internet, julgue os itens a seguir.","Julgue os itens que se seguem, de acordo com os normativos relacionados à Plataforma Digital do Poder Judiciário Brasileiro (PDPJ-Br).","Acerca de arquitetura de aplicações, julgue os próximos itens.","No que se refere a bancos de dados, julgue os itens a seguir.","A respeito de arquiteturas de microsserviços, julgue os itens que se seguem.","Acerca de domain‐driven design, de especificação OpenAPI e de design patterns, julgue os itens a seguir.","Julgue os itens a seguir, em relação aos serviços de mensageria, webhooks e JSON.","A respeito dos conceitos de DDD (domain-driven design) e de arquitetura serverless, julgue os itens a seguir.","Julgue os itens a seguir, referentes a ferramentas de integração assíncrona, microsserviços, arquitetura orientada a serviços e gerenciamento de serviços.","Com base no disposto na Resolução CNJ n.º 522/2023, que aprova o modelo de requisitos para sistemas informatizados de gestão de processos e documentos do Poder Judiciário (MoReq-Jus), julgue os seguintes itens.","Acerca de arquitetura e tecnologias de sistemas de informações e de desenvolvimento de integrações, julgue os seguintes itens.","No que concerne a Java, Zuul e Spring Cloud, julgue os itens a seguir.","Acerca de arquitetura de software, julgue os itens a seguir.","Determinada aplicação possui backend que deve enviar notificações aos usuários finais por meio de dois canais: emails e notificações push para o aplicativo móvel. A aplicação publica a notificação para duas filas (email e push), uma para cada canal. Os programas que gerenciam emails e notificações push se inscrevem na fila em que estão interessados e lidam com as notificações assim que elas chegam. Com base nessa situação hipotética, julgue o item subsequente, relativo a RabbitMQ.","A respeito da plataforma digital do Poder Judiciário brasileiro (PDPJ-Br), julgue os itens a seguir.","Com relação ao padrão MVC (Model View Controller), a padrões de projeto e a orientação a objetos, julgue os itens subsequentes.","A respeito de sistemas gerenciadores de banco de dados, julgue o item subsequente.","A respeito de arquitetura de software, julgue os itens que se seguem.","Conforme a Portaria CNJ n.º 253/2020, que institui os critérios e as diretrizes técnicas para o processo de desenvolvimento de módulos e serviços na PDPJ-Br, e a Portaria CNJ n.º 131/2021, que institui o grupo revisor de código-fonte das soluções da PDPJ-Br, julgue os itens a seguir.","A respeito da arquitetura de aplicações e serviços para ambiente web, julgue os próximos itens.","Em relação à linguagem de programação Java, à arquitetura distribuída de microsserviços e à biblioteca Flyway, julgue os próximos itens.","A respeito de arquitetura de aplicações, julgue os próximos itens.","Julgue os itens a seguir, em relação ao desenvolvimento de software.","Acerca das tecnologias que atendem a PDPJ-Br, julgue os próximos itens.","A respeito de linguagens de programação, julgue os próximos itens.","Acerca da arquitetura TCP/IP e dos seus protocolos e padrões de comunicação segura, julgue os itens a seguir.","Julgue os itens seguintes, relativos a funções de operação e gerência de redes, sistemas operacionais de rede, ambientes Linux e Windows e arquitetura cliente-servidor.","A respeito de microsserviços, julgue os itens seguintes.","Julgue os próximos itens, a respeito de arquitetura e engenharia de software.","A respeito da arquitetura de aplicações para ambiente web e da arquitetura em camadas, julgue os próximos itens.","Acerca da arquitetura de aplicações para ambiente web e de arquitetura em camadas, julgue os itens a seguir.","Julgue os itens que se seguem relativos à arquitetura de microsserviços, ao domain-driven design e a design patterns.","De acordo com a Portaria SGD/MGI n.º 2.715/2023, julgue os itens subsequentes.","Julgue os itens subsecutivos, relativos à arquitetura orientada a serviços (SOA), à arquitetura distribuída, à especificação de web services e a dispositivos móveis.","Em relação a arquiteturas e tecnologias de sistemas de informação, julgue os itens subsecutivos.","Julgue os próximos itens, relativos a arquitetura de software.","Julgue os itens a seguir, relativos a arquitetura MVC e princípios de projeto.","No que se refere à arquitetura cliente‐servidor, julgue os itens subsecutivos.","Julgue os próximos itens, relativos à Plataforma Digital do Poder Judiciário (PDPJ-Br), ao Modelo de Requisitos para Sistemas Informativos de Gestão de Processos e Documentos do Poder Judiciário (MoReq-Jus) e à Estratégia Nacional de Segurança Cibernética do Poder Judiciário (ENSEC-PJ).","Em relação a APIs, serviços de autenticação, webhook, PostgreSQL e microsserviços, julgue os itens a seguir.","Acerca de gerenciamento de API, de RESTful e de ITIL 4, julgue os itens subsequentes.","Em relação a sistemas distribuídos, julgue os itens seguintes.","Julgue os itens a seguir, a respeito de desenvolvimento web em Java e de interoperabilidade de sistemas.","O gerenciamento de processos de negócios utiliza um arcabouço de ferramentas e tecnologias que visam ao controle, à automatização e à melhoria dos processos. Com relação a esse tema, julgue os próximos itens.","A respeito de arquitetura de software, julgue os itens a seguir.","No que se refere a mensageria, julgue os próximos itens.","A área de tecnologia da informação e comunicação (TIC) do Banco Central do Brasil (BCB) necessita disponibilizar determinado aplicativo para transações digitais que o BCB vem desenvolvendo, utilizando contêineres no Kubernetes junto ao seu provedor de nuvem. Existe o requisito de que essa aplicação seja gerida no modo serverless. Tendo como referência a situação hipotética apresentada, julgue os próximos itens, relativos a microsserviços e serverless.","Acerca de servidores de aplicação, julgue os próximos itens.","Com relação ao desenvolvimento Java EE, a padrões e antipadrões de projeto Java EE, a software de versionamento e guarda de fontes e a conceitos de arquitetura monolítica e microsserviços, julgue os itens subsequentes.","Com base em arquitetura de TI, julgue os itens subsequentes.","Com relação à arquitetura de software, julgue os próximos itens.","Acerca de contêineres, microsserviços e APIs, julgue os itens a seguir.","Com relação a conceitos de SOA e de webservice, julgue os próximos itens.","Com relação à interoperabilidade de sistemas, julgue os itens a seguir.","Acerca dos protocolos da família TCP/IP, dos protocolos usados nas redes sem fio e dos conceitos de routing e switching, julgue os itens subsequentes.","Considerando a figura a seguir, julgue os próximos itens, acerca dos conceitos de DevOps.","Com relação a gerenciamento de filas, SOA, mensageria e barramento de serviços, julgue os itens a seguir.","A respeito de tecnologias de integração, julgue os próximos itens.","Acerca dos conceitos referentes à arquitetura de aplicações, julgue os itens a seguir.","Julgue os seguintes itens, relativos a contêineres e microsserviços.","A respeito de orquestração de serviços e API gateway, julgue os itens seguintes.","Julgue os próximos itens, relativos a arquitetura de software e à ITIL 4.","A respeito de sistemas distribuídos, julgue os itens a seguir.","A respeito de topologias, arquiteturas e protocolos de redes de comunicação, julgue os itens que se seguem.","Considere que uma arquitetura deva ser definida de acordo com os seguintes requisitos. I A arquitetura deve ser em camadas, de modo que uma camada forneça serviços à camada acima dela. II A arquitetura deve permitir que os dados sejam alterados de forma independente de sua representação, e vice-versa. III A arquitetura deve permitir várias maneiras de visualizar os dados e de interagir com eles. A partir dessa situação hipotética, julgue os itens subsequentes, a respeito de arquitetura de software.","Acerca da arquitetura de aplicações para ambiente web, julgue o próximo item.","Com relação à arquitetura MVC (model-view-controller), julgue os itens a seguir.","Acerca de arquitetura orientada a serviços (SOA), julgue os itens seguintes.","A respeito de mensageria e de integração entre plataformas altas e baixas, julgue os itens a seguir.","Acerca de microsserviços, julgue os itens subsecutivos.","Julgue os itens subsequentes, a respeito da arquitetura cliente-servidor tradicional.","Com relação ao desenvolvimento de software seguro e à arquitetura de aplicativos, julgue os itens a seguir.","Com relação à arquitetura em três camadas e suas características, julgue os itens que se seguem.","Acerca da UML, de padrões de projeto e de arquitetura, julgue os itens seguintes.","Com relação a desenvolvimento de software, julgue os itens a seguir.","Acerca dos fundamentos de comunicação de dados, dos sistemas de transmissão digital e analógica e das arquiteturas OSI e TCP/IP, julgue os itens subsequentes.","Julgue os itens que se seguem, a respeito de arquitetura e tecnologias de sistemas de informação.","Acerca da integração de sistemas e da implantação de uma arquitetura orientada a serviços (SOA, na sigla em inglês), julgue os itens seguintes.","Julgue os próximos itens, em relação aos conceitos da arquitetura cliente-servidor e de Internet e intranet.","Julgue os itens seguintes, relativos a ambiente web e camadas.","Julgue os itens a seguir, concernentes a microsserviços e arquiteturas de integração.","Julgue os itens a seguir, relativos a arquiteturas de integração.","Julgue os itens subsequentes, referentes a Domain Driven Design e a Design Patterns.","Julgue os itens que se seguem, relativos a arquitetura em camadas.","Com relação a redes e serviços, julgue os itens subsequentes.","Em relação a desenvolvimento de aplicativos, julgue os seguintes itens.","Com relação a sistemas gerenciadores de bancos de dados (SGBD), julgue os próximos itens.","A respeito da arquitetura cliente-servidor, julgue os seguintes itens.","Com relação aos conceitos básicos de arquitetura e tecnologias de sistemas de informação, julgue os itens a seguir.","Acerca da arquitetura orientada a serviço (SOA), julgue os itens que se seguem.","A propósito dos modelos OSI e TCP/IP, ambientes cliente/servidor e das infraestruturas de computação em nuvem, julgue os próximos itens.","Acerca de APS (Application Platform Suite) e de tecnologia Middleware, julgue os itens subsecutivos.","Julgue os itens subsequentes, relativos a SOA, web services e servidor web.","Web service é um software que, armazenado em um computador, pode ser acessado por outro software em outro computador por meio de uma rede. A partir dessa afirmação, julgue os itens subsequentes.","A Arquitetura Orientada a Serviços (SOA), no cenário dos modelos arquiteturais modernos, enfatiza o reúso como elemento chave para a maximização dos resultados em tecnologia da informação. A catalogação e a gerência dos ativos de software da organização na condição de serviços de aplicativos são os pilares em meio aos quais devem se sustentar essa nova arquitetura. A esse respeito, julgue os próximos itens."],"questions":[{"id":"65dd9eece5f0","number":52,"stem":0,"statement":"Os microsserviços devem ser submetidos a testes de código, que verificam a unidade e a integração, e a testes de carga, que simulam mudanças na quantidade de acionamento.","answer":"C","source":{"slug":"INFRASA_26_ANALISTA","ano":2026},"explanation":{"verdict_reason":"Como o microsserviço é implantado sozinho mas vive em rede, sua verificação combina duas frentes: testes de código, que cobrem a unidade isoladamente e a integração com os serviços e recursos de que depende, e testes de carga, que submetem o serviço a variações no volume de acionamentos para verificar comportamento sob demanda e o dimensionamento. O item descreve essa combinação.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Testes de unidade, integração e carga em microsserviços","citation":null,"trap_note":"Teste de carga mede comportamento sob volume esperado e crescente; teste de estresse leva além do limite para achar o ponto de ruptura. A banca troca essas duas definições com frequência."}},{"id":"0bdba686a30c","number":53,"stem":1,"statement":"Na arquitetura cliente/servidor, o cliente se encarrega de ofertar os serviços.","answer":"E","source":{"slug":"TELEBRAS_25","ano":2025},"explanation":{"verdict_reason":"Os papéis estão trocados: quem oferta serviços é o servidor, e o cliente é quem os solicita e consome. Essa assimetria é o que define o modelo.","distortion_type":"inversao","distorted_span":"o cliente se encarrega de ofertar os serviços","corrected_statement":"Na arquitetura cliente/servidor, o servidor se encarrega de ofertar os serviços.","concept":"Quem oferta e quem solicita","citation":null,"trap_note":"Item curto é onde a inversão simples se esconde melhor. Antes de julgar, diga em voz alta quem pede e quem atende."}},{"id":"df8754b8c644","number":54,"stem":2,"statement":"Se um novo serviço for projetado para a PDPJ-Br com o uso do modelo arquitetural de microsserviços, então, conforme normativo do CNJ, na interação entre os microsserviços, deve-se adotar o modelo de coreografia, por meio de um serviço centralizado de mensageria, o que garante o desacoplamento.","answer":"C","source":{"slug":"TJ_PA_25_SERVIDOR","ano":2025},"explanation":{"verdict_reason":"Na coreografia, cada microsserviço reage a mensagens publicadas por outros sem um maestro que conheça o processo inteiro, e o serviço de mensageria funciona como infraestrutura comum de trânsito, não como controlador da lógica. É por isso que essa escolha é a que preserva o desacoplamento entre os módulos da plataforma.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Coreografia por mensageria na PDPJ-Br","citation":"Portaria CNJ n.º 253/2020","trap_note":"Orquestração tem maestro e ordem preestabelecida; coreografia tem eventos e nenhum regente. Um barramento de mensageria centralizado não transforma coreografia em orquestração: ele transporta, não decide."}},{"id":"37ca04ceaf3d","number":65,"stem":3,"statement":"Um microsserviço pode ter diversas finalidades, desde que sejam escritas na mesma linguagem e estejam no mesmo servidor.","answer":"E","source":{"slug":"TELEBRAS_25","ano":2025},"explanation":{"verdict_reason":"Microsserviços não impõem linguagem comum nem servidor comum: cada serviço é implantado de forma independente, pode ser escrito na tecnologia mais adequada e executa em processo e host próprios. A condição imposta pelo item nega justamente a autonomia que define o modelo.","distortion_type":"relacao_causal","distorted_span":"desde que sejam escritas na mesma linguagem e estejam no mesmo servidor","corrected_statement":"Um microsserviço é responsável por uma finalidade de negócio bem delimitada, podendo ser escrito em linguagem própria e implantado de forma independente dos demais.","concept":"Autonomia tecnológica e de implantação","citation":null,"trap_note":"A oração iniciada por desde que costuma inventar uma condição que o modelo não impõe. Em microsserviços, toda exigência de uniformidade tecnológica é suspeita."}},{"id":"957fa91795d2","number":71,"stem":4,"statement":"Em um SGBD implementado em três camadas, a camada intermediária é responsável por acessar fisicamente os dados armazenados.","answer":"E","source":{"slug":"TELEBRAS_25","ano":2025},"explanation":{"verdict_reason":"Na organização em três camadas, quem acessa fisicamente os dados é a camada de dados, isto é, o servidor de banco de dados. A camada intermediária processa regras de negócio e intermedeia as requisições entre o cliente e o repositório, sem tocar o armazenamento físico.","distortion_type":"atribuicao_errada","distorted_span":"a camada intermediária é responsável por acessar fisicamente os dados armazenados","corrected_statement":"Em um SGBD implementado em três camadas, a camada de dados é responsável por acessar fisicamente os dados armazenados.","concept":"Papel da camada intermediária","citation":null,"trap_note":"A camada do meio media; quem toca o disco é a de baixo. Vale para SGBD, para aplicações web e para qualquer arranjo em três camadas."}},{"id":"b61c0b8d26ae","number":76,"stem":5,"statement":"Durante a inicialização, microsserviços configurados como clientes Eureka registram-se automaticamente no servidor Eureka, fornecendo metadados, como nome do serviço, endereço IP ou hostname, e porta.","answer":"C","source":{"slug":"TJ_PA_25_SERVIDOR","ano":2025},"explanation":{"verdict_reason":"É assim que funciona o registro de serviços no padrão do Eureka: ao iniciar, a instância cliente envia ao servidor seus metadados — nome do serviço, endereço ou hostname e porta — e passa a renovar esse registro periodicamente. Sem esse autorregistro, nenhum outro serviço conseguiria localizá-la, já que endereços mudam a cada implantação.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Autorregistro de clientes no servidor de descoberta","citation":null,"trap_note":"Em descoberta de serviços, quem registra é a própria instância, ao subir. Item que atribua o registro a um operador humano ou ao balanceador troca o dono da ação."}},{"id":"5c9c655c130a","number":78,"stem":6,"statement":"Em domain‐driven design, a infrastructure layer deve conter a lógica de negócios central e coordenar as regras de domínio, enquanto a domain layer é responsável apenas por implementar detalhes técnicos, como conexões com bancos de dados e chamadas a APIs externas.","answer":"E","source":{"slug":"TJ_PA_25_SERVIDOR","ano":2025},"explanation":{"verdict_reason":"Os papéis estão trocados. No domain-driven design, a camada de domínio é o coração do sistema: guarda entidades, objetos de valor e regras de negócio. A camada de infraestrutura é que implementa os detalhes técnicos — persistência, mensageria, chamadas externas — servindo ao domínio, e nunca o contrário.","distortion_type":"inversao","distorted_span":"a infrastructure layer deve conter a lógica de negócios central e coordenar as regras de domínio","corrected_statement":"Em domain-driven design, a domain layer deve conter a lógica de negócios central e coordenar as regras de domínio, enquanto a infrastructure layer é responsável apenas por implementar detalhes técnicos, como conexões com bancos de dados e chamadas a APIs externas.","concept":"Camadas do DDD: domínio x infraestrutura","citation":null,"trap_note":"Em qualquer arquitetura que isole o domínio (DDD, hexagonal, limpa), a dependência aponta da infraestrutura para o domínio. Item em que o domínio serve à infraestrutura está invertido."}},{"id":"60196c4575b4","number":87,"stem":7,"statement":"O RabbitMQ permite a comunicação assíncrona entre aplicações por meio de filas, em que producers enviam mensagens e consumers as recebem, o que garante entrega confiável em sistemas distribuídos.","answer":"C","source":{"slug":"TJ_PA_25_SERVIDOR","ano":2025},"explanation":{"verdict_reason":"O RabbitMQ é um intermediário de mensagens que desacopla produtores de consumidores no tempo: o produtor publica na fila e segue, o consumidor retira quando puder. A fila persistente somada à confirmação de entrega é o que sustenta a comunicação assíncrona confiável entre componentes distribuídos.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Mensageria assíncrona com filas","citation":null,"trap_note":"Produtor publica, fila guarda, consumidor retira. Item que faça o produtor esperar a resposta do consumidor descaracteriza a mensageria assíncrona."}},{"id":"9023519ada02","number":92,"stem":8,"statement":"Ao se adicionar um evento como um gatilho HTTP ou de fila à função lambda, o serverless exige que toda a infraestrutura, como endpoints no API gateway, já esteja provisionada.","answer":"E","source":{"slug":"SUSEP_25","ano":2025},"explanation":{"verdict_reason":"É o contrário do que caracteriza o modelo: no serverless o provedor provisiona os recursos sob demanda, quando o gatilho ocorre, e a própria definição da função cria e configura a integração — o endpoint no API gateway, a assinatura da fila. Não há infraestrutura previamente alocada à espera de execução.","distortion_type":"inversao","distorted_span":"o serverless exige que toda a infraestrutura, como endpoints no API gateway, já esteja provisionada","corrected_statement":"Ao se adicionar um evento como um gatilho HTTP ou de fila à função lambda, o serverless provisiona sob demanda a infraestrutura necessária, como endpoints no API gateway.","concept":"Provisionamento sob demanda no serverless","citation":null,"trap_note":"Provisionamento prévio e capacidade reservada contradizem o serverless. Sempre que o item exigir infraestrutura pronta antes do evento, verifique se não é o modelo tradicional disfarçado."}},{"id":"59e860c4ec07","number":93,"stem":8,"statement":"No DDD, o ACL (anti-corruption layer) é utilizado para a tradução de modelos entre bounded contexts, mas sua implementação exige que todas as comunicações sejam assíncronas, sendo o seu uso inviabilizado em sistemas síncronos.","answer":"E","source":{"slug":"SUSEP_25","ano":2025},"explanation":{"verdict_reason":"A camada anticorrupção é um tradutor entre modelos de contextos delimitados diferentes, e essa tradução independe do modo de comunicação: pode acontecer em chamada síncrona a um serviço externo tanto quanto no consumo de mensagens. Exigir assincronia em todos os casos cria uma restrição que o padrão não tem.","distortion_type":"generalizacao","distorted_span":"exige que todas as comunicações sejam assíncronas","corrected_statement":"No DDD, o ACL (anti-corruption layer) é utilizado para a tradução de modelos entre bounded contexts, podendo ser implementado tanto em comunicações síncronas quanto assíncronas.","concept":"ACL traduz modelos entre contextos delimitados","citation":null,"trap_note":"Padrão de tradução de modelo não dita meio de transporte. Quando o item acopla um padrão de projeto a uma única forma de comunicação, procure o contraexemplo."}},{"id":"1689e8137c84","number":96,"stem":9,"statement":"No NATS CLI, um contexto é uma configuração nomeada que guarda definições como URLs de servidores, credenciais e certificados, o que facilita a alternância entre diferentes ambientes de conexão.","answer":"C","source":{"slug":"MP_CE_25_SERVIDOR","ano":2025},"explanation":{"verdict_reason":"No NATS CLI, contexto é exatamente isso: uma configuração nomeada que agrupa URL do servidor, credenciais e certificados, para que o operador alterne entre ambientes sem reescrever parâmetros a cada comando. É o mesmo conceito de perfil nomeado adotado por outras ferramentas de linha de comando.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Contexto no NATS CLI é perfil de conexão","citation":null,"trap_note":"Contexto, perfil e profile em ferramentas de linha de comando designam sempre a mesma ideia: conjunto nomeado de parâmetros de conexão. Item que os transforme em algo que altera o comportamento do servidor está errado."}},{"id":"843a6748cda4","number":97,"stem":9,"statement":"Um API gateway é responsável pelo armazenamento de dados temporários, e, apesar de executar várias tarefas transversais, não realiza algumas funções, tais como terminação de SSL, TLS mútuo e limitação de taxa.","answer":"E","source":{"slug":"MP_CE_25_SERVIDOR","ano":2025},"explanation":{"verdict_reason":"Terminação de SSL, TLS mútuo e limitação de taxa estão entre as funções transversais clássicas de um API gateway, e não entre as que ele deixa de fazer. Sua razão de existir também não é armazenar dados temporários: o cache é acessório diante do papel de ponto único de entrada que roteia, autentica, autoriza e controla o tráfego das APIs.","distortion_type":"inversao","distorted_span":"não realiza algumas funções, tais como terminação de SSL, TLS mútuo e limitação de taxa","corrected_statement":"Um API gateway é responsável pelo roteamento das chamadas às APIs e executa várias tarefas transversais, tais como terminação de SSL, TLS mútuo e limitação de taxa.","concept":"Funções transversais do API gateway","citation":null,"trap_note":"Quando o item lista corretamente três funções e afirma que o componente não as executa, a lista é a pista: a banca costuma negar exatamente aquilo que o componente faz de mais característico."}},{"id":"4c5c397a59a1","number":97,"stem":10,"statement":"Os sistemas informatizados de gestão de processos e documentos utilizados em atividades judiciais e administrativas dos órgãos integrantes do Poder Judiciário, à exceção dos que forem segmentados em aplicações, módulos e microsserviços, deverão atender aos requisitos do MoReq-Jus.","answer":"E","source":{"slug":"STM_25","ano":2025},"explanation":{"verdict_reason":"A resolução alcança os sistemas informatizados de gestão de processos e documentos usados nas atividades judiciais e administrativas dos órgãos do Poder Judiciário, inclusive quando segmentados em aplicações, módulos e microsserviços. A forma de decompor o sistema não altera a obrigação de atender ao MoReq-Jus — o requisito recai sobre a gestão documental, não sobre o estilo arquitetural adotado. O item inventa uma dispensa que a norma não concede.","distortion_type":"inversao","distorted_span":"à exceção dos que forem segmentados em aplicações, módulos e microsserviços","corrected_statement":"Os sistemas informatizados de gestão de processos e documentos utilizados em atividades judiciais e administrativas dos órgãos integrantes do Poder Judiciário, inclusive os que forem segmentados em aplicações, módulos e microsserviços, deverão atender aos requisitos do MoReq-Jus.","concept":"MoReq-Jus alcança sistemas segmentados em microsserviços","citation":"Resolução CNJ n.º 522/2023 (MoReq-Jus)","trap_note":"Quando a norma diz inclusive e o item escreve exceto, a distorção está na palavra, não no conteúdo. Em item de norma, leia primeiro as expressões de inclusão e exclusão."}},{"id":"f6a16fdb3221","number":109,"stem":11,"statement":"A arquitetura de software em sistemas distribuídos costuma ser organizada em aplicações encapsuladas, comumente emprega o modelo MVC (model-view-controller) para separar as responsabilidades de apresentação, processamento e acesso a dados, ao custo de maiores manutenção, escalabilidade e flexibilidade.","answer":"E","source":{"slug":"MP_CE_25_SERVIDOR","ano":2025},"explanation":{"verdict_reason":"Separar apresentação, processamento e acesso a dados não é um preço pago em manutenção, escalabilidade e flexibilidade: é justamente o que se compra com a separação. O item descreve a estrutura corretamente e inverte o sinal do resultado, apresentando como custo aquilo que é o benefício do padrão.","distortion_type":"inversao","distorted_span":"ao custo de maiores manutenção, escalabilidade e flexibilidade","corrected_statement":"A arquitetura de software em sistemas distribuídos costuma ser organizada em aplicações encapsuladas, comumente emprega o modelo MVC (model-view-controller) para separar as responsabilidades de apresentação, processamento e acesso a dados, com o benefício de maiores manutenibilidade, escalabilidade e flexibilidade.","concept":"Separação de responsabilidades: benefício, não custo","citation":null,"trap_note":"A banca descreve certo o mecanismo e inverte o sinal da consequência. Leia a oração final procurando a palavra custo, prejuízo ou perda onde deveria estar ganho."}},{"id":"8e28b30e54d4","number":52,"stem":12,"statement":"Como um aplicativo de serviço de borda, o Zuul é construído para permitir roteamento dinâmico e monitoramento que lida com solicitações e executa o roteamento de aplicativos de microsserviços, funcionando como porta de entrada para os pedidos.","answer":"C","source":{"slug":"CPNUJE_24","ano":2024},"explanation":{"verdict_reason":"Serviço de borda é o componente que fica entre o mundo externo e a malha de microsserviços, funcionando como porta de entrada única. O Zuul cumpre esse papel: recebe as solicitações, decide dinamicamente para qual serviço e instância encaminhá-las e monitora o tráfego que passa por ele. É a definição que a própria documentação do projeto apresenta.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Zuul como serviço de borda e porta de entrada","citation":null,"trap_note":"Porta de entrada única é a assinatura do API gateway, qualquer que seja o produto. Item que descreva o cliente chamando diretamente cada instância e ainda assim fale em gateway suprimiu a função do componente."}},{"id":"a7f425de9322","number":53,"stem":13,"statement":"Um dos objetivos da arquitetura de software é definir como será a componentização, bem como a organização desses componentes em um sistema.","answer":"C","source":{"slug":"TRF6_24","ano":2024},"explanation":{"verdict_reason":"A arquitetura de software responde por duas decisões básicas: em que componentes o sistema será dividido e como eles se organizam e se relacionam entre si, inclusive as regras de dependência e as interfaces entre eles. Definir a componentização e sua organização é, portanto, objetivo próprio da atividade.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Arquitetura define componentes e sua organização","citation":null,"trap_note":"Arquitetura trata de estrutura, componentes e relações; projeto detalhado trata do interior de cada componente. Item que exija da arquitetura decisões de implementação mudou o nível de abstração."}},{"id":"a66921fe628a","number":57,"stem":14,"statement":"Na situação hipotética apresentada, o RabbitMQ poderia ser utilizado como message broker, pois essa solução permite intermediar a comunicação entre diferentes componentes de um sistema, permitindo que eles se comuniquem de forma assíncrona e desacoplada, e pode, nesse caso, realizar manutenção nos gerenciadores de notificação sem interromper todo o serviço.","answer":"C","source":{"slug":"CPNUJE_24","ano":2024},"explanation":{"verdict_reason":"O cenário descrito é exatamente o de um intermediário de mensagens: a aplicação publica a notificação nas filas e não conhece quem vai consumi-la; cada gerenciador se inscreve na fila que lhe interessa e processa no seu ritmo. Como as duas pontas só conversam pelo broker, é possível parar, corrigir ou atualizar um gerenciador sem interromper o restante do serviço — as mensagens ficam na fila esperando. O RabbitMQ implementa esse papel.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Broker de mensagens: comunicação assíncrona e desacoplada","citation":null,"trap_note":"O benefício operacional do broker é a manutenção sem parada geral: a fila acumula enquanto o consumidor está fora. Reconheça o padrão pelo enunciado, ainda que o produto citado mude de nome."}},{"id":"418a3a62c587","number":60,"stem":15,"statement":"A solução RabbitMQ para a troca de mensagens entre serviços, utilizada na PDPJ-Br, permite a troca de mensagens de forma síncrona e em tempo real.","answer":"E","source":{"slug":"CNJ_24","ano":2024},"explanation":{"verdict_reason":"O RabbitMQ é um intermediário de mensagens, e a razão de adotá-lo é justamente desacoplar produtor e consumidor no tempo: o remetente publica na fila e segue sem esperar, e o destinatário consome quando estiver disponível. Descrever a troca como síncrona e em tempo real nega o modelo de filas e o motivo pelo qual ele é usado para integrar serviços.","distortion_type":"inversao","distorted_span":"de forma síncrona e em tempo real","corrected_statement":"A solução RabbitMQ para a troca de mensagens entre serviços, utilizada na PDPJ-Br, permite a troca de mensagens de forma assíncrona e desacoplada.","concept":"Mensageria é assíncrona por definição","citation":null,"trap_note":"Fila e assincronismo são inseparáveis. Item que prometa comunicação síncrona por meio de broker de mensagens trocou o mecanismo, ainda que o produto citado exista e seja o correto."}},{"id":"9981d6314127","number":62,"stem":16,"statement":"No padrão MVC, o model encapsula a lógica da aplicação, sendo responsável por processar e gerenciar os dados de forma independente da interface do usuário e da camada de apresentação.","answer":"C","source":{"slug":"MP_TO_24_SERVIDOR","ano":2024},"explanation":{"verdict_reason":"O modelo é a parte do MVC que concentra dados e lógica de aplicação, e faz isso sem conhecer a interface: ele não sabe se será exibido em página, aplicativo móvel ou relatório. Essa independência é o que permite reaproveitar o mesmo modelo em várias apresentações.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Independência do modelo em relação à interface","citation":null,"trap_note":"O modelo não conhece a visão; a visão é que consulta o modelo. Item que faça o modelo formatar tela ou tratar requisição inverte a direção da dependência."}},{"id":"f6d92eeeea95","number":62,"stem":17,"statement":"A arquitetura de bancos de dados cliente-servidor é caracterizada pela divisão do processamento entre sistemas, e sua implementação requer soluções de software que possibilitem confirmar transações, desfazer transações e disponibilizar linguagens de consultas.\n\nSELECT * FROM Produtos\nWHERE Preco > 0.00;","answer":"C","source":{"slug":"TRF6_24","ano":2024},"explanation":{"verdict_reason":"No modelo cliente-servidor de banco de dados, o cliente formula consultas e trata a apresentação, enquanto o servidor executa o processamento sobre os dados. Para que isso funcione, o servidor precisa oferecer controle transacional — confirmar e desfazer transações — e uma linguagem de consulta que o cliente possa submeter.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Transações e linguagem de consulta no SGBD cliente-servidor","citation":null,"trap_note":"Confirmar, desfazer e consultar são exigências do servidor de banco, não do cliente. Divisão de processamento não significa divisão do controle transacional."}},{"id":"b1f8b634a3b6","number":62,"stem":18,"statement":"Em SOA, o princípio de granularidade define que os serviços devem ter baixo acoplamento e devem ser stateless.","answer":"E","source":{"slug":"TRT10_24","ano":2024},"explanation":{"verdict_reason":"Baixo acoplamento e ausência de estado são de fato princípios da SOA, mas cada um é um princípio próprio. Granularidade trata de outra coisa: da abrangência funcional do serviço, isto é, do quanto de negócio ele encapsula — e em SOA a granularidade é grossa, de processo de negócio. O item pega o enunciado de dois princípios e o coloca sob o nome de um terceiro.","distortion_type":"troca_de_termo","distorted_span":"o princípio de granularidade","corrected_statement":"Em SOA, os princípios de acoplamento fraco e de ausência de estado definem que os serviços devem ter baixo acoplamento e devem ser stateless.","concept":"Granularidade é abrangência funcional do serviço","citation":null,"trap_note":"Item que nomeia um princípio e descreve outro é a variante mais barata da troca de termo. Leia a definição, decida que princípio ela descreve e só depois olhe o nome escrito."}},{"id":"827195db9cb3","number":63,"stem":19,"statement":"A documentação técnica referente à API dos microsserviços desenvolvidos na PDPJ-Br deve seguir o padrão Swagger 2.0, a fim de garantir a compatibilidade com as especificações legadas dos sistemas antigos.","answer":"E","source":{"slug":"TRF6_24","ano":2024},"explanation":{"verdict_reason":"A documentação das APIs dos microsserviços da PDPJ-Br deve seguir a especificação OpenAPI em sua versão 3, e não o antigo Swagger 2.0. A justificativa apresentada também não se sustenta: o padrão de documentação é escolhido para uniformizar a publicação e o consumo das APIs da plataforma, não para preservar compatibilidade com sistemas legados.","distortion_type":"numero_errado","distorted_span":"o padrão Swagger 2.0","corrected_statement":"A documentação técnica referente à API dos microsserviços desenvolvidos na PDPJ-Br deve seguir a especificação OpenAPI 3, a fim de padronizar a publicação e o consumo das APIs da plataforma.","concept":"OpenAPI 3 como padrão de documentação de API","citation":"Portaria CNJ n.º 253/2020","trap_note":"Versão de especificação é alvo fácil: Swagger 2.0 e OpenAPI 3 nomeiam gerações diferentes do mesmo padrão. Confira a versão e, logo depois, a finalidade alegada."}},{"id":"7d902167d1eb","number":63,"stem":20,"statement":"A adoção de tecnologias que propiciem resiliência e tolerância a falhas é característica de uma arquitetura de aplicações baseada em microsserviços.","answer":"C","source":{"slug":"MPO_24","ano":2024},"explanation":{"verdict_reason":"Em microsserviços, a chamada entre serviços atravessa a rede, e a rede falha. Por isso resiliência e tolerância a falhas deixam de ser recurso opcional e passam a ser exigência da arquitetura, materializada em disjuntores, novas tentativas, tempos limite e degradação controlada.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Resiliência como requisito da arquitetura distribuída","citation":null,"trap_note":"O que é opcional no monólito vira obrigatório no distribuído: tempo limite, nova tentativa, disjuntor e rastreamento. Itens que afirmem essa exigência costumam ser certos."}},{"id":"8aa525942b2c","number":64,"stem":21,"statement":"A solução Flyway permite que seja realizado o controle de versão de código de banco de dados, estendendo o DevOps aos bancos de dados de modo a permitir que se acompanhem as alterações e se aprimore a confiabilidade das implantações de software.","answer":"C","source":{"slug":"STJ_24","ano":2024},"explanation":{"verdict_reason":"O Flyway aplica ao banco de dados a mesma disciplina que o controle de versão dá ao código-fonte: cada alteração de esquema vira um script de migração versionado, aplicado em ordem, e o próprio Flyway mantém uma tabela de histórico do que já foi executado em cada ambiente. É isso que estende o DevOps ao banco — o esquema deixa de ser etapa manual fora do pipeline e passa a ser implantado junto com a aplicação, de forma repetível e auditável.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Flyway: versionamento do esquema de banco por migrações","citation":null,"trap_note":"Ferramenta de migração (Flyway, Liquibase) é sempre controle de versão do esquema. Item que a descreva fazendo cópia de segurança, replicação ou ajuste de desempenho trocou a categoria da ferramenta."}},{"id":"d8f079ba022c","number":64,"stem":22,"statement":"Um gateway de API funciona como um portfólio de serviços, em que o usuário escolhe e implementa a chamada do serviço necessário.","answer":"E","source":{"slug":"MPO_24","ano":2024},"explanation":{"verdict_reason":"O gateway de API é ponto único de entrada: o cliente faz uma chamada e é o gateway que roteia, agrega respostas e aplica autenticação, autorização, limitação de taxa, cache e terminação TLS. Ele não é uma vitrine em que o usuário navega, escolhe e implementa a chamada de um serviço — isso descreve um catálogo ou registro de serviços, que cumpre função de publicação e descoberta, não de intermediação do tráfego.","distortion_type":"troca_de_termo","distorted_span":"funciona como um portfólio de serviços, em que o usuário escolhe e implementa a chamada do serviço necessário","corrected_statement":"Um gateway de API funciona como ponto único de entrada, que roteia as chamadas aos serviços e concentra autenticação, autorização, limitação de taxa e cache.","concept":"API gateway roteia; catálogo publica e descobre","citation":null,"trap_note":"Separe os papéis dos satélites de microsserviços: gateway intermedeia a chamada, registro guarda onde cada instância está, catálogo expõe o que existe. A banca troca um pelo outro mantendo a frase plausível."}},{"id":"ba4d1c8d80cc","number":64,"stem":20,"statement":"Na arquitetura de microsserviços, o problema de memory leak em um dos serviços não derruba a aplicação inteira, pois esses serviços estão isolados uns dos outros.","answer":"C","source":{"slug":"MPO_24","ano":2024},"explanation":{"verdict_reason":"Cada microsserviço roda em seu próprio processo, tipicamente em seu próprio contêiner, com memória separada. Um vazamento de memória consome os recursos daquele serviço e derruba apenas as funcionalidades que dependem dele; no monólito, o mesmo defeito levaria junto a aplicação inteira, porque o processo é um só.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Isolamento de falhas por processo","citation":null,"trap_note":"Isolamento de falha em microsserviços vem do isolamento de processo. Guarde a comparação com o monólito: um processo, uma falha, tudo cai."}},{"id":"c92af343a3b6","number":65,"stem":21,"statement":"Zuul é uma solução que permite a realização de roteamento dinâmico e monitoramento, e seus filtros são capazes de atuar na segurança por meio da identificação de requisitos de autenticação para cada recurso e da rejeição de solicitações que não os satisfaçam.","answer":"C","source":{"slug":"STJ_24","ano":2024},"explanation":{"verdict_reason":"O Zuul é o serviço de borda da pilha Netflix/Spring Cloud: todo pedido entra por ele, que decide dinamicamente para qual instância encaminhar e coleta métricas do tráfego. Seu funcionamento é baseado em filtros encadeados, e é num filtro de pré-processamento que se identifica se o recurso exige autenticação e se rejeita a requisição que não satisfaça esse requisito. Roteamento dinâmico, monitoramento e segurança por filtros são exatamente as funções que a documentação do produto lista.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Zuul: porta de entrada com filtros de roteamento e segurança","citation":null,"trap_note":"Zuul ocupa o papel de API gateway. Dentro da mesma pilha, descoberta é do Eureka, balanceamento no cliente é do Ribbon e tolerância a falhas é do Hystrix: item que passe uma dessas funções ao Zuul, ou o roteamento de borda a uma delas, é troca de componente."}},{"id":"ff3e2f68e810","number":65,"stem":20,"statement":"No modelo arquitetural de três camadas, a camada de apresentação encontra-se no servidor de aplicação.","answer":"E","source":{"slug":"MPO_24","ano":2024},"explanation":{"verdict_reason":"Na divisão em três camadas, a apresentação pertence ao cliente, o servidor de aplicação abriga a lógica de negócio e o servidor de banco cuida dos dados. Atribuir a apresentação ao servidor de aplicação desloca a responsabilidade para a camada errada e apaga a razão de ser da separação.","distortion_type":"atribuicao_errada","distorted_span":"a camada de apresentação encontra-se no servidor de aplicação","corrected_statement":"No modelo arquitetural de três camadas, a camada de apresentação encontra-se no cliente.","concept":"Onde mora cada camada no modelo de três camadas","citation":null,"trap_note":"Monte a fila antes de ler o item: apresentação no cliente, lógica no servidor de aplicação, dados no servidor de banco. A banca desloca uma peça e mantém o resto intacto."}},{"id":"9de61b94e4e2","number":66,"stem":21,"statement":"MapStruct é um gerador de código que simplifica a implementação de mapeamentos entre tipos de bean Java.","answer":"C","source":{"slug":"STJ_24","ano":2024},"explanation":{"verdict_reason":"O MapStruct é um processador de anotações que gera, em tempo de compilação, o código que copia campos de um bean Java para outro — tipicamente de entidade para DTO. Não há reflexão em tempo de execução: o que existe é uma classe de implementação gerada, com desempenho de código escrito à mão e incompatibilidades detectadas já na compilação. A definição do item corresponde a isso.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"MapStruct: gerador de mapeamentos entre beans","citation":null,"trap_note":"Em itens de bibliotecas Java, verifique quando o trabalho acontece: MapStruct e Lombok geram código na compilação; ORM e frameworks de injeção agem em tempo de execução. A troca entre esses dois momentos é uma distorção frequente."}},{"id":"a8af5e9948f4","number":67,"stem":22,"statement":"No modelo de arquitetura em camadas modelo-visão-controlador (MVC), o encapsulamento das funcionalidades da aplicação é feito no controlador.","answer":"E","source":{"slug":"MPO_24","ano":2024},"explanation":{"verdict_reason":"Quem encapsula as funcionalidades da aplicação no MVC é o modelo: nele ficam os dados, a lógica de negócio e as operações de processamento, acessíveis por uma interface que a visão e o controlador utilizam. O controlador não guarda funcionalidade: ele recebe a interação do usuário, aciona o modelo e seleciona a visão de resposta.","distortion_type":"atribuicao_errada","distorted_span":"é feito no controlador","corrected_statement":"No modelo de arquitetura em camadas modelo-visão-controlador (MVC), o encapsulamento das funcionalidades da aplicação é feito no modelo.","concept":"Modelo encapsula a funcionalidade; controlador coordena","citation":null,"trap_note":"Controlador é trânsito, não conteúdo. Verbos como encapsular, processar e persistir pertencem ao modelo; receber, encaminhar e escolher a visão pertencem ao controlador."}},{"id":"cf88b786814c","number":67,"stem":23,"statement":"SOA (service oriented architecture) é uma arquitetura empregada para reutilizar serviços em sistemas diferentes ou combinar vários serviços independentes para realizar tarefas complexas.","answer":"C","source":{"slug":"MP_TO_24_SERVIDOR","ano":2024},"explanation":{"verdict_reason":"Reúso e composição são exatamente os propósitos da SOA: serviços publicados com contrato estável podem ser consumidos por sistemas diferentes e combinados em processos de negócio mais complexos. É essa combinação que dispensa reescrever a mesma funcionalidade em cada aplicação.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Reúso e composição de serviços em SOA","citation":null,"trap_note":"Reúso e composição são as duas palavras-chave da SOA. Definições genéricas construídas sobre elas costumam ser certas."}},{"id":"e855791d8495","number":73,"stem":24,"statement":"Uma das premissas da arquitetura de microsserviços é que cada microsserviço seja independente, autônomo e autossuficiente.","answer":"C","source":{"slug":"CNJ_24","ano":2024},"explanation":{"verdict_reason":"Independência, autonomia e autossuficiência são a premissa fundadora do estilo: cada microsserviço encapsula uma capacidade de negócio completa, com seus próprios dados e seu próprio ciclo de implantação, de modo a evoluir e falhar sem arrastar os demais. O item apenas repete essa premissa.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Premissa da autonomia do microsserviço","citation":null,"trap_note":"Autossuficiência inclui os dados: sem banco próprio não há autonomia real. Guarde isso para os itens que admitem independência de código e exigem base compartilhada."}},{"id":"f3d9c87776b0","number":75,"stem":21,"statement":"Considere o seguinte código, escrito em Java.\n\nclass Main {\n  public static void main(String[] args) {\n   int x = 11, y = -7, z = 22;\n   int resultado = (x >= y) ? ((x >= z) ? x :\nz) : ((y >= z) ? y : z);\n   System.out.println(“Resultado: “ +\nresultado);\n  }\n}\n\nA partir do código precedente, é correto afirmar que a execução desse código apresentará o seguinte resultado. Resultado: 22","answer":"C","source":{"slug":"STJ_24","ano":2024},"explanation":{"verdict_reason":"O operador ternário é avaliado de fora para dentro: como x >= y (11 >= -7) é verdadeiro, executa-se o primeiro ramo, que testa x >= z (11 >= 22) e é falso, resultando em z. Logo, resultado recebe 22 e a saída é a indicada.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Avaliação de operador ternário aninhado","citation":null,"trap_note":"Em ternário aninhado, resolva a condição externa primeiro e só entre no ramo escolhido. Escrever os valores ao lado de cada comparação evita o erro de avaliar os dois ramos."}},{"id":"1e9caadb989d","number":77,"stem":25,"statement":"O padrão MVC é obtido ao se colocar o componente Controller para controlar o fluxo da aplicação entre as camadas de apresentação e de manipulação de dados.","answer":"C","source":{"slug":"PREF_CACHOEIRO_24_ADM","ano":2024},"explanation":{"verdict_reason":"O que caracteriza o MVC é a introdução de um terceiro papel entre a tela e os dados: o controlador recebe a interação do usuário, aciona o modelo e decide qual visão responde. Ele é justamente o elemento que controla o fluxo entre a apresentação e a parte que manipula os dados, impedindo que a visão converse diretamente com a regra e a persistência. O item descreve essa mediação.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Controlador do MVC: fluxo entre apresentação e modelo","citation":null,"trap_note":"No MVC, decore o verbo de cada papel: o modelo guarda e processa, a visão exibe, o controlador recebe e encaminha. Quase todo item do tema se resolve conferindo se o verbo descrito pertence ao componente citado."}},{"id":"610e02d0b88e","number":80,"stem":26,"statement":"No modelo de referência OSI, a SSL (secure socket layer) opera na camada de apresentação, enquanto o IPSec (Internet protocol security) opera nas camadas inferiores desse modelo.","answer":"C","source":{"slug":"MPO_24","ano":2024},"explanation":{"verdict_reason":"Mapeado no modelo OSI, o SSL fica acima do transporte, cuidando do formato e da cifragem dos dados da aplicação, o que o associa à camada de apresentação. O IPSec, por operar sobre pacotes IP, atua na camada de rede, portanto abaixo dele.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Posição de SSL e IPSec no modelo OSI","citation":null,"trap_note":"Regra prática da banca: SSL/TLS é tratado como apresentação (e sessão), IPSec como rede. Quem protege pacote está embaixo; quem protege dado de aplicação está em cima."}},{"id":"dba32a24bb6e","number":82,"stem":27,"statement":"A arquitetura cliente/servidor é formada de uma plataforma base para que as aplicações, em que um ou mais clientes e um ou mais servidores, juntamente com o sistema operacional e o sistema operacional de rede, podem executar um processamento distribuído.","answer":"C","source":{"slug":"PREF_CACHOEIRO_24_ADM","ano":2024},"explanation":{"verdict_reason":"A arquitetura cliente-servidor funciona como plataforma de base para as aplicações: sobre um ou mais clientes e um ou mais servidores, apoiados pelo sistema operacional de cada máquina e pelo sistema operacional de rede, que provê a comunicação e o compartilhamento de recursos, o trabalho é repartido entre as partes. Essa divisão de tarefas entre máquinas distintas caracteriza o processamento distribuído.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Cliente-servidor como plataforma de processamento distribuído","citation":null,"trap_note":"O modelo admite vários clientes e vários servidores, e o sistema operacional de rede é parte da plataforma. Item que limite a arquitetura a um servidor único está restringindo o conceito."}},{"id":"42b4e147f6a7","number":83,"stem":27,"statement":"O DNS (domain name system) é um serviço que converte o nome amigável de um sítio no endereço IP real do servidor, permitindo que o computador do usuário possa acessá-lo.","answer":"C","source":{"slug":"PREF_CACHOEIRO_24_ADM","ano":2024},"explanation":{"verdict_reason":"O DNS é o serviço que traduz nomes de domínio, legíveis por pessoas, nos endereços IP usados de fato no encaminhamento dos pacotes. Sem essa resolução, feita por consulta a servidores de nomes organizados hierarquicamente, o computador do usuário não saberia a que endereço se conectar para alcançar o sítio.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"DNS: resolução de nome em endereço IP","citation":null,"trap_note":"DNS traduz nome em endereço; DHCP atribui endereço ao equipamento; ARP descobre o endereço físico a partir do IP. São três traduções diferentes, e a banca troca uma pela outra."}},{"id":"9b4a97e122f2","number":84,"stem":27,"statement":"Em distribuições Linux, utilizam-se o comado ifdown para desativar e o comando ifup para ativar o firewall do sistema operacional.","answer":"E","source":{"slug":"PREF_CACHOEIRO_24_ADM","ano":2024},"explanation":{"verdict_reason":"Os comandos ifup e ifdown ativam e desativam interfaces de rede, não o firewall. O controle do firewall no Linux é feito por outras ferramentas — iptables, nftables, firewalld ou ufw, conforme a distribuição. A função descrita existe, mas pertence a outro subsistema.","distortion_type":"troca_de_termo","distorted_span":"o firewall do sistema operacional","corrected_statement":"Em distribuições Linux, utilizam-se o comado ifdown para desativar e o comando ifup para ativar as interfaces de rede do sistema operacional.","concept":"ifup e ifdown atuam sobre interfaces de rede","citation":null,"trap_note":"O prefixo do comando entrega o objeto: if remete a interface. Quando o nome do comando e o objeto citado não combinarem, o objeto é que foi trocado."}},{"id":"1ab5e3e3d69c","number":85,"stem":27,"statement":"Configuração de restrições de segurança, estabelecer informações de usuários (logins e acessos) e anexar e compartilhar uma impressora à rede são funções de um sistema operacional de rede.","answer":"C","source":{"slug":"PREF_CACHOEIRO_24_ADM","ano":2024},"explanation":{"verdict_reason":"O sistema operacional de rede é o que acrescenta ao sistema local a gestão do ambiente compartilhado: contas e credenciais de usuários, permissões e restrições de segurança sobre os recursos e o compartilhamento de dispositivos, como impressoras, entre as estações. As três funções listadas são dele.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Funções do sistema operacional de rede","citation":null,"trap_note":"Sistema operacional de rede cuida de usuários, permissões e recursos compartilhados; encaminhamento de pacotes é dos dispositivos de rede. Item que atribua roteamento ao sistema operacional de rede mudou de camada."}},{"id":"274704d94d37","number":87,"stem":28,"statement":"Cada solicitação de API RESTful é executada independentemente de solicitações anteriores, caracterizando um método de comunicação com ausência de estado.","answer":"C","source":{"slug":"STJ_24","ano":2024},"explanation":{"verdict_reason":"A ausência de estado é restrição do estilo REST: cada requisição carrega tudo o que o servidor precisa para atendê-la, e o servidor não guarda contexto entre chamadas. É isso que permite atender requisições em instâncias diferentes e escalar horizontalmente.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"REST é sem estado entre requisições","citation":null,"trap_note":"Sem estado no servidor não significa sem sessão para o usuário: o contexto existe, mas viaja na requisição ou fica em repositório externo."}},{"id":"4183f86adf0c","number":88,"stem":28,"statement":"Em um arquivo JSON, cada membro pode conter pares ou outros membros, mas não os dois ao mesmo tempo.","answer":"E","source":{"slug":"STJ_24","ano":2024},"explanation":{"verdict_reason":"A estrutura do JSON é recursiva: o valor de um par pode ser um tipo simples, um vetor ou outro objeto, de modo que pares e estruturas aninhadas convivem no mesmo objeto. A restrição de exclusividade afirmada pelo item não existe no formato.","distortion_type":"generalizacao","distorted_span":"mas não os dois ao mesmo tempo","corrected_statement":"Em um arquivo JSON, cada membro pode conter pares e outros membros ao mesmo tempo.","concept":"Aninhamento recursivo em JSON","citation":null,"trap_note":"JSON é recursivo por definição: objeto dentro de objeto, vetor de objetos, tudo misturado. Item que proíba a combinação de estruturas no mesmo nível está inventando restrição."}},{"id":"08bcb60f15d1","number":88,"stem":29,"statement":"Na arquitetura MVC, o componente do modelo é responsável por acessar a base de dados, para recuperação, inserção ou modificação de dados.","answer":"C","source":{"slug":"CODEVASF_24","ano":2024},"explanation":{"verdict_reason":"O modelo é o componente responsável pelos dados da aplicação, o que inclui consultar, inserir e alterar registros na base. Visão e controlador não acessam o repositório: a visão apresenta o que o modelo fornece e o controlador coordena o fluxo.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Modelo acessa a base de dados","citation":null,"trap_note":"Persistência é do modelo. Item que ponha o controlador ou a visão conversando com o banco desloca a responsabilidade."}},{"id":"a2759a0c4930","number":89,"stem":30,"statement":"Na arquitetura em camadas, as regras de negócio devem ser implementadas nas camadas de apresentação e de lógica de negócio.","answer":"E","source":{"slug":"STJ_24","ano":2024},"explanation":{"verdict_reason":"Regra de negócio pertence à camada de lógica de negócio, e apenas a ela: é isso que permite trocar a interface sem reimplementar as regras e reaproveitá-las em várias apresentações. A camada de apresentação trata da lógica de interface — exibição, navegação, validação de tela.","distortion_type":"escopo_ampliado","distorted_span":"nas camadas de apresentação e de lógica de negócio","corrected_statement":"Na arquitetura em camadas, as regras de negócio devem ser implementadas na camada de lógica de negócio.","concept":"Regra de negócio fora da apresentação","citation":null,"trap_note":"Espalhar a mesma responsabilidade por duas camadas anula a separação que justifica o modelo. Item que soma a apresentação a qualquer responsabilidade de negócio está ampliando o escopo dela."}},{"id":"474b02375f6c","number":90,"stem":30,"statement":"Considere que um time de desenvolvimento de software, enquanto apurava os requisitos a serem apresentados por certa aplicação web de um sistema de vendas, tenha definido os seguintes requisitos: i) o sistema deve possuir a função cadastro de clientes; ii) o tempo de processamento do cadastro de um cliente não deve ser maior que 100 milissegundos. Nesse caso, o primeiro requisito mencionado é funcional e o segundo, não funcional.","answer":"C","source":{"slug":"STJ_24","ano":2024},"explanation":{"verdict_reason":"Requisito funcional descreve o que o sistema faz — nesse caso, cadastrar clientes. Requisito não funcional descreve com que qualidade ele faz — aqui, o limite de tempo de processamento, que é um atributo de desempenho.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Requisito funcional x não funcional","citation":null,"trap_note":"Função responde o que o sistema faz; atributo de qualidade responde quão bem. Prazo, tempo de resposta, disponibilidade e segurança são sempre não funcionais."}},{"id":"2dc5f502fc48","number":91,"stem":31,"statement":"Na arquitetura em camadas, a camada de aplicação deve ser projetada para suportar estratégias de desacoplamento e independência de estado.","answer":"C","source":{"slug":"TRF6_24","ano":2024},"explanation":{"verdict_reason":"Projetar a camada de aplicação sem manter estado entre requisições e sem depender diretamente das demais camadas é o que permite replicá-la horizontalmente e substituir componentes sem efeito colateral. Desacoplamento e independência de estado são, portanto, objetivos de projeto dessa camada, não acidentes.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Camada de aplicação sem estado e desacoplada","citation":null,"trap_note":"Ausência de estado é o que torna uma camada replicável. Esse mesmo princípio reaparece em REST, em contêineres e em funções serverless."}},{"id":"6bedf2a0504d","number":92,"stem":31,"statement":"Na arquitetura de aplicações para ambiente web, a arquitetura cliente-servidor é um modelo de design que separa as responsabilidades de processamento entre clientes, que solicitam serviços ou recursos, e servidores, que fornecem e gerenciam esses serviços.","answer":"C","source":{"slug":"TRF6_24","ano":2024},"explanation":{"verdict_reason":"É a definição do modelo: a separação de responsabilidades entre quem solicita e quem fornece, com o servidor gerenciando os recursos compartilhados e o cliente consumindo-os por meio de requisições. Nada no enunciado extrapola essa divisão de papéis.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Definição de cliente-servidor","citation":null,"trap_note":"Definições genéricas e sem absolutos costumam ser certas. A falsidade, nesse tópico, quase sempre entra por uma exigência adicional: mesma rede, mesmo sincronismo, máquinas distintas."}},{"id":"95d4c6d32114","number":93,"stem":32,"statement":"O padrão decorator permite que classes concretas sejam envolvidas em uma hierarquia de objetos que compartilham a mesma interface, em que cada decorador implementa a interface base e delega chamadas para o objeto decorado, adicionando funcionalidade antes ou depois da delegação.","answer":"C","source":{"slug":"TRF6_24","ano":2024},"explanation":{"verdict_reason":"É o funcionamento do decorator: o decorador implementa a mesma interface do objeto decorado, guarda uma referência a ele e acrescenta comportamento antes ou depois de delegar a chamada. Como a interface é preservada, os decoradores se encadeiam e o cliente não percebe a diferença.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Decorator: mesma interface, composição e delegação","citation":null,"trap_note":"Decorator acrescenta responsabilidade por composição, mantendo a interface; herança seria a alternativa que ele evita. Item que faça o decorador mudar a interface descaracteriza o padrão."}},{"id":"f5637cb252c6","number":94,"stem":32,"statement":"No Spring Eureka, cada serviço se comunica diretamente com o Eureka Server para obter o endereço de outros serviços em tempo real, garantindo sempre dados atualizados.","answer":"E","source":{"slug":"TRF6_24","ano":2024},"explanation":{"verdict_reason":"O cliente Eureka não consulta o servidor a cada chamada: ele baixa o registro e mantém uma cópia local, atualizada periodicamente por diferenças. Por isso pode haver defasagem entre o catálogo local e o estado real das instâncias, e a garantia de dados sempre atualizados não existe.","distortion_type":"generalizacao","distorted_span":"garantindo sempre dados atualizados","corrected_statement":"No Spring Eureka, cada serviço obtém do Eureka Server o endereço de outros serviços e mantém uma cópia local do registro, atualizada periodicamente.","concept":"Cache local do registro de serviços","citation":null,"trap_note":"Descoberta de serviços troca consistência por disponibilidade: há cache e renovação periódica. Toda promessa de dado sempre atualizado em sistema distribuído merece desconfiança."}},{"id":"43e8977c07ad","number":95,"stem":33,"statement":"Thin client consiste em dispositivo utilizado em abordagem de computação do tipo cliente/servidor, em que dados e aplicativos são executados e armazenados no servidor.","answer":"C","source":{"slug":"ANM_24","ano":2024},"explanation":{"verdict_reason":"O cliente magro é um equipamento de capacidade reduzida, cuja função se limita a apresentar a interface e enviar as interações do usuário: o processamento das aplicações e o armazenamento dos dados ficam no servidor. É a abordagem cliente-servidor levada ao extremo da concentração no lado servidor.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Thin client: processamento e dados no servidor","citation":"Portaria SGD/MGI n.º 2.715/2023","trap_note":"Cliente magro e cliente gordo se distinguem por onde roda a aplicação. Item que atribua processamento local relevante ao thin client, ou que negue qualquer processamento ao fat client, inverteu a dupla."}},{"id":"366bc45944b0","number":95,"stem":32,"statement":"Aplicação de padrões como Aggregates e Value Objects, no domain-driven design, visa a desacoplar o domínio de negócio do modelo de domínio, permitindo que a lógica de negócio seja isolada em camadas técnicas.","answer":"E","source":{"slug":"TRF6_24","ano":2024},"explanation":{"verdict_reason":"Agregados e objetos de valor são blocos de construção do próprio modelo de domínio: eles expressam as regras de negócio, não as separam do modelo. E o isolamento que o DDD busca é o oposto do descrito — manter a lógica de negócio livre de camadas técnicas, e não dentro delas.","distortion_type":"inversao","distorted_span":"visa a desacoplar o domínio de negócio do modelo de domínio, permitindo que a lógica de negócio seja isolada em camadas técnicas","corrected_statement":"Aplicação de padrões como Aggregates e Value Objects, no domain-driven design, visa a expressar o domínio de negócio no modelo de domínio, permitindo que a lógica de negócio seja isolada das camadas técnicas.","concept":"Blocos táticos do DDD expressam o domínio","citation":null,"trap_note":"No DDD, tudo caminha para proteger o domínio do técnico. Item que coloque a lógica de negócio dentro da camada técnica, ou que separe domínio de modelo de domínio, está invertido."}},{"id":"d351b776bb9f","number":97,"stem":34,"statement":"Os aplicativos web progressivos (PWA) são executados em navegadores de dispositivos móveis e podem ser desenvolvidos utilizando-se JavaScript, CSS e HTML5.","answer":"C","source":{"slug":"FUNPRESP_24_EXE","ano":2024},"explanation":{"verdict_reason":"O aplicativo web progressivo é uma aplicação web construída com as tecnologias padrão do navegador — HTML5, CSS e JavaScript — que ganha comportamento próximo ao de um aplicativo nativo por meio de service workers, manifesto e cache local. Ele executa no navegador do dispositivo móvel, sem exigir compilação para cada plataforma nem distribuição por loja de aplicativos.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"PWA: aplicação web com comportamento de aplicativo","citation":null,"trap_note":"Nativo, híbrido e PWA se distinguem pelo que executa o código: SDK da plataforma, contêiner web empacotado ou o próprio navegador. Item que exija do PWA linguagem nativa ou publicação obrigatória em loja errou a categoria."}},{"id":"1a38900a2df4","number":97,"stem":35,"statement":"Na arquitetura orientada a serviço, estabelecem-se interfaces bem definidas entre os componentes do sistema, criando-se um acoplamento forte na camada de contrato de serviço enquanto se mantém um acoplamento fraco na implementação interna dos serviços.","answer":"C","source":{"slug":"FUNPRESP_24_EXE","ano":2024},"explanation":{"verdict_reason":"É a formulação exata do acoplamento em SOA: o consumidor depende rigidamente do contrato publicado — operações, mensagens, formato — e de nada além disso. Como a implementação interna fica escondida atrás desse contrato, ela pode trocar de linguagem, de banco ou de servidor sem afetar quem consome.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Contrato forte, implementação desacoplada","citation":null,"trap_note":"Acoplamento fraco em SOA nunca significa contrato frouxo. É o contrário: contrato estável e rígido é o que permite que a implementação varie livremente."}},{"id":"91a056304c8d","number":98,"stem":35,"statement":"Na arquitetura orientada a serviço, promove-se geralmente a criação de serviços altamente especializados, com granularidade fina e com a maximização da reutilização para a maior eficiência do sistema.","answer":"E","source":{"slug":"FUNPRESP_24_EXE","ano":2024},"explanation":{"verdict_reason":"A SOA trabalha com serviços de granularidade grossa, que representam processos ou funções de negócio inteiras e são reutilizados por vários sistemas. Granularidade fina, com serviços altamente especializados, é característica de microsserviços e, em SOA, multiplicaria chamadas e custo de governança em vez de aumentar a eficiência.","distortion_type":"troca_de_termo","distorted_span":"com granularidade fina","corrected_statement":"Na arquitetura orientada a serviço, promove-se geralmente a criação de serviços de negócio abrangentes, com granularidade grossa e com a maximização da reutilização para a maior eficiência do sistema.","concept":"Granularidade grossa em SOA","citation":null,"trap_note":"Grossa em SOA, fina em microsserviços. Esse par é uma das poucas distinções objetivas entre os dois estilos, e por isso a banca o cobra com frequência."}},{"id":"57b4979e1aa4","number":98,"stem":34,"statement":"Na SOA, a baixa abstração reduz as dependências entre serviços, permitindo alterações independentes, isto é, sem impactos significativos em clientes ou outros serviços.","answer":"E","source":{"slug":"FUNPRESP_24_EXE","ano":2024},"explanation":{"verdict_reason":"Abstração em SOA é o princípio segundo o qual o serviço esconde do mundo externo tudo o que não esteja no contrato. Quanto maior essa abstração, menos o consumidor depende de detalhes internos e mais livre fica o provedor para alterar sua implementação sem quebrar ninguém. O efeito descrito no item é real, mas decorre de abstração alta, não baixa.","distortion_type":"inversao","distorted_span":"a baixa abstração","corrected_statement":"Na SOA, a alta abstração reduz as dependências entre serviços, permitindo alterações independentes, isto é, sem impactos significativos em clientes ou outros serviços.","concept":"Abstração de serviço reduz dependências","citation":null,"trap_note":"Cuidado com alto e baixo trocados em atributos de qualidade: em SOA quer-se acoplamento baixo, mas abstração e coesão altas. Verifique se o adjetivo combina com o efeito prometido na mesma frase."}},{"id":"ac216ed0493d","number":99,"stem":34,"statement":"A camada de apresentação em aplicativos de dispositivos móveis gerencia fluxos de trabalho, troca de dados e operações, incluindo segurança, cache, log e tratamento de exceções.","answer":"E","source":{"slug":"FUNPRESP_24_EXE","ano":2024},"explanation":{"verdict_reason":"Gerenciar fluxos de trabalho, operações e troca de dados, com aspectos transversais como segurança, cache, registro de eventos e tratamento de exceções, é atribuição da camada de negócios e dos componentes transversais da aplicação. À camada de apresentação cabem os componentes de interface e a lógica de fluxo de telas. O item descreve uma camada e nomeia outra.","distortion_type":"atribuicao_errada","distorted_span":"A camada de apresentação","corrected_statement":"A camada de negócios em aplicativos de dispositivos móveis gerencia fluxos de trabalho, troca de dados e operações, incluindo segurança, cache, log e tratamento de exceções.","concept":"Apresentação exibe; negócio coordena fluxos e operações","citation":null,"trap_note":"A camada de apresentação só cuida da lógica de interface. Qualquer verbo de coordenação de processo, transação ou política atribuído a ela é erro de dono da responsabilidade."}},{"id":"1f40791de922","number":101,"stem":34,"statement":"Em sistemas distribuídos par a par, cada ponto central integra apresentação e processamento de dados, armazenando camadas completas e, possivelmente, todo o estado do sistema.","answer":"C","source":{"slug":"FUNPRESP_24_EXE","ano":2024},"explanation":{"verdict_reason":"Em arquiteturas par a par não há distribuição vertical de responsabilidades entre máquinas: cada nó é simétrico e executa a pilha completa, integrando interface, processamento e armazenamento local. Por isso um mesmo par pode conter as camadas inteiras e, dependendo da aplicação, uma cópia de todo o estado do sistema — o oposto da separação cliente-servidor.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"P2P: nós simétricos com todas as camadas","citation":null,"trap_note":"Distribuição vertical separa camadas entre máquinas distintas; distribuição horizontal replica nós equivalentes. P2P é o caso horizontal puro, e é assim que a banca o descreve antes de trocar o nome por cliente-servidor."}},{"id":"3bfb4e88b50d","number":103,"stem":36,"statement":"Na arquitetura orientada a serviços (SOA), os serviços devem possuir acoplamento forte, de modo a se obter maior segurança na comunicação entre os serviços, promovendo uma maior dependência entre os recursos externos.","answer":"E","source":{"slug":"TCE_AC_24","ano":2024},"explanation":{"verdict_reason":"O princípio da SOA é o inverso: acoplamento fraco entre os serviços, com dependência limitada ao contrato publicado. É esse desacoplamento que permite substituir a implementação de um serviço sem afetar seus consumidores; acoplamento forte produziria justamente a dependência rígida que a arquitetura busca evitar. Além disso, segurança na comunicação vem de mecanismos próprios — autenticação, autorização e criptografia —, não do grau de acoplamento.","distortion_type":"inversao","distorted_span":"os serviços devem possuir acoplamento forte","corrected_statement":"Na arquitetura orientada a serviços (SOA), os serviços devem possuir acoplamento fraco, de modo a reduzir a dependência entre os recursos externos.","concept":"SOA exige acoplamento fraco entre serviços","citation":null,"trap_note":"Acoplamento forte só é aceitável no contrato publicado; entre serviços ele é sempre defeito. Quando o item justificar o acoplamento forte por segurança ou desempenho, a justificativa é inventada."}},{"id":"3b5c130f6468","number":104,"stem":36,"statement":"O barramento de serviço corporativo (ESB) é um padrão de arquitetura em que há integrações entre aplicativos de forma centralizada, oferecendo suporte ao intercâmbio de dados inclusive entre aplicações distintas.","answer":"C","source":{"slug":"TCE_AC_24","ano":2024},"explanation":{"verdict_reason":"O ESB é o padrão arquitetural em que as integrações deixam de ser ligações ponto a ponto entre sistemas e passam por um barramento central, responsável por roteamento, transformação de formatos e conversão de protocolos. É justamente essa mediação centralizada que permite o intercâmbio de dados entre aplicações heterogêneas, inclusive legadas.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"ESB: integração centralizada entre aplicações","citation":null,"trap_note":"Barramento centraliza a mediação, e disso decorrem seus dois traços cobrados: integra sistemas distintos e cria ponto único de falha. Guarde os dois juntos, porque a banca cobra um e outro na mesma prova."}},{"id":"707d208f95d4","number":105,"stem":37,"statement":"Para manter o princípio da separação das preocupações em um projeto de software implementado como MVC, a camada interface deve oferecer abstrações da camada modelo.","answer":"E","source":{"slug":"ANM_24","ano":2024},"explanation":{"verdict_reason":"A dependência no MVC vai da interface para o modelo, e não o contrário: quem oferece abstrações é a camada de modelo, que expõe os dados e as operações de negócio para serem consumidos pela interface. Fazer a interface publicar abstrações do modelo inverteria o sentido da dependência e obrigaria a camada de apresentação a conhecer e reexpor a estrutura interna do domínio, que é exatamente o acoplamento que a separação de preocupações procura evitar.","distortion_type":"inversao","distorted_span":"a camada interface deve oferecer abstrações da camada modelo","corrected_statement":"Para manter o princípio da separação das preocupações em um projeto de software implementado como MVC, a camada modelo deve oferecer abstrações à camada interface.","concept":"Quem oferece abstração é a camada de baixo","citation":null,"trap_note":"Em arquitetura em camadas, serviço é sempre oferecido de baixo para cima e a dependência aponta para baixo. Item que faça a camada superior oferecer abstrações da inferior inverteu a regra de dependência."}},{"id":"c5474ca1fb52","number":106,"stem":37,"statement":"No padrão arquitetural MVC, o componente model encapsula integralmente os dados, a lógica de negócios e as operações de processamento da aplicação, o que inclui a gestão de todos os objetos de conteúdo e a interação com fontes de dados externas.","answer":"C","source":{"slug":"ANM_24","ano":2024},"explanation":{"verdict_reason":"O modelo é o componente que concentra o estado e o comportamento da aplicação: guarda os objetos de conteúdo, implementa a lógica de negócio, executa o processamento e conversa com as fontes de dados externas. Visão e controlador ficam do lado de fora dessa fronteira — uma exibe, o outro encaminha —, e é por isso que o mesmo modelo pode alimentar interfaces diferentes.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Modelo encapsula dados, regras e fontes externas","citation":null,"trap_note":"O modelo é o único dos três que fala com fontes de dados externas. Item que ponha acesso a base ou a serviços externos na visão ou no controlador está trocando o dono."}},{"id":"87a5269243b6","number":112,"stem":38,"statement":"Na arquitetura cliente-servidor para aplicações móveis, a comunicação entre o cliente (aplicativo móvel) e o servidor é sempre realizada de forma que todos os dados necessários são armazenados localmente no dispositivo móvel, o que elimina a necessidade de consultas ao banco de dados do servidor.","answer":"E","source":{"slug":"TCE_AC_24","ano":2024},"explanation":{"verdict_reason":"O que define a arquitetura cliente-servidor em aplicações móveis é justamente o aplicativo consultar um servidor para obter e gravar dados; o armazenamento local serve a cache e a operação temporária sem conexão, não à substituição do servidor. Manter todos os dados no dispositivo tornaria impossível compartilhar informação entre usuários e sincronizar o estado. O absoluto sempre e a eliminação das consultas ao servidor derrubam o item.","distortion_type":"generalizacao","distorted_span":"sempre realizada de forma que todos os dados necessários são armazenados localmente no dispositivo móvel","corrected_statement":"Na arquitetura cliente-servidor para aplicações móveis, a comunicação entre o cliente (aplicativo móvel) e o servidor é realizada de forma que parte dos dados pode ser armazenada localmente no dispositivo móvel, o que não elimina a necessidade de consultas ao banco de dados do servidor.","concept":"Cache local não substitui o servidor","citation":null,"trap_note":"Sempre, todos e elimina a necessidade costumam vir juntos e no mesmo item. Encontrado o absoluto, procure o caso que ele exclui: aqui, qualquer dado compartilhado entre usuários."}},{"id":"bbdb2b67de05","number":113,"stem":38,"statement":"Com a criação da arquitetura cliente-servidor em três camadas, a arquitetura em duas camadas deixou de ser usada.","answer":"E","source":{"slug":"TCE_AC_24","ano":2024},"explanation":{"verdict_reason":"Estilos arquiteturais convivem: a divisão em duas camadas continua sendo usada em aplicações departamentais, em clientes que acessam diretamente o banco e em sistemas de baixa complexidade, onde a camada intermediária não se pagaria. O surgimento de uma opção mais escalável amplia o repertório do arquiteto, não elimina a anterior.","distortion_type":"relacao_causal","distorted_span":"a arquitetura em duas camadas deixou de ser usada","corrected_statement":"Com a criação da arquitetura cliente-servidor em três camadas, a arquitetura em duas camadas continuou a ser usada em aplicações de menor complexidade.","concept":"Estilos arquiteturais coexistem","citation":null,"trap_note":"Nenhum estilo arquitetural aposenta o anterior: monólito, camadas, SOA e microsserviços convivem e se empilham. Item que decrete o fim de um por causa do surgimento de outro está errado."}},{"id":"3e5bb011acaf","number":114,"stem":38,"statement":"Em uma aplicação web baseada na arquitetura cliente-servidor de três camadas, a lógica de negócios, que inclui validações, processamento de dados e regras de aplicação, fica totalmente na camada intermediária, sem qualquer distribuição para as camadas de apresentação ou de dados.","answer":"E","source":{"slug":"TCE_AC_24","ano":2024},"explanation":{"verdict_reason":"A camada intermediária concentra a lógica de negócio, mas concentrar não é exclusividade: na prática há validações na apresentação, para dar resposta imediata ao usuário, e regras na camada de dados, na forma de restrições de integridade, gatilhos e procedimentos armazenados. O erro do item não é localizar o negócio no meio, e sim afirmar que ele fica totalmente lá, sem qualquer distribuição.","distortion_type":"generalizacao","distorted_span":"fica totalmente na camada intermediária, sem qualquer distribuição para as camadas de apresentação ou de dados","corrected_statement":"Em uma aplicação web baseada na arquitetura cliente-servidor de três camadas, a lógica de negócios, que inclui validações, processamento de dados e regras de aplicação, concentra-se na camada intermediária, podendo haver validações também nas camadas de apresentação e de dados.","concept":"Concentração da regra de negócio não é exclusividade","citation":null,"trap_note":"Distinga o ideal de projeto do absoluto de prova: a regra de negócio deve ficar na camada de negócio, mas dizer que fica integralmente lá, sem nada nas demais, é uma generalização que a banca marca como errada."}},{"id":"d0b1a9260ff1","number":114,"stem":39,"statement":"Consoante a Resolução n.º 522/2023 do CNJ, os sistemas informatizados de gestão de processos e documentos, exceto aqueles segmentados em microsserviços, utilizados em atividades judiciais e administrativas no âmbito dos órgãos integrantes do Poder Judiciário devem aderir aos requisitos do MoReq-Jus, com o objetivo de assegurar, entre outros atributos, a confiabilidade e preservação de processos e documentos do Poder Judiciário.","answer":"E","source":{"slug":"TRT10_24","ano":2024},"explanation":{"verdict_reason":"A adesão ao MoReq-Jus recai sobre os sistemas de gestão de processos e documentos dos órgãos do Poder Judiciário, inclusive os segmentados em microsserviços — a forma de decompor o sistema não cria dispensa. Os objetivos citados, entre eles confiabilidade e preservação, estão corretos; o que a norma não prevê é a exceção enxertada no item.","distortion_type":"inversao","distorted_span":"exceto aqueles segmentados em microsserviços","corrected_statement":"Consoante a Resolução n.º 522/2023 do CNJ, os sistemas informatizados de gestão de processos e documentos, inclusive aqueles segmentados em microsserviços, utilizados em atividades judiciais e administrativas no âmbito dos órgãos integrantes do Poder Judiciário devem aderir aos requisitos do MoReq-Jus, com o objetivo de assegurar, entre outros atributos, a confiabilidade e preservação de processos e documentos do Poder Judiciário.","concept":"MoReq-Jus alcança sistemas segmentados em microsserviços","citation":"Resolução CNJ n.º 522/2023 (MoReq-Jus)","trap_note":"A mesma manobra reaparece em provas diferentes: norma que diz inclusive, item que escreve exceto. Em item de norma, as palavras de inclusão e exclusão valem mais que o conteúdo técnico ao redor."}},{"id":"fef7fa4dc4c0","number":116,"stem":40,"statement":"O PostgreSQL possui a ferramenta PITR (point-in-time recovery), que permite restaurar o banco de dados para um momento específico no tempo.","answer":"C","source":{"slug":"TRT10_24","ano":2024},"explanation":{"verdict_reason":"O PITR do PostgreSQL combina uma cópia de segurança base com o arquivamento contínuo dos registros de transação (WAL): restaura-se a base e reaplicam-se os registros até o instante desejado, definido por tempo, identificador de transação ou ponto de restauração nomeado. É exatamente a recuperação a um momento específico no tempo descrita no item.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"PITR: cópia base mais reaplicação de WAL","citation":null,"trap_note":"PITR sempre depende de dois insumos: a cópia base e os registros de transação arquivados. Item que prometa recuperação a um instante qualquer só com dump lógico está errado."}},{"id":"9045cc49cab2","number":117,"stem":40,"statement":"A implementação de microsserviços tem como objetivo a divisão de uma aplicação em partes que sejam menores e dependentes uma das outras e que se comuniquem por meio de APIs.","answer":"E","source":{"slug":"TRT10_24","ano":2024},"explanation":{"verdict_reason":"Dividir a aplicação em partes menores está certo; torná-las dependentes umas das outras nega o objetivo do estilo. O microsserviço é autônomo: processo, dados e implantação próprios, comunicação por interfaces leves, de modo que a falha ou a mudança em um não derrube nem obrigue a reimplantar os demais. Partes menores e dependentes descrevem um monólito distribuído, o resultado que a arquitetura procura evitar.","distortion_type":"inversao","distorted_span":"dependentes uma das outras","corrected_statement":"A implementação de microsserviços tem como objetivo a divisão de uma aplicação em partes que sejam menores e independentes uma das outras e que se comuniquem por meio de APIs.","concept":"Microsserviços são partes menores e independentes","citation":null,"trap_note":"Pequeno não basta: sem independência de dados e de implantação, o resultado é monólito distribuído. Confira sempre as duas palavras, menor e independente, porque a banca mantém a primeira e inverte a segunda."}},{"id":"9dba299450e9","number":118,"stem":40,"statement":"APIs do tipo RESTful devem ter uma comunicação stateless entre cliente e servidor, em que as solicitações são separadas e desconectadas entre si.","answer":"C","source":{"slug":"TRT10_24","ano":2024},"explanation":{"verdict_reason":"Ausência de estado é uma das restrições do estilo REST: cada requisição deve carregar toda a informação necessária para ser compreendida, e o servidor não guarda contexto de sessão entre chamadas. Daí a independência entre as solicitações, que é o que permite escalar horizontalmente, distribuir a carga entre instâncias e usar cache.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Restrição stateless do REST","citation":null,"trap_note":"Ausência de estado no servidor não significa ausência de autenticação: o token viaja em cada requisição. Item que confunda manter sessão no servidor com autenticar a chamada está explorando essa diferença."}},{"id":"4dd828664574","number":119,"stem":40,"statement":"O single sign-on do tipo adaptável gera um token físico, como um pendrive ou cartão magnético, para garantir a relação de confiança digital.","answer":"E","source":{"slug":"TRT10_24","ano":2024},"explanation":{"verdict_reason":"Autenticação adaptativa é aquela que avalia o contexto e o risco de cada acesso — dispositivo, localização, horário, comportamento — e exige fatores adicionais apenas quando o risco aumenta. Ela não produz objeto físico algum: pendrive e cartão magnético são dispositivos de um fator de posse, usados em autenticação com token de hardware, que é outra categoria. O item descreve token físico e o batiza de adaptável.","distortion_type":"troca_de_termo","distorted_span":"gera um token físico, como um pendrive ou cartão magnético","corrected_statement":"O single sign-on do tipo adaptável avalia o contexto e o risco de cada acesso para exigir fatores adicionais de autenticação, a fim de garantir a relação de confiança digital.","concept":"Autenticação adaptativa é baseada em risco e contexto","citation":null,"trap_note":"Adaptável remete sempre a decisão variável conforme risco, nunca a um artefato fixo. Quando o adjetivo prometer adaptação e a frase entregar um objeto, houve troca de conceito."}},{"id":"e1202904b599","number":120,"stem":40,"statement":"Serviços que utilizam webhook enviam comandos HTTP POST para uma URL predefinida quando eventos específicos ocorrem, o que permite comunicação automática e online.","answer":"C","source":{"slug":"TRT10_24","ano":2024},"explanation":{"verdict_reason":"O webhook inverte o sentido da chamada em relação à API tradicional: em vez de o consumidor perguntar periodicamente se houve novidade, o provedor envia uma requisição HTTP POST a uma URL de retorno previamente cadastrada assim que o evento ocorre. O resultado é notificação imediata, orientada a eventos, sem consulta repetida.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Webhook: notificação por POST em URL predefinida","citation":null,"trap_note":"Webhook é o inverso do polling: quem tem a informação inicia a chamada. Item que descreva o consumidor consultando a intervalos regulares e chame isso de webhook inverteu a direção."}},{"id":"c5116fcd4427","number":127,"stem":41,"statement":"Um API gateway atua como um ponto central de entrada para várias APIs e desempenha um papel importante na simplificação da gestão de tráfego, autenticação, autorização e monitoramento das chamadas de API.","answer":"C","source":{"slug":"SEPLAG_CE_24","ano":2024},"explanation":{"verdict_reason":"O API gateway é justamente o ponto único por onde as chamadas entram antes de chegar aos serviços de retaguarda. Concentrar ali roteamento, autenticação, autorização, limitação de taxa e monitoração evita repetir essas preocupações transversais em cada serviço.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"API gateway como ponto único de entrada","citation":null,"trap_note":"Preocupações transversais — segurança, cota, registro, métricas — sobem para o gateway. Item que as devolva para cada serviço, ou que negue essas funções ao gateway, está errado."}},{"id":"45ff0d69584c","number":140,"stem":42,"statement":"No padrão de arquitetura MVC (model-view-controller), os aplicativos são divididos em modelos, exibições e componentes; nesse padrão, as solicitações de usuário são encaminhadas para um controlador, que é responsável por trabalhar com o modelo para executar as ações do usuário, bem como por escolher a exibição a ser apresentada para o usuário.","answer":"C","source":{"slug":"SEPLAG_CE_24","ano":2024},"explanation":{"verdict_reason":"A descrição do fluxo está correta: a requisição chega ao controlador, que aciona o modelo para executar a ação solicitada e, ao final, seleciona a exibição que será devolvida ao usuário. O controlador coordena; ele não guarda dados nem desenha telas.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Fluxo de requisição no MVC","citation":null,"trap_note":"O caminho é sempre requisição, controlador, modelo, visão. Itens de MVC se resolvem conferindo se cada papel desse caminho está no componente certo."}},{"id":"6b9cfb28ba4c","number":143,"stem":42,"statement":"O termo middleware é usado para designar uma camada de software responsável pela interface com o usuário, como as camadas de apresentação e visualização.","answer":"E","source":{"slug":"SEPLAG_CE_24","ano":2024},"explanation":{"verdict_reason":"Middleware é a camada intermediária entre as aplicações e a infraestrutura de comunicação: ele abstrai protocolos, heterogeneidade de plataformas e chamadas remotas. Interface com o usuário é responsabilidade da camada de apresentação, que fica na outra ponta da pilha.","distortion_type":"atribuicao_errada","distorted_span":"responsável pela interface com o usuário, como as camadas de apresentação e visualização","corrected_statement":"O termo middleware é usado para designar uma camada de software situada entre as aplicações e a infraestrutura, responsável por abstrair protocolos de comunicação e serviços distribuídos.","concept":"Posição do middleware na pilha","citation":null,"trap_note":"O nome entrega a posição: middleware fica no meio. Qualquer item que o empurre para a interface com o usuário ou para o hardware está deslocando a camada."}},{"id":"1dc2407185a3","number":56,"stem":43,"statement":"A possibilidade de um aumento de interdependências é uma limitação que deve ser considerada em sistemas de arquitetura orientada a serviços.","answer":"C","source":{"slug":"CNMP_23","ano":2023},"explanation":{"verdict_reason":"O reúso que a SOA promove tem contrapartida: quanto mais consumidores dependem de um mesmo serviço, mais pontos do ecossistema são afetados por qualquer mudança nele ou por sua indisponibilidade. Reconhecer essa interdependência crescente como limitação não contradiz os benefícios da arquitetura.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Interdependência como limitação da SOA","citation":null,"trap_note":"Benefício e limitação convivem em SOA: reúso e agilidade de um lado, interdependência e governança do outro. Item que apresente uma limitação plausível não é falso só por ser negativo."}},{"id":"d1d88eb160a3","number":58,"stem":43,"statement":"O desenvolvimento de aplicações disponibilizadas em múltiplas interfaces de usuário é facilitado pela utilização do modelo MVC, pois a principal característica deste é a existência de uma camada de regra de negócios totalmente isolada da interface de usuário.","answer":"C","source":{"slug":"CNMP_23","ano":2023},"explanation":{"verdict_reason":"O MVC separa a lógica da aplicação, que fica no modelo, da forma de apresentá-la, que fica na visão. Com a regra de negócio isolada da interface, o mesmo modelo alimenta várias visões — web, móvel, desktop — sem reescrita, e é daí que vem a facilidade para múltiplas interfaces.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"MVC e independência entre negócio e interface","citation":null,"trap_note":"Sempre que um item ligar múltiplas interfaces de usuário a MVC, a justificativa correta é o isolamento da lógica de negócio em relação à apresentação."}},{"id":"27b34cd05d2f","number":61,"stem":44,"statement":"A arquitetura SOA (service-oriented architecture) do BPMS (business process management suite) cria uma abordagem altamente acoplada para a mudança de processos de negócios, em que os módulos são denominados processos.","answer":"E","source":{"slug":"DATAPREV_23","ano":2023},"explanation":{"verdict_reason":"A SOA aplicada ao BPMS produz o contrário do que o item afirma: os processos são montados a partir de serviços fracamente acoplados, e é justamente esse baixo acoplamento que permite recombinar atividades e mudar o processo sem reescrever os sistemas por trás dele. Os módulos, nessa abordagem, chamam-se serviços; processos são as composições que se formam com eles.","distortion_type":"inversao","distorted_span":"altamente acoplada","corrected_statement":"A arquitetura SOA (service-oriented architecture) do BPMS (business process management suite) cria uma abordagem fracamente acoplada para a mudança de processos de negócios, em que os módulos são denominados serviços.","concept":"Baixo acoplamento permite mudar processos de negócio","citation":null,"trap_note":"Sempre que o item ligar SOA a acoplamento alto, está invertido — e a inversão costuma vir acompanhada de troca de nome nos elementos. Confira acoplamento e nomenclatura separadamente."}},{"id":"c9a8db6f9d38","number":69,"stem":45,"statement":"As arquiteturas voltadas para o desenvolvimento de microsserviços apresentam uma lógica simétrica, em que o uso de contêineres é considerado chave para tornar um processo mais eficiente.","answer":"C","source":{"slug":"SEFIN_FORTALEZA_CE_23","ano":2023},"explanation":{"verdict_reason":"A afirmação se sustenta no papel do contêiner: ele é a unidade padrão de empacotamento e implantação de microsserviços, porque isola cada serviço do ambiente e permite subir, replicar e substituir instâncias de forma uniforme. Os serviços são tratados como unidades equivalentes entre si, e é essa uniformidade que torna o processo eficiente.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Contêiner como unidade de implantação de microsserviços","citation":null,"trap_note":"Microsserviço e contêiner andam juntos nos itens da banca: o contêiner empacota, o orquestrador coordena. Afirmações genéricas nesse sentido tendem a ser certas."}},{"id":"eecd5745980f","number":70,"stem":45,"statement":"A arquitetura orientada a eventos aborda diferentes tópicos, como modelagem de eventos, fluxo de eventos, gerenciamento de estado, integração de sistemas e operações, e é frequentemente utilizada em sistemas centralizados e em aplicações em tempo real.","answer":"E","source":{"slug":"SEFIN_FORTALEZA_CE_23","ano":2023},"explanation":{"verdict_reason":"A arquitetura orientada a eventos existe para desacoplar produtores de consumidores que não se conhecem, o que a torna típica de sistemas distribuídos, e não de sistemas centralizados. Todo o resto da enumeração é plausível; o que derruba o item é o ambiente atribuído ao estilo.","distortion_type":"troca_de_termo","distorted_span":"em sistemas centralizados","corrected_statement":"A arquitetura orientada a eventos aborda diferentes tópicos, como modelagem de eventos, fluxo de eventos, gerenciamento de estado, integração de sistemas e operações, e é frequentemente utilizada em sistemas distribuídos e em aplicações em tempo real.","concept":"EDA é estilo de sistemas distribuídos","citation":null,"trap_note":"Centralizado x distribuído é um par que a banca troca com frequência. Estilos que existem para desacoplar partes que não se conhecem (EDA, SOA, microsserviços) são sempre distribuídos."}},{"id":"8a9c760e0114","number":71,"stem":45,"statement":"A arquitetura cloud native concentra-se em projetar e desenvolver aplicativos para serem executados em ambientes de nuvem e caracteriza-se pela adoção de práticas como microsserviços, contêineres e automação.","answer":"C","source":{"slug":"SEFIN_FORTALEZA_CE_23","ano":2023},"explanation":{"verdict_reason":"Cloud native descreve aplicações concebidas para nascer e operar na nuvem, e não apenas hospedadas nela. As práticas citadas são justamente as que caracterizam o modelo: decomposição em microsserviços, empacotamento em contêineres e automação de implantação e operação.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Características de aplicações cloud native","citation":null,"trap_note":"Cloud native não é sinônimo de hospedado em nuvem. Itens que somam microsserviços, contêineres, automação e entrega contínua descrevem o conceito corretamente."}},{"id":"143be6f82249","number":80,"stem":46,"statement":"Sistemas de mensageria são capazes de separar o remetente de uma mensagem e seus consumidores.","answer":"C","source":{"slug":"DATAPREV_23","ano":2023},"explanation":{"verdict_reason":"O intermediário de mensagens existe justamente para quebrar a ligação direta entre quem produz e quem consome: o remetente entrega a mensagem ao broker e segue, sem saber quem vai processá-la, quantos consumidores existem nem se algum está disponível no momento. Esse desacoplamento no tempo, no espaço e na identidade é a característica fundamental da mensageria.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Mensageria desacopla remetente e consumidores","citation":null,"trap_note":"Mensageria é sinônimo de desacoplamento e assincronismo. Item que a descreva exigindo que produtor e consumidor estejam ativos ao mesmo tempo ou se conheçam contraria a razão de existir do broker."}},{"id":"b25df90ba5c3","number":81,"stem":46,"statement":"Os sistemas de mensageria enviam e recebem mensagens, mas são incapazes de garantir que entregas aconteçam e que haja durabilidade das mensagens em caso de falhas dos servidores.","answer":"E","source":{"slug":"DATAPREV_23","ano":2023},"explanation":{"verdict_reason":"Garantia de entrega e durabilidade são serviços típicos de um sistema de mensageria, e não algo que falte a ele: as mensagens podem ser persistidas em disco, as filas declaradas duráveis, o consumo confirmado por reconhecimento explícito e as mensagens não processadas reenviadas ou desviadas para fila de mensagens mortas. É essa combinação que permite sobreviver à queda do servidor sem perder mensagens.","distortion_type":"inversao","distorted_span":"são incapazes de garantir que entregas aconteçam e que haja durabilidade das mensagens em caso de falhas dos servidores","corrected_statement":"Os sistemas de mensageria enviam e recebem mensagens e são capazes de garantir que entregas aconteçam e que haja durabilidade das mensagens em caso de falhas dos servidores.","concept":"Persistência e confirmação garantem entrega na mensageria","citation":null,"trap_note":"Negar uma capacidade conhecida do produto é inversão pura. Antes de aceitar um não pode ou é incapaz, pergunte se aquilo é exatamente o que o produto vende."}},{"id":"440143066195","number":84,"stem":47,"statement":"Na situação em apreço, se a equipe de TIC estiver usando o modelo serverless, não haverá necessidade de o BCB gerenciar servidores, uma vez que, nesse caso, cabe ao provedor de nuvem gerenciar a infraestrutura da nuvem e escalar as aplicações, dimensionando e gerenciando automaticamente a infraestrutura necessária para executar o código.","answer":"C","source":{"slug":"BCB_24","ano":2023},"explanation":{"verdict_reason":"No modelo serverless, a responsabilidade por provisionar, dimensionar, atualizar e escalar a infraestrutura é integralmente do provedor de nuvem; ao contratante cabem o código e a configuração dos gatilhos. Os servidores continuam existindo — o que desaparece é a gestão deles pelo cliente.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Responsabilidade pela infraestrutura no serverless","citation":null,"trap_note":"Serverless não significa ausência de servidor, e sim ausência de gestão de servidor pelo cliente. Guarde a fronteira: código e gatilho são do cliente; capacidade e escala são do provedor."}},{"id":"e9094860ee84","number":85,"stem":47,"statement":"No cenário em questão, sendo utilizado o modelo serverless, os desenvolvedores têm acesso, no BaaS (backend as a service), a serviços e aplicações de terceiros, tais como serviços de autenticação, banco de dados e criptografia, que podem ser acionados por meio de APIs.","answer":"C","source":{"slug":"BCB_24","ano":2023},"explanation":{"verdict_reason":"BaaS é a metade do serverless voltada a serviços de retaguarda prontos: autenticação, banco de dados, armazenamento, notificações e criptografia oferecidos por terceiros e consumidos por API. A outra metade é o FaaS, em que o cliente ainda escreve o código da função.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"BaaS: serviços de retaguarda consumidos por API","citation":null,"trap_note":"Serverless divide-se em BaaS (serviço pronto de terceiro, consumido por API) e FaaS (código próprio disparado por evento). Descrever um e assinar o outro é o erro mais comum do assunto."}},{"id":"5e0ee6e6c053","number":86,"stem":47,"statement":"No modelo FaaS (function as a service), os recursos de computação necessários para executar a lógica do aplicativo em resposta às solicitações são executados de forma orientada a eventos em contêineres stateless, totalmente gerenciados pelo provedor de serviços de nuvem.","answer":"C","source":{"slug":"BCB_24","ano":2023},"explanation":{"verdict_reason":"É a definição de FaaS: o código é executado em resposta a eventos, em contêineres sem estado criados e destruídos pelo provedor conforme a demanda. A ausência de estado é característica, e não defeito — cada execução é independente, e o estado que precisa sobreviver fica em serviço externo.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"FaaS: execução orientada a eventos em contêineres sem estado","citation":null,"trap_note":"Três palavras definem FaaS: evento, efêmero e sem estado. Item que atribua à função persistência entre execuções ou capacidade sempre ativa contraria o modelo."}},{"id":"3a79037effee","number":104,"stem":48,"statement":"Os servidores de aplicação podem ser executados nos lados do cliente ou do servidor de uma aplicação do tipo cliente/servidor.","answer":"E","source":{"slug":"CAPES_23","ano":2023},"explanation":{"verdict_reason":"O servidor de aplicação é o componente da camada intermediária: ele executa a lógica de negócio, gerencia transações, segurança e conexões e atende aos clientes. Seu lugar é, por definição, o lado servidor da aplicação; no lado cliente fica a apresentação, que consome o que o servidor de aplicação oferece. O item amplia a execução do componente para um lado a que ele não pertence.","distortion_type":"escopo_ampliado","distorted_span":"nos lados do cliente ou do servidor","corrected_statement":"Os servidores de aplicação são executados no lado do servidor de uma aplicação do tipo cliente/servidor.","concept":"Servidor de aplicação é a camada intermediária, no lado servidor","citation":null,"trap_note":"Não confunda duas afirmações parecidas: cliente e servidor podem estar na mesma máquina, mas isso não põe o servidor de aplicação no papel de cliente. Máquina é local; lado é papel."}},{"id":"5fbe0a60b628","number":112,"stem":49,"statement":"As anotações, no Java EE, geralmente são usadas para incorporar em um programa dados que, de outra forma, seriam fornecidos em um descritor de implantação.","answer":"C","source":{"slug":"DATAPREV_23","ano":2023},"explanation":{"verdict_reason":"As anotações do Java EE levam para dentro do código-fonte metadados que antes eram declarados em arquivos XML de descritor de implantação, como o web.xml. O contêiner lê esses metadados e configura o componente, o que reduz a configuração externa sem mudar o que é configurado.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Anotações substituem metadados do descritor de implantação","citation":null,"trap_note":"Anotação é configuração no código, descritor é configuração em arquivo: são dois lugares para a mesma informação. Item que trate anotação como código executável, e não como metadado, mudou a natureza do recurso."}},{"id":"ed4c2c7f6002","number":113,"stem":49,"statement":"Microsserviços são uma abordagem arquitetônica que compõe o software em pequenos componentes ou serviços independentes, de forma que, no desenvolvimento e nas modificações do código, podem ser implantados serviços específicos de forma independente.","answer":"C","source":{"slug":"DATAPREV_23","ano":2023},"explanation":{"verdict_reason":"O item enuncia a definição corrente de microsserviços: decompor a aplicação em componentes pequenos e independentes, cada um implantável por si. É essa independência que permite corrigir ou evoluir um serviço específico e publicá-lo sozinho, sem reimplantar toda a aplicação, como ocorreria num monólito.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Microsserviços: componentes pequenos com implantação independente","citation":null,"trap_note":"Implantação independente é o critério que separa microsserviços de módulos de um monólito. Módulos podem ser pequenos e coesos e ainda assim viajar num único artefato."}},{"id":"5c440c42cd67","number":114,"stem":49,"statement":"O antipadrão de programação denominado âncora de barco decorre da situação em que os programadores deixam um trecho do código na base de código, com a intenção de utilizá-lo posteriormente, caso precisem.","answer":"C","source":{"slug":"DATAPREV_23","ano":2023},"explanation":{"verdict_reason":"A âncora de barco é o antipadrão em que um componente ou trecho de código sem uso permanece na base porque alguém acredita que ainda vai precisar dele. O custo é real: o código morto continua sendo compilado, lido, migrado e mantido, pesando no projeto exatamente como uma âncora, sem entregar valor.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Âncora de barco: código inútil mantido por precaução","citation":null,"trap_note":"Nos antipadrões, guarde o gesto que dá nome a cada um: âncora de barco é guardar o inútil; bola de lama é sistema sem estrutura; código espaguete é fluxo emaranhado. A banca troca as descrições entre eles."}},{"id":"0c19b28e6323","number":115,"stem":49,"statement":"É uma desvantagem de um sistema de controle de versão centralizado o ponto único de falha incorporado no servidor centralizado, pois, se o servidor remoto falhar, ninguém da equipe de desenvolvimento poderá trabalhar no código ou enviar alterações.","answer":"C","source":{"slug":"DATAPREV_23","ano":2023},"explanation":{"verdict_reason":"No controle de versão centralizado, todo o histórico e o fluxo de trabalho dependem de um único servidor: se ele cai, ninguém registra alterações nem obtém versões, e se o disco se perde sem cópia, perde-se o histórico do projeto. É exatamente o ponto único de falha que o modelo distribuído elimina, ao dar a cada desenvolvedor uma cópia completa do repositório.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Controle de versão centralizado: ponto único de falha","citation":null,"trap_note":"Centralizado e distribuído se opõem em duas consequências cobradas: ponto único de falha e trabalho sem conexão. Item que atribua uma dessas fraquezas ao modelo distribuído inverteu o par."}},{"id":"3e22339f1ad9","number":58,"stem":50,"statement":"A arquitetura cliente/servidor de computadores é separada em quatro camadas: aplicação, serviços, sistema e hardware.","answer":"E","source":{"slug":"PGE_RJ_22","ano":2022},"explanation":{"verdict_reason":"A arquitetura cliente-servidor não se define por essa lista: ela separa papéis — quem pede e quem atende — e, quando é descrita em camadas, são as de apresentação, de aplicação ou negócio e de dados, em duas ou três camadas. Aplicação, serviços, sistema e hardware descrevem a estratificação de um sistema computacional qualquer, não a divisão do modelo cliente-servidor.","distortion_type":"troca_de_termo","distorted_span":"separada em quatro camadas: aplicação, serviços, sistema e hardware","corrected_statement":"A arquitetura cliente/servidor de computadores é separada em camadas de apresentação, de aplicação (negócio) e de dados.","concept":"Camadas do modelo cliente-servidor: apresentação, negócio e dados","citation":null,"trap_note":"Listas de camadas com nomes plausíveis são baratas de inventar. Antes de contar quantas são, verifique se os nomes pertencem ao modelo citado."}},{"id":"f9267c96a643","number":63,"stem":51,"statement":"No padrão MVC, o componente de modelo gerencia as requisições dos usuários.","answer":"E","source":{"slug":"BANCO_DO_NORDESTE_22","ano":2022},"explanation":{"verdict_reason":"Quem recebe e gerencia as requisições do usuário é o controlador; o modelo cuida dos dados e da lógica associada a eles. A ação descrita existe no padrão, mas pertence a outro componente.","distortion_type":"atribuicao_errada","distorted_span":"o componente de modelo gerencia as requisições dos usuários","corrected_statement":"No padrão MVC, o componente controlador gerencia as requisições dos usuários.","concept":"Controlador gerencia requisições","citation":null,"trap_note":"Requisição é do controlador, dado é do modelo, tela é da visão. Itens curtos de MVC quase sempre deslocam uma dessas três atribuições."}},{"id":"4ff3fec018a5","number":64,"stem":51,"statement":"Na arquitetura em camadas, os componentes da camada mais interna opera o sistema operacional, ao passo que os da camada mais externa interagem com o usuário.","answer":"C","source":{"slug":"BANCO_DO_NORDESTE_22","ano":2022},"explanation":{"verdict_reason":"Na organização em camadas, o núcleo é ocupado pelo suporte de sistema — sistema operacional e banco de dados — e as camadas seguintes vão se afastando até a mais externa, que é a interface com o usuário. A ordem descrita corresponde a essa hierarquia.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Ordem das camadas: do suporte de sistema à interface","citation":null,"trap_note":"Quanto mais interna a camada, mais próxima da máquina; quanto mais externa, mais próxima do usuário. Essa orientação resolve itens que falem em camada interna e externa sem nomeá-las."}},{"id":"37a7a48ffd56","number":66,"stem":51,"statement":"Em uma arquitetura orientada a eventos, o produtor identifica um evento que chega ao consumidor de forma assíncrona.","answer":"C","source":{"slug":"BANCO_DO_NORDESTE_22","ano":2022},"explanation":{"verdict_reason":"É a mecânica da arquitetura orientada a eventos: o produtor detecta e publica o evento sem saber quem o consumirá, e o consumidor o recebe e processa de forma assíncrona, no seu próprio tempo. Essa ausência de espera é o que desacopla os dois lados.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Produtor, evento e consumidor assíncrono","citation":null,"trap_note":"Em EDA, o produtor não conhece o consumidor e não espera resposta. Item que faça o produtor aguardar o processamento descaracteriza o estilo."}},{"id":"3c5b3e815faf","number":71,"stem":52,"statement":"Os contêineres de software virtualizam o hardware físico da máquina em que estão instalados para melhorar o seu desempenho de execução.","answer":"E","source":{"slug":"BANCO_DO_NORDESTE_22","ano":2022},"explanation":{"verdict_reason":"Quem virtualiza o hardware é a máquina virtual, com hipervisor e sistema operacional convidado próprio. O contêiner virtualiza o sistema operacional: compartilha o núcleo do hospedeiro e isola apenas o espaço de usuário, e é justamente por não emular hardware que ele é mais leve.","distortion_type":"troca_de_termo","distorted_span":"virtualizam o hardware físico da máquina em que estão instalados","corrected_statement":"Os contêineres de software virtualizam o sistema operacional da máquina em que estão instalados, compartilhando o núcleo do hospedeiro, o que melhora o seu desempenho de execução.","concept":"Contêiner virtualiza o sistema operacional","citation":null,"trap_note":"Hipervisor virtualiza hardware; contêiner virtualiza sistema operacional. Toda comparação entre VM e contêiner na prova se decide nessa linha."}},{"id":"c6ba224c20e5","number":72,"stem":52,"statement":"Ao conteinerizar uma aplicação, ela passa a ser executada de forma independente do sistema operacional e isolada de outras aplicações, o que aumenta a sua eficiência.","answer":"C","source":{"slug":"BANCO_DO_NORDESTE_22","ano":2022},"explanation":{"verdict_reason":"O contêiner empacota a aplicação com suas bibliotecas e dependências e a executa em espaço isolado, de modo que ela não depende do que está instalado no ambiente hospedeiro nem interfere em outras aplicações. Como não há sistema operacional convidado para carregar, o consumo de recursos cai e a execução ganha eficiência.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Isolamento e portabilidade da conteinerização","citation":null,"trap_note":"Empacotar dependências junto é o que dá portabilidade; o isolamento de espaço de usuário é o que dá independência entre aplicações. Esses dois efeitos aparecem como certos em praticamente todo item sobre contêineres."}},{"id":"6ab0ff3dc21e","number":73,"stem":52,"statement":"JSON (JavaScript Object Notation) é uma linguagem de programação utilizada para construir APIs.","answer":"E","source":{"slug":"BANCO_DO_NORDESTE_22","ano":2022},"explanation":{"verdict_reason":"JSON é um formato de intercâmbio de dados, baseado na notação de objetos do JavaScript, e não uma linguagem de programação: não tem comandos, estruturas de controle nem execução. Ele é usado para representar os dados que as APIs trocam, mas não constrói as APIs.","distortion_type":"troca_de_termo","distorted_span":"é uma linguagem de programação","corrected_statement":"JSON (JavaScript Object Notation) é um formato de intercâmbio de dados utilizado na comunicação com APIs.","concept":"JSON é formato de dados","citation":null,"trap_note":"Formato de dados, linguagem de marcação e linguagem de programação são categorias distintas: JSON e XML representam dados; HTML marca; Java e Python executam."}},{"id":"f434d17198c5","number":84,"stem":53,"statement":"REST (REpresentational State Transfer) é um protocolo para troca de informações estruturadas, cujo formato de mensagem é embasado na linguagem de marcação extensível (XML).","answer":"E","source":{"slug":"FUB_22","ano":2022},"explanation":{"verdict_reason":"A descrição é de SOAP: protocolo de troca de mensagens estruturadas em envelopes XML. REST não é protocolo e não define formato de mensagem — é um estilo arquitetural para sistemas distribuídos, baseado em recursos identificados por URI, verbos do HTTP e comunicação sem estado, cuja representação costuma ser JSON, mas pode ser XML, texto ou qualquer outra. O item descreve um e assina com o nome do outro.","distortion_type":"troca_de_termo","distorted_span":"é um protocolo para troca de informações estruturadas, cujo formato de mensagem é embasado na linguagem de marcação extensível (XML)","corrected_statement":"REST (REpresentational State Transfer) é um estilo arquitetural para sistemas distribuídos, que não define formato de mensagem e utiliza os recursos e verbos do protocolo HTTP.","concept":"REST é estilo arquitetural; SOAP é protocolo","citation":null,"trap_note":"Guarde a categoria de cada nome: SOAP é protocolo com envelope XML e WSDL; REST é estilo sobre HTTP. Item que chame REST de protocolo já está errado antes mesmo do formato da mensagem."}},{"id":"975418d1db34","number":95,"stem":54,"statement":"Web services são aplicações especializadas do tipo cliente-servidor para a troca de dados entre computadores de redes distintas.","answer":"E","source":{"slug":"SECONT_ES_22","ano":2022},"explanation":{"verdict_reason":"Web services servem à comunicação entre aplicações independentemente de onde elas estejam: na mesma máquina, na mesma rede local ou em redes distintas. Condicionar o conceito à travessia de redes diferentes restringe indevidamente a definição, que se apoia em interoperabilidade por protocolos e formatos padronizados, não em topologia.","distortion_type":"generalizacao","distorted_span":"entre computadores de redes distintas","corrected_statement":"Web services são aplicações especializadas do tipo cliente-servidor para a troca de dados entre aplicações, estejam elas na mesma rede ou em redes distintas.","concept":"Web service independe da topologia de rede","citation":null,"trap_note":"Desconfie de definições que acrescentam condição de localização. Modelos lógicos — web service, cliente-servidor, microsserviço — não impõem onde as partes rodam."}},{"id":"34ac73c09c5e","number":98,"stem":55,"statement":"Na família TCP/IP, o UDP (user datagram protocol) é considerado o principal protocolo da camada de aplicação, sendo muito usado para consultas isoladas em ambiente cliente-servidor.","answer":"E","source":{"slug":"SEPLAN_RR_22","ano":2022},"explanation":{"verdict_reason":"O UDP não é protocolo de aplicação: ele está na camada de transporte, ao lado do TCP, e é sobre ele que protocolos de aplicação como DNS, DHCP e TFTP se apoiam. A segunda metade do item está certa — o UDP serve bem a consultas isoladas em ambiente cliente-servidor, porque não paga o custo de estabelecer conexão —, mas a camada atribuída está errada, e nem no transporte ele é o principal, posição do TCP.","distortion_type":"atribuicao_errada","distorted_span":"o principal protocolo da camada de aplicação","corrected_statement":"Na família TCP/IP, o UDP (user datagram protocol) é um dos protocolos da camada de transporte, sendo muito usado para consultas isoladas em ambiente cliente-servidor.","concept":"UDP é transporte, não aplicação","citation":null,"trap_note":"Quando um item nomeia protocolo e camada na mesma frase, a camada é o alvo mais provável. Confira o par antes de julgar o resto da sentença, que costuma estar correto de propósito."}},{"id":"da8aa5c21c7d","number":106,"stem":56,"statement":"Um serverless é definido como um modelo operacional cujos princípios incluem a ausência de infraestrutura para gerenciar e o dimensionamento automático por unidade de consumo.","answer":"C","source":{"slug":"BANCO_DO_NORDESTE_22","ano":2022},"explanation":{"verdict_reason":"O serverless é definido pelo que o cliente deixa de fazer: não há servidores, capacidade nem sistema operacional a dimensionar e manter, porque o provedor provisiona sob demanda. A alocação acompanha o consumo, escalando automaticamente por unidade de execução e chegando a zero quando não há chamadas, o que se reflete na cobrança por uso. São exatamente os princípios enunciados no item.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Serverless: sem infraestrutura a gerenciar, escala automática","citation":null,"trap_note":"Serverless não significa ausência de servidor, e sim ausência de gestão do servidor pelo cliente. Item que exija infraestrutura previamente provisionada contraria o modelo."}},{"id":"2ca525ee35ed","number":107,"stem":56,"statement":"Os microsserviços são módulos implantados e monitorados de forma independente, os quais são combinados, em uma coleção desacoplada, por aplicativos baseados nesses microsserviços.","answer":"C","source":{"slug":"BANCO_DO_NORDESTE_22","ano":2022},"explanation":{"verdict_reason":"Cada microsserviço é implantado e monitorado por si — tem seu próprio ciclo de liberação, seus próprios registros e suas próprias métricas —, e a aplicação resulta da combinação desses módulos em uma coleção desacoplada, ligada por interfaces leves. Independência na operação e desacoplamento na composição são as duas ideias do item.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Módulos implantados e monitorados de forma independente","citation":null,"trap_note":"Monitoração independente costuma passar despercebida, mas é consequência direta da implantação independente. Item que centralize a operação e ainda assim fale em microsserviços merece leitura atenta."}},{"id":"f614095f4ca6","number":109,"stem":57,"statement":"Um gerenciador de filas pode ser proprietário de várias filas, e uma fila é automaticamente criada quando uma mensagem é atribuída a um identificador exclusivo no contexto de um gerenciador de filas.","answer":"E","source":{"slug":"BANCO_DO_NORDESTE_22","ano":2022},"explanation":{"verdict_reason":"A primeira metade está certa: um gerenciador de filas administra várias filas. A segunda inventa o mecanismo de criação — a fila é um objeto que precisa ser definido previamente no gerenciador, seja de forma permanente pela administração, seja dinamicamente a partir de uma fila modelo quando uma aplicação a abre. Atribuir identificador exclusivo a uma mensagem não cria fila alguma; o identificador serve para rastrear e correlacionar a mensagem.","distortion_type":"relacao_causal","distorted_span":"uma fila é automaticamente criada quando uma mensagem é atribuída a um identificador exclusivo no contexto de um gerenciador de filas","corrected_statement":"Um gerenciador de filas pode ser proprietário de várias filas, e uma fila precisa ser previamente definida no gerenciador de filas, de forma permanente ou dinâmica a partir de uma fila modelo, para receber mensagens.","concept":"Fila é objeto definido no gerenciador, não criada pela mensagem","citation":null,"trap_note":"Metade verdadeira mais um mecanismo automático inventado é construção recorrente. Toda vez que o item disser que algo é criado automaticamente por um evento, pergunte quem de fato cria aquele objeto."}},{"id":"5390cfa99990","number":110,"stem":57,"statement":"O forte acoplamento de serviços e a especificidade de plataformas e tecnologias de infraestrutura compatíveis são características fundamentais de SOA.","answer":"E","source":{"slug":"BANCO_DO_NORDESTE_22","ano":2022},"explanation":{"verdict_reason":"As características fundamentais da SOA são exatamente as opostas: acoplamento fraco entre serviços e independência de plataforma e de tecnologia, obtida por contratos e protocolos padronizados. É isso que permite integrar sistemas heterogêneos e legados. O item inverte os dois atributos de uma só vez.","distortion_type":"inversao","distorted_span":"O forte acoplamento de serviços e a especificidade de plataformas e tecnologias de infraestrutura compatíveis","corrected_statement":"O acoplamento fraco de serviços e a independência de plataformas e tecnologias de infraestrutura são características fundamentais de SOA.","concept":"SOA: acoplamento fraco e independência de plataforma","citation":null,"trap_note":"Acoplamento e dependência de plataforma andam juntos nos itens de SOA e quase sempre são invertidos em bloco. Se um dos dois aparecer invertido, confira o outro na mesma frase."}},{"id":"d433ba2e047d","number":111,"stem":57,"statement":"Entre as possibilidades funcionais de um barramento de serviços estão transformações de modelos de dados, manuseio de conectividade e mensagens, execução de roteamento, conversão de protocolos de comunicação e gerenciamento de requisições variadas relacionadas aos serviços.","answer":"C","source":{"slug":"BANCO_DO_NORDESTE_22","ano":2022},"explanation":{"verdict_reason":"O barramento de serviços é o mediador entre aplicações e, por isso, acumula funções de integração: transformar modelos e formatos de dados entre origem e destino, cuidar da conectividade e do transporte das mensagens, rotear conforme conteúdo ou regra, converter protocolos de comunicação e gerenciar as requisições dirigidas aos serviços. A lista do item corresponde ao papel do ESB.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Funções do ESB: transformação, roteamento e conversão de protocolo","citation":null,"trap_note":"Decore as funções do barramento como um bloco: transformar, rotear, conectar, converter protocolo. Item que negue uma delas, ou que atribua ao ESB a lógica de negócio dos serviços, está errado."}},{"id":"8811f5d986c4","number":112,"stem":57,"statement":"Implementações de SOA por meio de um barramento de serviços implicam a criação de um ponto único de falha, uma vez que clientes e serviços da organização não poderão se comunicar se o barramento de serviços se tornar inoperante.","answer":"C","source":{"slug":"BANCO_DO_NORDESTE_22","ano":2022},"explanation":{"verdict_reason":"Centralizar a mediação tem um custo estrutural: se todo o tráfego entre consumidores e provedores passa pelo barramento, a indisponibilidade dele interrompe a comunicação de todos. É o ponto único de falha, contrapartida reconhecida do modelo, mitigada na prática por redundância e agrupamento, mas presente na arquitetura como tal.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"ESB como ponto único de falha","citation":null,"trap_note":"Todo componente central de intermediação — ESB, gateway, registro — carrega o mesmo risco. Reconheça o padrão: centralização traz controle e traz ponto único de falha."}},{"id":"07ef1d368279","number":113,"stem":57,"statement":"Ponto a ponto, publicação/assinatura e transferência de arquivos são modos de operação de ferramentas de mensagens e gerenciamento de filas.","answer":"C","source":{"slug":"BANCO_DO_NORDESTE_22","ano":2022},"explanation":{"verdict_reason":"As ferramentas de mensagens e gerenciamento de filas oferecem esses três modos de operação: ponto a ponto, em que a mensagem da fila é consumida por um único destinatário; publicação e assinatura, em que a mensagem de um tópico chega a todos os assinantes; e transferência de arquivos, para mover grandes volumes com as mesmas garantias de entrega.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Modos de operação da mensageria","citation":null,"trap_note":"A distinção que decide a maioria dos itens é ponto a ponto contra publicação e assinatura: um consumidor por mensagem contra todos os assinantes. Guarde o número de destinatários, que é o que a banca troca."}},{"id":"af9f637d975c","number":114,"stem":57,"statement":"Em uma fila de mensagens posicionada entre dois serviços que precisam se comunicar, o componente que faz a solicitação para adicionar uma mensagem à fila é conhecido como requerente, enquanto o componente que coleta as mensagens da fila e faz o processamento principal é conhecido como produtor de mensagens.","answer":"E","source":{"slug":"BANCO_DO_NORDESTE_22","ano":2022},"explanation":{"verdict_reason":"Quem coloca a mensagem na fila é o produtor, ou requerente; quem a retira e executa o processamento principal é o consumidor. O item nomeia corretamente o primeiro papel e repete o nome do produtor para o segundo, deixando a fila com dois produtores e nenhum consumidor.","distortion_type":"inversao","distorted_span":"é conhecido como produtor de mensagens","corrected_statement":"Em uma fila de mensagens posicionada entre dois serviços que precisam se comunicar, o componente que faz a solicitação para adicionar uma mensagem à fila é conhecido como requerente, enquanto o componente que coleta as mensagens da fila e faz o processamento principal é conhecido como consumidor de mensagens.","concept":"Produtor envia; consumidor coleta e processa","citation":null,"trap_note":"Em itens de fila, identifique a direção do dado: quem escreve é produtor, quem lê é consumidor. Nomes repetidos ou trocados entre as duas pontas são a distorção padrão."}},{"id":"ec4bf7743b1a","number":118,"stem":58,"statement":"Em uma arquitetura hexagonal, as classes de domínio independem das classes de infraestrutura, tecnologias e sistemas externos.","answer":"C","source":{"slug":"BANRISUL_22","ano":2022},"explanation":{"verdict_reason":"A arquitetura hexagonal existe para isolar o núcleo de domínio: ele define portas, e os adaptadores de infraestrutura — banco, mensageria, APIs externas — é que dependem dele. Assim, trocar tecnologia significa trocar adaptador, sem alterar as classes de domínio.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Portas e adaptadores: dependência aponta para o domínio","citation":null,"trap_note":"Hexagonal, limpa e DDD compartilham a mesma regra: a dependência aponta para dentro, em direção ao domínio. Item que faça o domínio depender de tecnologia está errado nas três."}},{"id":"82f27eb66037","number":120,"stem":58,"statement":"Microsserviços representam a fragmentação de uma API em operações menores, o que facilita a comunicação e otimiza o desenvolvimento de interfaces.","answer":"E","source":{"slug":"BANRISUL_22","ano":2022},"explanation":{"verdict_reason":"O que se decompõe em microsserviços é a aplicação, repartida em serviços autônomos por capacidade de negócio, cada um com processo, dados e implantação próprios. Reduzir isso ao fatiamento de uma API em operações menores confunde o estilo arquitetural com um detalhe de projeto de interface.","distortion_type":"troca_de_termo","distorted_span":"a fragmentação de uma API em operações menores","corrected_statement":"Microsserviços representam a decomposição de uma aplicação em serviços autônomos, organizados por capacidade de negócio e implantados de forma independente.","concept":"Decomposição da aplicação, não da API","citation":null,"trap_note":"API é a porta; microsserviço é a unidade de negócio atrás dela. Quando o item troca aplicação por API, ele reduz uma decisão de arquitetura a uma questão de interface."}},{"id":"c7b2806e189e","number":67,"stem":59,"statement":"Com a SOA é mais fácil escalar ou ampliar o uso de uma funcionalidade para plataformas ou ambientes novos, o que resulta em maior agilidade e eficiência no desenvolvimento, por outro lado, em geral, acaba por promover aumento nos custos da solução.","answer":"E","source":{"slug":"PETROBRAS_21_NS","ano":2021},"explanation":{"verdict_reason":"A parte inicial descreve corretamente os ganhos da SOA, mas a conclusão é oposta ao que se espera dela: o reúso de serviços já existentes reduz a duplicação de esforço e, em geral, o custo total da solução. O item acrescenta uma consequência negativa que não decorre do modelo.","distortion_type":"relacao_causal","distorted_span":"acaba por promover aumento nos custos da solução","corrected_statement":"Com a SOA é mais fácil escalar ou ampliar o uso de uma funcionalidade para plataformas ou ambientes novos, o que resulta em maior agilidade e eficiência no desenvolvimento e, em geral, em redução dos custos da solução.","concept":"Reúso em SOA reduz custo","citation":null,"trap_note":"Conceda a primeira metade e leia a conclusão como item independente. A banca usa a descrição correta como anestesia para uma consequência invertida."}},{"id":"1d17d64e89a1","number":84,"stem":60,"statement":"Do ponto de vista de framework de arquitetura, os microsserviços são fortemente acoplados e distribuídos; os microsserviços são componentes embutidos em contêineres que trabalham juntos para realizar tarefas específicas.","answer":"E","source":{"slug":"PETROBRAS_21_NS","ano":2021},"explanation":{"verdict_reason":"Distribuídos e empacotados em contêineres, sim; fortemente acoplados, não. O estilo se define pelo acoplamento fraco: cada serviço tem dados e implantação próprios e só interage por interfaces leves, para que mudanças e falhas fiquem contidas. Acoplamento forte descreveria um monólito distribuído, precisamente o que a arquitetura tenta evitar.","distortion_type":"inversao","distorted_span":"fortemente acoplados","corrected_statement":"Do ponto de vista de framework de arquitetura, os microsserviços são fracamente acoplados e distribuídos; os microsserviços são componentes embutidos em contêineres que trabalham juntos para realizar tarefas específicas.","concept":"Microsserviços são fracamente acoplados","citation":null,"trap_note":"Quando um item mistura um atributo verdadeiro (distribuído, em contêineres) com um invertido (fortemente acoplado), a metade verdadeira serve de anestesia. Julgue cada atributo isoladamente."}},{"id":"60d1e29ba13f","number":85,"stem":60,"statement":"Um contêiner é um conjunto de processos organizados isoladamente do sistema; todos os arquivos necessários para executá-los são disponibilizados por uma imagem distinta.","answer":"C","source":{"slug":"PETROBRAS_21_NS","ano":2021},"explanation":{"verdict_reason":"Contêiner é um conjunto de processos isolados do restante do sistema por recursos do próprio núcleo, como espaços de nomes e grupos de controle. Tudo o que esses processos precisam para executar — bibliotecas, dependências e configuração — vem de uma imagem separada, distinta do sistema hospedeiro, o que garante que o contêiner rode igual em qualquer ambiente.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Contêiner: processos isolados a partir de uma imagem","citation":null,"trap_note":"Contêiner virtualiza o sistema operacional e compartilha o núcleo do hospedeiro; a máquina virtual virtualiza o hardware e carrega um sistema operacional completo. Essa fronteira é a mais cobrada do assunto."}},{"id":"9d70b982c520","number":86,"stem":60,"statement":"A arquitetura de microsserviços decompõe a aplicação em serviços e pode ser criada e implantada de maneira independente, o que permite executar no DevOps o continuous integration / continuous delivery (CI/CD).","answer":"C","source":{"slug":"PETROBRAS_21_NS","ano":2021},"explanation":{"verdict_reason":"Decompor a aplicação em serviços construídos e implantados de forma independente é o que dá base à integração e à entrega contínuas: cada serviço tem seu próprio repositório, sua esteira e seu ciclo de liberação, o que permite publicar mudanças pequenas e frequentes sem reimplantar o sistema inteiro. É a razão pela qual microsserviços e DevOps aparecem sempre juntos.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Implantação independente viabiliza CI/CD","citation":null,"trap_note":"A ligação entre microsserviços e DevOps passa sempre pela implantação independente. Item que negue essa independência e mantenha a promessa de entrega contínua se contradiz."}},{"id":"464867855e0e","number":104,"stem":61,"statement":"Um gateway de API é utilizado entre o cliente e os serviços back-end, sendo capaz de prover estatísticas.","answer":"C","source":{"slug":"SERPRO_21","ano":2021},"explanation":{"verdict_reason":"Por estar no caminho de todas as chamadas entre o cliente e os serviços de retaguarda, o gateway é o lugar natural para medir tráfego: volume de chamadas, latência, erros e consumo por consumidor. Prover estatísticas é consequência direta dessa posição.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"API gateway no caminho das chamadas","citation":null,"trap_note":"Quem está no caminho de todo o tráfego pode medir, limitar e autenticar. Esse raciocínio de posição resolve a maioria dos itens sobre gateway."}},{"id":"fe945ce6a63a","number":123,"stem":62,"statement":"Suponha que alguém deseje criar um serviço na Web no formato cliente-servidor com base na arquitetura orientada a serviços, utilizando transferência de arquivos em formato XLT a serem entregues por meio de HTTP. Nesse caso, não será possível utilizar o RESTful para essa finalidade, porque ele é um protocolo desenvolvido a partir de SOAP e, portanto, não é compatível com XLT nem com a arquitetura cliente-servidor.","answer":"E","source":{"slug":"SEFAZ_CE_21","ano":2021},"explanation":{"verdict_reason":"REST não é protocolo nem descende de SOAP: é um estilo arquitetural que usa o próprio HTTP como protocolo de aplicação e nasceu como alternativa ao modelo baseado em SOAP. Além disso, REST é intrinsecamente cliente-servidor e não impõe restrição ao formato transferido, de modo que a impossibilidade alegada não existe.","distortion_type":"relacao_causal","distorted_span":"porque ele é um protocolo desenvolvido a partir de SOAP","corrected_statement":"Suponha que alguém deseje criar um serviço na Web no formato cliente-servidor com base na arquitetura orientada a serviços, utilizando transferência de arquivos em formato XLT a serem entregues por meio de HTTP. Nesse caso, será possível utilizar o RESTful para essa finalidade, pois ele é um estilo arquitetural cliente-servidor sobre HTTP, independente do formato transferido.","concept":"REST é estilo arquitetural, não protocolo derivado de SOAP","citation":null,"trap_note":"A oração iniciada por porque costuma carregar a mentira. Quando a justificativa afirma parentesco entre tecnologias, desconfie antes mesmo de avaliar a conclusão."}},{"id":"b1f819b03ead","number":134,"stem":63,"statement":"O modelo de arquitetura modelo-visão-controlador (MVC) é responsável por encapsular as funcionalidades e os objetos de conteúdo.","answer":"C","source":{"slug":"SEFAZ_CE_21","ano":2021},"explanation":{"verdict_reason":"No MVC, o modelo concentra os objetos de conteúdo e a lógica de processamento, encapsulando-os e mantendo-os separados da forma de exibição. É essa encapsulação que permite que várias visões apresentem o mesmo conteúdo sem duplicá-lo.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"MVC encapsula conteúdo e funcionalidade","citation":null,"trap_note":"Conteúdo e funcionalidade ficam do lado do modelo; apresentação, do lado da visão. Essa fronteira responde tanto aos itens de MVC em aplicações web quanto aos de sistemas distribuídos."}},{"id":"b4cefb641ca2","number":136,"stem":63,"statement":"Middleware é um sistema que conecta outros recursos, abstraindo protocolos de comunicação e camadas de infraestrutura.","answer":"C","source":{"slug":"SEFAZ_CE_21","ano":2021},"explanation":{"verdict_reason":"Middleware é a camada de software que fica entre as aplicações e a infraestrutura, escondendo heterogeneidade de protocolos, sistemas operacionais e redes para que componentes distribuídos conversem como se fossem locais. Essa abstração é a sua definição, e não um efeito colateral.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Middleware abstrai comunicação e infraestrutura","citation":null,"trap_note":"Middleware fica no meio: nem interface de usuário, nem sistema operacional. Itens que o empurrem para uma dessas pontas estão errados."}},{"id":"f599284a45bd","number":143,"stem":64,"statement":"Em uma arquitetura em camadas, um protocolo é um conjunto de operações em alto nível de abstração funcional que uma camada oferece à camada situada acima dela e funciona como uma interface entre duas camadas subjacentes.","answer":"E","source":{"slug":"SEFAZ_CE_21","ano":2021},"explanation":{"verdict_reason":"O que uma camada oferece à camada acima dela, em alto nível de abstração, chama-se serviço — e a interface é o ponto em que esse serviço é acessado. Protocolo é outra coisa: é o conjunto de regras de formato e significado que governa a conversa entre entidades pares, isto é, entre a mesma camada de máquinas diferentes.","distortion_type":"troca_de_termo","distorted_span":"um protocolo é um conjunto de operações em alto nível de abstração funcional que uma camada oferece à camada situada acima dela","corrected_statement":"Em uma arquitetura em camadas, um serviço é um conjunto de operações em alto nível de abstração funcional que uma camada oferece à camada situada acima dela e funciona como uma interface entre duas camadas subjacentes.","concept":"Serviço x protocolo em arquitetura em camadas","citation":null,"trap_note":"Serviço é vertical, entre camadas vizinhas da mesma pilha; protocolo é horizontal, entre camadas iguais de máquinas diferentes. Troque as duas palavras no item e veja qual versão faz sentido."}},{"id":"66746b6fb460","number":68,"stem":65,"statement":"Para atender os requisitos II e III, é correto utilizar a arquitetura modelo-visão-controlador (MVC): o componente modelo gerencia o sistema de dados e as operações associadas a esses dados; a visão define e gerencia o modo como os dados são apresentados ao usuário; e o controlador gerencia as interações do usuário e as passa para os demais componentes.","answer":"C","source":{"slug":"DPDF_20_ANALISTA","ano":2020},"explanation":{"verdict_reason":"A separação entre modelo, visão e controlador é exatamente a resposta aos requisitos II e III: com os dados isolados no modelo, sua representação pode mudar sem alterá-los, e várias visões podem exibir e interagir com o mesmo conteúdo simultaneamente. Os papéis descritos correspondem aos do padrão.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"MVC atende independência entre dados e representação","citation":null,"trap_note":"Quando o enunciado pede várias formas de visualizar os mesmos dados, a resposta é MVC. Quando pede camadas que servem à camada acima, é arquitetura em camadas."}},{"id":"665533b1a30d","number":69,"stem":65,"statement":"Para atender o requisito I, é correto desenvolver o sistema usando-se três camadas; nesse caso, desde que a interface seja mantida, permite-se a substituição de camadas inteiras, ainda que os requisitos não funcionais dependam da arquitetura do sistema.","answer":"C","source":{"slug":"DPDF_20_ANALISTA","ano":2020},"explanation":{"verdict_reason":"A organização em camadas atende ao requisito de que cada camada preste serviço à camada acima, e sua principal vantagem é justamente a substituibilidade: mantida a interface, uma camada inteira pode ser trocada sem afetar as demais. Isso convive com o fato de que requisitos não funcionais, como desempenho e segurança, continuam dependendo da arquitetura escolhida.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Substituição de camadas com interface preservada","citation":null,"trap_note":"Interface estável é a condição da troca de camada. E note que reconhecer a dependência dos requisitos não funcionais em relação à arquitetura não torna o item falso: é uma concessão verdadeira."}},{"id":"287522007753","number":70,"stem":66,"statement":"Considere que uma arquitetura distribuída disponibilize serviço na Web, contendo um servidor web, e que vários clientes acessem esse servidor por meio de chamadas de procedimento remoto, usando o HTTP. Nessa situação, a arquitetura é do tipo cliente-servidor, em que o modelo lógico de serviços independentes, rodando em servidores separados, pode ser implementado em um único computador.","answer":"C","source":{"slug":"DPDF_20_ANALISTA","ano":2020},"explanation":{"verdict_reason":"Clientes que requisitam e um servidor que atende configuram a arquitetura cliente-servidor, independentemente do protocolo usado na chamada. E, por ser um modelo lógico, nada impede que serviços concebidos como independentes rodem em um único computador: a separação é de responsabilidade, não de hardware.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Separação lógica x distribuição física","citation":null,"trap_note":"Modelo lógico de serviços independentes pode ser implantado em uma máquina só. Guarde esse par: arquitetura descreve responsabilidades; implantação descreve onde elas rodam."}},{"id":"0fed29131515","number":81,"stem":67,"statement":"As funções do model (modelo) incluem armazenar e persistir os dados.","answer":"C","source":{"slug":"DPDF_20_ANALISTA","ano":2020},"explanation":{"verdict_reason":"No MVC, o modelo concentra os dados e a lógica de negócio, o que inclui recuperar, inserir, alterar e persistir o estado da aplicação na base. Guardar e persistir é função do modelo, e não da visão, que apenas exibe, nem do controlador, que apenas encaminha.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Modelo do MVC: dados, regras e persistência","citation":null,"trap_note":"Dado e regra sempre pertencem ao modelo. Item que ponha persistência na visão ou no controlador está trocando o dono da responsabilidade."}},{"id":"0b4996f0db59","number":82,"stem":67,"statement":"View (visão) serve para exibir as informações enviadas pelo controller, sendo recomendado pelo padrão que, na camada view, exista regra de negócio.","answer":"E","source":{"slug":"DPDF_20_ANALISTA","ano":2020},"explanation":{"verdict_reason":"A primeira metade está certa: a visão exibe as informações que lhe chegam por meio do controlador. Mas o padrão recomenda exatamente o contrário do que o item afirma quanto à regra de negócio — ela pertence ao modelo, e mantê-la fora da visão é o que permite trocar ou multiplicar interfaces sobre o mesmo sistema. Recomendar regra de negócio na visão inverte o princípio de separação de responsabilidades que dá sentido ao MVC.","distortion_type":"inversao","distorted_span":"sendo recomendado pelo padrão que, na camada view, exista regra de negócio","corrected_statement":"View (visão) serve para exibir as informações enviadas pelo controller, sendo recomendado pelo padrão que, na camada view, não exista regra de negócio.","concept":"Regra de negócio fica no modelo, nunca na visão","citation":null,"trap_note":"Recomendado, deve e é vedado marcam onde a banca inverte a regra. Confira sempre se a prescrição citada é a do padrão ou o seu oposto exato."}},{"id":"d86226e502ad","number":83,"stem":67,"statement":"Controller (controlador), além de ser responsável pela lógica do sistema, também faz a mediação entre o modelo e a visão.","answer":"C","source":{"slug":"DPDF_20_ANALISTA","ano":2020},"explanation":{"verdict_reason":"O controlador é o componente que recebe a interação do usuário, decide o que fazer com ela, aciona o modelo e escolhe a visão que responde — é nesse sentido que ele responde pela lógica de controle do sistema e faz a mediação entre modelo e visão. Os dois papéis atribuídos pelo item pertencem, de fato, ao controlador.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Controlador: lógica de controle e mediação modelo-visão","citation":null,"trap_note":"Mediar entre modelo e visão é a marca do controlador. Quando esse verbo aparecer ligado ao modelo ou à visão, houve troca de componente."}},{"id":"883a51575791","number":87,"stem":68,"statement":"O barramento de serviços corporativos (ESB) é o componente que implementa a arquitetura estabelecida pelo padrão SOA.","answer":"E","source":{"slug":"DPDF_20_ANALISTA","ano":2020},"explanation":{"verdict_reason":"SOA é um estilo arquitetural — um conjunto de princípios sobre contratos, baixo acoplamento e reúso de serviços —, e não uma arquitetura que dependa de um produto para existir. O ESB é apenas um dos meios de infraestrutura que apoiam essa implementação, responsável por roteamento, transformação de dados e conversão de protocolos; há implementações de SOA sem barramento algum, com integração ponto a ponto ou por serviços web diretos. Dizer que o ESB é o componente que implementa a arquitetura transforma uma opção de infraestrutura em requisito.","distortion_type":"generalizacao","distorted_span":"é o componente que implementa a arquitetura estabelecida pelo padrão SOA","corrected_statement":"O barramento de serviços corporativos (ESB) é um dos componentes de infraestrutura que podem apoiar a implementação da arquitetura estabelecida pelo padrão SOA.","concept":"SOA é estilo arquitetural; ESB é infraestrutura opcional","citation":null,"trap_note":"Estilo arquitetural nunca exige um produto. Sempre que o item fizer uma ferramenta ser a condição de existência de um estilo — ESB para SOA, contêiner para microsserviços —, desconfie do artigo definido."}},{"id":"2fa768aa2813","number":88,"stem":68,"statement":"Geralmente, SOA lida com requisitos de baixo acoplamento e desenvolvimento baseado em padrões, além de considerar computação distribuída independente de protocolo e integração de aplicações.","answer":"C","source":{"slug":"DPDF_20_ANALISTA","ano":2020},"explanation":{"verdict_reason":"O item reúne quatro características centrais da SOA: baixo acoplamento entre serviços, desenvolvimento apoiado em padrões abertos publicados, computação distribuída que não amarra o consumidor a um protocolo específico e integração de aplicações heterogêneas, inclusive legadas. São exatamente os atributos que a tornam um estilo de integração corporativa, e o advérbio geralmente ainda protege a afirmação de qualquer absolutismo.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Características da SOA: baixo acoplamento, padrões, distribuição, integração","citation":null,"trap_note":"Itens de características de SOA quase sempre se decidem pelo acoplamento. Baixo entre serviços e forte apenas no contrato publicado: qualquer inversão disso derruba o item."}},{"id":"44e2f75006ef","number":89,"stem":68,"statement":"A principal característica das interfaces no padrão SOA consiste em disponibilizar os recursos quando a implementação do serviço é amplamente conhecida.","answer":"E","source":{"slug":"DPDF_20_ANALISTA","ano":2020},"explanation":{"verdict_reason":"A interface em SOA existe justamente para que o consumidor não precise conhecer a implementação: o contrato publicado descreve o que o serviço faz, e a lógica interna permanece encapsulada, livre para mudar de linguagem, de plataforma ou de algoritmo sem afetar quem consome. Condicionar a disponibilização dos recursos ao conhecimento amplo da implementação inverte o princípio da abstração de serviço, que é o oposto desse conhecimento.","distortion_type":"inversao","distorted_span":"quando a implementação do serviço é amplamente conhecida","corrected_statement":"A principal característica das interfaces no padrão SOA consiste em disponibilizar os recursos independentemente do conhecimento da implementação do serviço, que permanece encapsulada.","concept":"Abstração de serviço: contrato exposto, implementação oculta","citation":null,"trap_note":"A fórmula da SOA é contrato forte, implementação fraca. Todo item que exija do consumidor conhecimento do que está atrás da interface está invertendo essa fórmula."}},{"id":"ec9f797bec82","number":92,"stem":69,"statement":"A mensageria é uma arquitetura flexível que permite o processamento de requisições em ambientes diferentes, como mainframe e cliente-servidor.","answer":"C","source":{"slug":"DPDF_20_ANALISTA","ano":2020},"explanation":{"verdict_reason":"A mensageria integra ambientes heterogêneos porque o que trafega é mensagem, não chamada de procedimento acoplada à plataforma: cada lado fala com o intermediário no seu próprio ambiente e formato, e o broker cuida do transporte e, quando necessário, da conversão. É assim que aplicações de grande porte e sistemas cliente-servidor se comunicam sem depender de tecnologia comum nem de disponibilidade simultânea.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Mensageria integra plataformas heterogêneas","citation":null,"trap_note":"Integração entre plataformas altas e baixas é o caso de uso clássico da mensageria. Item que exija tecnologia igual nas duas pontas contraria exatamente o motivo pelo qual ela é adotada."}},{"id":"c275e29c99ab","number":93,"stem":70,"statement":"A arquitetura de microsserviços estrutura um aplicativo como uma coleção de serviços que são fracamente acoplados.","answer":"C","source":{"slug":"DPDF_20_ANALISTA","ano":2020},"explanation":{"verdict_reason":"O acoplamento fraco é a definição operacional da arquitetura de microsserviços: cada serviço tem processo, dados e implantação próprios e só se comunica por interfaces leves, de modo que mudar um não obrigue a recompilar ou reimplantar os demais. É essa propriedade que permite implantação independente, escalabilidade seletiva e isolamento de falhas.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Microsserviços: coleção de serviços fracamente acoplados","citation":null,"trap_note":"Guarde o par acoplamento fraco e alta coesão como assinatura de microsserviços. Item que os chame de fortemente acoplados está errado, por mais verdadeiro que seja o resto da frase."}},{"id":"07e81a581b8a","number":94,"stem":70,"statement":"Os microsserviços criam vários serviços, cada qual executando em seu próprio processo, mas que não podem ser implantados de forma independente.","answer":"E","source":{"slug":"DPDF_20_ANALISTA","ano":2020},"explanation":{"verdict_reason":"A primeira metade está certa: cada microsserviço executa em seu próprio processo. Mas é exatamente disso que decorre a implantação independente — processo, artefato e banco próprios existem para que uma equipe publique seu serviço sem coordenar com as outras. Negar a implantação independente elimina a razão de ser do estilo.","distortion_type":"inversao","distorted_span":"não podem ser implantados de forma independente","corrected_statement":"Os microsserviços criam vários serviços, cada qual executando em seu próprio processo, e que podem ser implantados de forma independente.","concept":"Processo próprio implica implantação independente","citation":null,"trap_note":"Metade correta seguida de negação é a construção preferida da banca. Leia a oração após o mas como um item separado: é quase sempre lá que mora o erro."}},{"id":"59c737682d66","number":95,"stem":70,"statement":"Considerando-se a estrutura de microsserviços, os serviços podem ser escritos em diferentes linguagens de programação, mas devem usar a mesma técnica de armazenamento de dados.","answer":"E","source":{"slug":"DPDF_20_ANALISTA","ano":2020},"explanation":{"verdict_reason":"A liberdade tecnológica dos microsserviços não para na linguagem: cada serviço é dono do seu próprio armazenamento e escolhe a tecnologia de persistência que melhor atende à sua capacidade de negócio — relacional num, documento noutro, chave-valor num terceiro. É a persistência poliglota, e ela é consequência direta da regra de um banco por serviço. Exigir a mesma técnica de armazenamento contraria essa autonomia.","distortion_type":"inversao","distorted_span":"devem usar a mesma técnica de armazenamento de dados","corrected_statement":"Considerando-se a estrutura de microsserviços, os serviços podem ser escritos em diferentes linguagens de programação e podem usar diferentes técnicas de armazenamento de dados.","concept":"Persistência poliglota: um banco por serviço","citation":null,"trap_note":"Um banco por serviço é a diferença mais cobrada entre microsserviços e SOA. Qualquer item que imponha base ou tecnologia de dados única entre serviços está errado."}},{"id":"38f35ccb6822","number":96,"stem":71,"statement":"Em ambiente cliente-servidor, os clientes se conectam aos servidores para obter acesso aos recursos compartilhados.","answer":"C","source":{"slug":"DPDF_20_ANALISTA","ano":2020},"explanation":{"verdict_reason":"O modelo cliente-servidor organiza o sistema em torno de recursos concentrados no servidor — arquivos, banco de dados, impressoras, processamento — que vários clientes acessam sob demanda. O cliente é o processo ativo: é ele que inicia a conexão para obter acesso ao recurso compartilhado, enquanto o servidor permanece disponível aguardando pedidos.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Cliente-servidor: acesso a recursos compartilhados","citation":null,"trap_note":"Fixe a assimetria: cliente inicia e pede, servidor aguarda e atende. Ela decide a maior parte dos itens do assunto, inclusive os que tentam passar P2P por cliente-servidor."}},{"id":"75c7ed694582","number":97,"stem":71,"statement":"Com o advento dos processadores modernos, o desempenho relacionado a tarefas complexas deixou de ser uma diferença considerada significativa entre um servidor e um cliente.","answer":"E","source":{"slug":"DPDF_20_ANALISTA","ano":2020},"explanation":{"verdict_reason":"Na arquitetura cliente-servidor tradicional, o servidor é dimensionado para atender simultaneamente a muitos clientes e executar as tarefas pesadas — processamento em lote, consultas complexas, regras de negócio —, enquanto o cliente cuida da interação com o usuário. Essa diferença de capacidade continua sendo característica do modelo: processadores modernos elevaram os dois lados, mas não igualaram o papel nem a carga que cada um suporta. O item inventa uma consequência que a evolução do hardware não produziu.","distortion_type":"relacao_causal","distorted_span":"deixou de ser uma diferença considerada significativa entre um servidor e um cliente","corrected_statement":"Com o advento dos processadores modernos, o desempenho relacionado a tarefas complexas continua sendo uma diferença considerada significativa entre um servidor e um cliente.","concept":"Assimetria de capacidade entre cliente e servidor","citation":null,"trap_note":"Frases que abrem com com o advento de, com a criação de ou a partir de anunciam uma consequência inventada. Julgue a consequência sozinha, sem se deixar levar pela premissa verdadeira."}},{"id":"19dd67e26689","number":98,"stem":71,"statement":"Chamadas de procedimento remoto (RPC — do inglês remote procedure call) são uma forma de comunicação entre processos na qual diferentes processos têm diferentes espaços de endereço.","answer":"C","source":{"slug":"DPDF_20_ANALISTA","ano":2020},"explanation":{"verdict_reason":"A RPC permite que um processo chame um procedimento que executa em outro processo, tipicamente em outra máquina, com a mesma sintaxe de uma chamada local. Como os processos envolvidos têm espaços de endereçamento distintos, não há como passar ponteiros nem compartilhar memória: os parâmetros são empacotados em mensagens, o que caracteriza a RPC como forma de comunicação entre processos.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"RPC: comunicação entre processos com espaços de endereço distintos","citation":null,"trap_note":"Espaço de endereçamento separado é o que obriga ao empacotamento de parâmetros na RPC. Item que fale em compartilhamento de memória ou passagem de ponteiros entre processos remotos está errado."}},{"id":"cad230713a9a","number":118,"stem":72,"statement":"O design da arquitetura de aplicativos móveis geralmente consiste em múltiplas camadas, entre as quais a principal é a camada de negócios, que compreende utilitários de dados, componentes de acesso a dados e agentes de serviço.","answer":"E","source":{"slug":"DPDF_20_ANALISTA","ano":2020},"explanation":{"verdict_reason":"Utilitários de dados, componentes de acesso a dados e agentes de serviço são os elementos da camada de dados, não da camada de negócios — esta reúne fachada da aplicação, fluxos de trabalho, componentes e entidades de negócio. O item descreve corretamente o conteúdo de uma camada e a batiza com o nome de outra.","distortion_type":"atribuicao_errada","distorted_span":"a camada de negócios","corrected_statement":"O design da arquitetura de aplicativos móveis geralmente consiste em múltiplas camadas, entre as quais a camada de dados, que compreende utilitários de dados, componentes de acesso a dados e agentes de serviço.","concept":"Camada de dados: acesso a dados, utilitários e agentes de serviço","citation":null,"trap_note":"Leia a lista de componentes antes do nome da camada: decida que camada aquela lista descreve e só então confira o rótulo usado. A banca troca o rótulo, não a lista."}},{"id":"f3f9d72ca38d","number":135,"stem":73,"statement":"A principal característica da arquitetura em três camadas é a criação de aplicativos estáticos por meio do isolamento das camadas, mas de forma a manter a dependência básica entre todas elas.","answer":"E","source":{"slug":"TCE_RJ_20","ano":2020},"explanation":{"verdict_reason":"A separação em três camadas existe para reduzir dependências, não para preservá-las: mantida a interface, cada camada evolui ou é substituída sem arrastar as demais. E o resultado são aplicações flexíveis e mais fáceis de manter, e não aplicações estáticas.","distortion_type":"inversao","distorted_span":"mas de forma a manter a dependência básica entre todas elas","corrected_statement":"A principal característica da arquitetura em três camadas é a criação de aplicativos flexíveis por meio do isolamento das camadas, de forma a reduzir a dependência entre elas.","concept":"Isolamento de camadas reduz dependência","citation":null,"trap_note":"Se o item descreve a separação em camadas e conclui por mais dependência, rigidez ou aplicação estática, ele inverteu a finalidade do padrão."}},{"id":"078318470247","number":136,"stem":73,"statement":"Na arquitetura em três camadas, a camada de apresentação define a lógica da interface do usuário.","answer":"C","source":{"slug":"TCE_RJ_20","ano":2020},"explanation":{"verdict_reason":"A camada de apresentação é a responsável pela lógica de interface: como os dados são exibidos, como a navegação se organiza e como a entrada do usuário é validada no nível da tela. Regras de negócio e persistência ficam nas camadas seguintes.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Responsabilidade da camada de apresentação","citation":null,"trap_note":"Lógica de interface é da apresentação; lógica de negócio é da camada de negócio. A palavra que muda tudo no item é o adjetivo que acompanha lógica."}},{"id":"62fc4362c91e","number":75,"stem":74,"statement":"Nas arquiteturas orientadas a serviços (SOA), os componentes de sistema são serviços autônomos na forma distribuída e os clientes de serviço que desejam usar um serviço descobrem a especificação desse serviço e localizam o provedor de serviço, para, então, ligar sua aplicação a esse serviço específico e comunicar-se com ele usando protocolos de serviço padrão.","answer":"C","source":{"slug":"FUB_19","ano":2019},"explanation":{"verdict_reason":"O ciclo descrito é o próprio funcionamento da SOA: o provedor publica a especificação do serviço, o consumidor a descobre, localiza quem a oferece, vincula sua aplicação ao serviço e passa a trocar mensagens por protocolos padronizados, como SOAP sobre HTTP. Autonomia e distribuição são pressupostos do modelo: o consumidor não precisa conhecer a implementação nem a máquina do provedor, apenas o contrato.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Publicar, descobrir e vincular em SOA","citation":null,"trap_note":"Publicação, descoberta e vinculação é o tripé da SOA. Item que negue uma dessas etapas, ou que exija do consumidor conhecimento prévio da implementação ou da localização do provedor, está errado."}},{"id":"4ca162370ed7","number":77,"stem":74,"statement":"No padrão MVC (modelo-visão-controlador), o componente modelo gerencia o sistema de dados e as operações associadas a esses dados; o componente visão define e gerencia a forma como os dados são apresentados ao usuário; e o controlador gerencia as interações do usuário e as repassa para os componentes visão e modelo.","answer":"C","source":{"slug":"FUB_19","ano":2019},"explanation":{"verdict_reason":"É a divisão canônica de papéis do MVC: o modelo cuida dos dados e das operações sobre eles, a visão cuida da apresentação e o controlador recebe a interação do usuário e a encaminha aos outros dois. Quem trata requisição é o controlador e quem guarda dado é o modelo; nenhuma das atribuições está deslocada.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Papéis de modelo, visão e controlador","citation":null,"trap_note":"Guarde a frase de três partes: modelo gerencia dados, visão apresenta, controlador recebe a interação e escolhe a visão. Quase todo item de MVC é essa frase com uma das partes deslocada."}},{"id":"996e0e720d82","number":88,"stem":13,"statement":"Em software desenvolvido com uma arquitetura em camadas, a manutenção das interfaces das camadas permite o desacoplamento entre elas.","answer":"C","source":{"slug":"SLU_DF_19","ano":2019},"explanation":{"verdict_reason":"Numa arquitetura em camadas, o que uma camada conhece da outra é apenas a interface que ela publica. Enquanto essa interface for mantida, a implementação interna pode ser trocada por inteiro — outro banco, outra tecnologia de tela — sem afetar as demais. É precisamente essa estabilidade da interface que produz o desacoplamento e a substituibilidade que justificam o estilo.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Interface estável produz desacoplamento entre camadas","citation":null,"trap_note":"Camada se troca por dentro, nunca por fora. Sempre que um item falar em substituir uma camada, verifique se ele preserva a interface: é essa condição que torna a substituição possível."}},{"id":"5540ff8ae770","number":89,"stem":13,"statement":"Uma das vantagens da utilização de uma arquitetura de microsserviços é a possibilidade de isolamento de eventuais falhas no software.","answer":"C","source":{"slug":"SLU_DF_19","ano":2019},"explanation":{"verdict_reason":"Como cada microsserviço executa em processo próprio e frequentemente em contêiner próprio, um defeito nele — vazamento de memória, travamento, exceção não tratada — derruba apenas aquele serviço, e não a aplicação inteira, como ocorreria num monólito, em que tudo compartilha o mesmo processo. Esse isolamento de falhas é vantagem reconhecida do estilo, reforçada por padrões de resiliência como o disjuntor.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Isolamento de falhas por processo próprio","citation":null,"trap_note":"Isolamento de falhas decorre da separação de processos, não da existência de vários módulos. Módulos de um monólito compartilham o processo e, por isso, compartilham a queda."}},{"id":"7c283a29de11","number":90,"stem":13,"statement":"Um benefício da utilização de arquitetura orientada a serviços (SOA) é o alto nível de disponibilidade dos serviços.","answer":"E","source":{"slug":"SLU_DF_19","ano":2019},"explanation":{"verdict_reason":"Os benefícios que a SOA confere são reúso de serviços, interoperabilidade entre sistemas heterogêneos, agilidade na composição de novas soluções e baixo acoplamento. Disponibilidade não decorre do estilo: ela é atributo obtido por infraestrutura, com redundância, agrupamento e balanceamento. A rigor, a SOA acrescenta dependências de rede e, quando implementada com barramento, cria um ponto único de falha, o que joga contra a disponibilidade em vez de garanti-la.","distortion_type":"relacao_causal","distorted_span":"o alto nível de disponibilidade dos serviços","corrected_statement":"Um benefício da utilização de arquitetura orientada a serviços (SOA) é o reúso dos serviços e a interoperabilidade entre aplicações.","concept":"Benefícios da SOA são reúso e interoperabilidade","citation":null,"trap_note":"Distinga o que a arquitetura entrega do que a infraestrutura entrega: reúso e interoperabilidade são do estilo; disponibilidade e desempenho vêm de redundância e capacidade. A banca atribui ao estilo o que é da infraestrutura."}},{"id":"a761298f61a7","number":102,"stem":75,"statement":"Na arquitetura de API JMS (Java Message Service) e no modelo Publish/Subscribe (Pub/Sub) de troca de mensagens, uma mensagem publicada em um tópico será entregue a uma única aplicação consumidora.","answer":"E","source":{"slug":"SLU_DF_19","ano":2019},"explanation":{"verdict_reason":"No modelo de publicação e assinatura, a mensagem publicada em um tópico é entregue a todos os consumidores inscritos nele — é essa difusão que distingue o tópico da fila. Entrega a um único consumidor é característica do modelo ponto a ponto, com filas, também previsto na especificação JMS. O item descreve um modelo e atribui ao outro.","distortion_type":"inversao","distorted_span":"será entregue a uma única aplicação consumidora","corrected_statement":"Na arquitetura de API JMS (Java Message Service) e no modelo Publish/Subscribe (Pub/Sub) de troca de mensagens, uma mensagem publicada em um tópico será entregue a todas as aplicações consumidoras inscritas nesse tópico.","concept":"Tópico difunde; fila entrega a um consumidor","citation":null,"trap_note":"Fila e tópico são a fronteira mais cobrada em mensageria: um consumidor por mensagem contra todos os assinantes. Ache a palavra fila ou tópico e confira o número de destinatários que a frase promete."}},{"id":"e01d65dcfcd9","number":54,"stem":76,"statement":"No modelo OSI, a compressão de dados é um exemplo de serviço fornecido pela camada de apresentação.","answer":"C","source":{"slug":"EBSERH_18_ADMINISTRATIVO","ano":2018},"explanation":{"verdict_reason":"A camada de apresentação do modelo OSI cuida da sintaxe e da semântica dos dados transmitidos: conversão de formatos, codificação de caracteres, compressão e criptografia. A compressão é, portanto, exemplo direto de serviço dessa camada.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Serviços da camada de apresentação do OSI","citation":null,"trap_note":"Apresentação no OSI não tem relação com interface gráfica: ela apresenta os dados para a aplicação, tratando formato, compressão e cifragem."}},{"id":"500137a7d618","number":67,"stem":77,"statement":"Na arquitetura cliente-servidor, a característica transacional da comunicação entre cliente e servidor indica que o servidor deve enviar apenas conteúdo relevante em resposta ao pedido do cliente.","answer":"C","source":{"slug":"EBSERH_18_ADMINISTRATIVO","ano":2018},"explanation":{"verdict_reason":"A comunicação cliente-servidor é descrita como transacional porque cada interação é uma unidade fechada de pedido e resposta: o cliente formula a requisição, o servidor a processa e devolve somente o resultado que ela pede, encerrando o ciclo. É o que distingue esse modelo de uma sessão contínua de terminal, em que o servidor envia continuamente o estado inteiro da tela.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Caráter transacional do par requisição-resposta","citation":null,"trap_note":"Requisição e resposta formam uma unidade fechada: o servidor responde ao que foi pedido, não empurra estado por conta própria. Item que atribua iniciativa ao servidor, fora de mecanismos específicos de notificação, contraria a assimetria do modelo."}},{"id":"6f30155102e1","number":68,"stem":77,"statement":"Na arquitetura orientada a serviço (SOA), as características de baixo acoplamento e interoperabilidade corroboram sua adequação ao desenvolvimento de sistemas que demandem respostas em tempo real.","answer":"E","source":{"slug":"EBSERH_18_ADMINISTRATIVO","ano":2018},"explanation":{"verdict_reason":"Baixo acoplamento e interoperabilidade são vantagens reais da SOA, mas o preço delas é desempenho: chamadas atravessam a rede, passam por barramento, sofrem serialização e transformação de mensagens em formatos padronizados. Esse acúmulo de latência e a imprevisibilidade das chamadas remotas tornam a SOA inadequada, e não adequada, a sistemas que exijam resposta em tempo real. O item transforma duas qualidades verdadeiras em causa de uma adequação que elas não produzem.","distortion_type":"relacao_causal","distorted_span":"corroboram sua adequação ao desenvolvimento de sistemas que demandem respostas em tempo real","corrected_statement":"Na arquitetura orientada a serviço (SOA), as características de baixo acoplamento e interoperabilidade não a tornam adequada ao desenvolvimento de sistemas que demandem respostas em tempo real.","concept":"Flexibilidade da SOA custa desempenho","citation":null,"trap_note":"Todo estilo distribuído troca desempenho por flexibilidade. Item que prometa tempo real, latência mínima ou desempenho superior como benefício de SOA ou de microsserviços está vendendo o que essas arquiteturas cobram."}},{"id":"e2167cd7e797","number":82,"stem":78,"statement":"Na implantação de SOA, os serviços disponibilizados devem lidar com processos de negócio, encapsulando todas as funções que sejam necessárias para a sua execução e gerando independência em relação a outros serviços.","answer":"E","source":{"slug":"FUB_18","ano":2018},"explanation":{"verdict_reason":"Serviços em SOA são projetados para serem compostos: um serviço de processo de negócio tipicamente invoca outros serviços em vez de encapsular tudo o que precisa. Exigir que cada serviço concentre todas as funções necessárias e seja independente dos demais elimina a composição, que é um dos fundamentos da arquitetura.","distortion_type":"generalizacao","distorted_span":"encapsulando todas as funções que sejam necessárias para a sua execução e gerando independência em relação a outros serviços","corrected_statement":"Na implantação de SOA, os serviços disponibilizados devem lidar com processos de negócio, podendo compor-se com outros serviços para executar as funções necessárias.","concept":"Composição de serviços em SOA","citation":null,"trap_note":"Autonomia em SOA não é autossuficiência: o serviço é autônomo em implementação e ciclo de vida, mas se compõe com outros. Palavras como todas e independência total são o exagero que derruba o item."}},{"id":"fc55c33581a0","number":83,"stem":78,"statement":"API (application program interface) pode ser usada para integrar sistemas, de forma que um dos lados seja consumidor de um serviço provido pelo outro lado, desde que tais serviços tenham sido implementados por meio de SOA.","answer":"E","source":{"slug":"FUB_18","ano":2018},"explanation":{"verdict_reason":"A integração por API não depende de SOA: interfaces de programação existiam antes dela e são usadas em sistemas monolíticos, em microsserviços e em integrações ponto a ponto. A relação de consumo entre provedor e consumidor descrita está correta até a condição final, que impõe um requisito inexistente.","distortion_type":"relacao_causal","distorted_span":"desde que tais serviços tenham sido implementados por meio de SOA","corrected_statement":"API (application program interface) pode ser usada para integrar sistemas, de forma que um dos lados seja consumidor de um serviço provido pelo outro lado, independentemente de os serviços terem sido implementados por meio de SOA.","concept":"API independe do estilo arquitetural","citation":null,"trap_note":"Quando o item condiciona um conceito geral a uma tecnologia específica, pergunte se o conceito existia antes dela. API é anterior e mais ampla que SOA."}},{"id":"e5c8f6880277","number":86,"stem":79,"statement":"Na arquitetura cliente-servidor, a comunicação entre o cliente e o servidor é do tipo transacional e cooperativo.","answer":"C","source":{"slug":"EBSERH_18_ADMINISTRATIVO","ano":2018},"explanation":{"verdict_reason":"A interação segue o ciclo requisição e resposta, em que cada troca é uma transação completa, e ambos os lados cooperam no processamento: o cliente cuida da interação com o usuário e o servidor, do recurso compartilhado. Transacional e cooperativo descrevem bem esse arranjo.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Processamento cooperativo no modelo cliente-servidor","citation":null,"trap_note":"Cliente-servidor é processamento cooperativo: o trabalho é repartido entre as duas pontas. Item que faça o cliente ser mero terminal sem processamento descreve outro modelo."}},{"id":"c45b6a6458b5","number":87,"stem":79,"statement":"Na arquitetura cliente-servidor, as soluções são dividas de forma que, no servidor, fiquem todas as informações, os dados, as aplicações de transações com o banco de dados e a aplicação do usuário; e, no cliente, fique um terminal para interação com o usuário sem processamento.","answer":"E","source":{"slug":"EBSERH_18_ADMINISTRATIVO","ano":2018},"explanation":{"verdict_reason":"Concentrar tudo no servidor e deixar no cliente apenas um terminal sem processamento descreve o modelo centralizado de grande porte, anterior ao cliente-servidor. No cliente-servidor, o cliente executa a apresentação e frequentemente parte da lógica da aplicação: é justamente essa divisão de processamento que caracteriza o modelo.","distortion_type":"troca_de_termo","distorted_span":"um terminal para interação com o usuário sem processamento","corrected_statement":"Na arquitetura cliente-servidor, as soluções são divididas de forma que, no servidor, fiquem os dados e as aplicações de transações com o banco de dados; e, no cliente, fique a aplicação responsável pela interação com o usuário, que também realiza processamento.","concept":"Cliente-servidor x processamento centralizado","citation":null,"trap_note":"Terminal burro é mainframe, não cliente-servidor. A palavra que denuncia a troca é sem processamento."}},{"id":"1beb03dfaeab","number":88,"stem":79,"statement":"A Internet foi projetada para ser altamente tolerante a falhas, continuando a transmitir o tráfego mesmo no caso de ocorrer ataques nucleares em várias partes da rede de computadores.","answer":"C","source":{"slug":"EBSERH_18_ADMINISTRATIVO","ano":2018},"explanation":{"verdict_reason":"A rede que originou a Internet foi concebida com comutação de pacotes e roteamento descentralizado justamente para sobreviver à destruição de parte de seus nós, cenário militar que motivou o projeto. Como não há ponto central de comutação, o tráfego é desviado por caminhos alternativos enquanto houver rota disponível.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Tolerância a falhas por comutação de pacotes","citation":null,"trap_note":"A origem militar e a tolerância a falhas da Internet são tratadas como fato pela banca. Itens que afirmem essa resiliência de projeto costumam ser certos."}},{"id":"c2f54ae93e25","number":89,"stem":79,"statement":"A intranet é uma rede de equipamentos que permite acesso externo controlado, para negócios específicos ou propósitos educacionais, sendo uma extensão da rede local de uma organização, disponibilizada para usuários externos à organização.","answer":"E","source":{"slug":"EBSERH_18_ADMINISTRATIVO","ano":2018},"explanation":{"verdict_reason":"Estender a rede interna a usuários externos, de forma controlada, para parceiros e propósitos específicos, é a definição de extranet. A intranet é restrita ao público interno da organização; permitir acesso externo é justamente o que a diferencia da extranet.","distortion_type":"troca_de_termo","distorted_span":"disponibilizada para usuários externos à organização","corrected_statement":"A extranet é uma rede de equipamentos que permite acesso externo controlado, para negócios específicos ou propósitos educacionais, sendo uma extensão da rede local de uma organização, disponibilizada para usuários externos à organização.","concept":"Intranet x extranet","citation":null,"trap_note":"Interno é intranet; extensão controlada a terceiros é extranet. A palavra externo no meio da definição é o sinal de que o rótulo foi trocado."}},{"id":"9fc780a4ec06","number":91,"stem":80,"statement":"Situação hipotética: Durante a análise das necessidades de um software, verificou-se que a arquitetura exigia a troca de informações localmente armazenadas e o papel do servidor era levar clientes uns aos outros. Assertiva: Nesse caso, a arquitetura ideal para atender às referidas necessidades é a Web, que também poderá ser usada quando um grande número de computações independentes for exigido.","answer":"E","source":{"slug":"MP_PI_18","ano":2018},"explanation":{"verdict_reason":"Informações armazenadas localmente, trocadas entre os próprios participantes, com o servidor limitado a apresentar uns aos outros, descrevem uma arquitetura par a par, que é também a indicada quando há muitas computações independentes a distribuir. A arquitetura web, centrada em servidor que provê conteúdo e serviços, não atende a esse requisito.","distortion_type":"troca_de_termo","distorted_span":"a arquitetura ideal para atender às referidas necessidades é a Web","corrected_statement":"Assertiva: Nesse caso, a arquitetura ideal para atender às referidas necessidades é a peer-to-peer, que também poderá ser usada quando um grande número de computações independentes for exigido.","concept":"Arquitetura peer-to-peer","citation":null,"trap_note":"Servidor que apenas coloca clientes em contato é a assinatura do P2P. Guarde essa frase: ela aparece em enunciados de situação hipotética justamente para ser confundida com a arquitetura web."}},{"id":"c207677dcd33","number":92,"stem":80,"statement":"A arquitetura cliente-servidor pode ser projetada para trabalhar em multicamadas distribuindo o processamento de aplicação entre vários servidores; além de serem escaláveis, os sistemas cliente-servidor multicamadas são voltados para aplicações nas quais os dados e a aplicação são voláteis e integrados a dados de várias fontes.","answer":"C","source":{"slug":"MP_PI_18","ano":2018},"explanation":{"verdict_reason":"A arquitetura cliente-servidor multicamadas distribui o processamento por vários servidores especializados, o que permite escalar cada camada separadamente. Por isso ela é indicada quando dados e aplicação mudam com frequência e precisam integrar fontes diversas: a camada intermediária absorve essa variação sem afetar clientes nem repositórios.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Cliente-servidor multicamadas e escalabilidade","citation":null,"trap_note":"Multicamadas serve a sistemas voláteis e integrados a várias fontes. Essa formulação, de Sommerville, aparece quase sem alteração nos itens da banca."}},{"id":"65fadc580eee","number":93,"stem":81,"statement":"Um princípio básico dos microsserviços é que cada serviço gerencia seus próprios dados, sendo responsável pelo armazenamento particular desses dados e também pela execução em seus próprios processos.","answer":"C","source":{"slug":"MP_PI_18","ano":2018},"explanation":{"verdict_reason":"O banco de dados por serviço é o princípio que sustenta a independência dos microsserviços: sem dado privado, dois serviços voltariam a se acoplar pelo esquema e perderiam a autonomia de evoluir e implantar separadamente. Executar em processos próprios completa esse isolamento.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Banco de dados por serviço","citation":null,"trap_note":"Dado privado e processo próprio são as duas marcas do microsserviço. Item que proponha banco compartilhado entre microsserviços contraria o princípio."}},{"id":"52234a030f4e","number":94,"stem":82,"statement":"Com a SOA (service oriented architecture), os clientes e componentes podem ser escritos em diferentes linguagens de programação e podem usar vários protocolos de mensagens.","answer":"C","source":{"slug":"EMAP_18","ano":2018},"explanation":{"verdict_reason":"A SOA se apoia em contratos e mensagens padronizados, e não em chamadas amarradas a uma tecnologia: o que o consumidor precisa conhecer é a interface publicada, não a linguagem em que o provedor foi escrito. Por isso clientes e componentes podem estar em linguagens diferentes e usar mais de um protocolo de mensagens, conforme o que o contrato admitir. Interoperabilidade é o benefício central do estilo.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"SOA: independência de linguagem e de protocolo","citation":null,"trap_note":"Independência de linguagem e de protocolo é o que a SOA vende. Item que a restrinja a uma única tecnologia inverte sua principal vantagem."}},{"id":"275a69c0357a","number":94,"stem":81,"statement":"Para implementar um web service de baixo overhead que tenha recursos identificáveis e localizáveis por meio de uma URI (Uniform Resource Identifier) mediante o protocolo HTTP, pode-se utilizar o REST (Representational State Transfer).","answer":"C","source":{"slug":"MP_PI_18","ano":2018},"explanation":{"verdict_reason":"REST é exatamente o estilo em que recursos são identificados por URI e manipulados pelos métodos do próprio HTTP, sem envelope adicional. Essa ausência de camada extra de mensagem é o que lhe dá o baixo custo de processamento, em contraste com o SOAP.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"REST: recursos identificados por URI sobre HTTP","citation":null,"trap_note":"REST usa o HTTP como protocolo de aplicação; SOAP usa o HTTP apenas como transporte de um envelope XML. Essa diferença explica overhead, simplicidade e a maioria dos itens comparativos."}},{"id":"9ea7961400d5","number":95,"stem":81,"statement":"Situação hipotética: Deseja-se programar um sistema distribuído com componentes de sistemas autônomos, ou seja, implementar o sistema na SOA (arquitetura orientada a serviços), sendo essa a única informação disponível. Assertiva: Nessa situação, ainda que a SOA agregue componentes de sistemas que são serviços autônomos e que ela utilize protocolos como o SOAP (Standard Object Access Protocol), a SOA não permite a execução em computadores geograficamente distribuídos.","answer":"E","source":{"slug":"MP_PI_18","ano":2018},"explanation":{"verdict_reason":"A distribuição geográfica é uma das razões de existir da SOA: serviços autônomos, acessíveis por protocolos padronizados sobre a rede, podem estar em máquinas, organizações e locais distintos. O item reconhece corretamente a autonomia e o uso de SOAP e, ao final, nega a consequência que dela decorre.","distortion_type":"inversao","distorted_span":"a SOA não permite a execução em computadores geograficamente distribuídos","corrected_statement":"Situação hipotética: Deseja-se programar um sistema distribuído com componentes de sistemas autônomos, ou seja, implementar o sistema na SOA (arquitetura orientada a serviços), sendo essa a única informação disponível. Assertiva: Nessa situação, como a SOA agrega componentes de sistemas que são serviços autônomos e utiliza protocolos como o SOAP (Standard Object Access Protocol), ela permite a execução em computadores geograficamente distribuídos.","concept":"SOA como arquitetura distribuída","citation":null,"trap_note":"Itens longos que concedem duas verdades e negam a terceira usam as concessões como anestesia. Leia a oração final como se fosse o item inteiro."}},{"id":"07ee6e70fa8b","number":96,"stem":83,"statement":"No Domain Driven Design, o projeto de software baseia sua reação em eventos externos e internos, tendo como premissa uma quantidade finita de estados que enfatizam a separação entre os modelos abstratos independentes de implementação e os específicos de implementação.","answer":"E","source":{"slug":"MP_PI_18","ano":2018},"explanation":{"verdict_reason":"O que está descrito é outra coisa: reação a eventos com número finito de estados caracteriza modelagem orientada a eventos e máquinas de estados, e a separação entre modelos independentes e específicos de implementação é do desenvolvimento dirigido a modelos. O domain-driven design organiza o software em torno do modelo do domínio de negócio, com linguagem ubíqua, contextos delimitados e blocos como entidades, objetos de valor e agregados.","distortion_type":"troca_de_termo","distorted_span":"o projeto de software baseia sua reação em eventos externos e internos, tendo como premissa uma quantidade finita de estados","corrected_statement":"No Domain Driven Design, o projeto de software se organiza em torno do modelo do domínio de negócio, com linguagem ubíqua e contextos delimitados, enfatizando a separação entre o domínio e os detalhes de implementação.","concept":"DDD: modelagem do domínio de negócio","citation":null,"trap_note":"Quando a descrição de um método não menciona domínio, linguagem ubíqua nem contexto delimitado, ela provavelmente não é de DDD, por mais técnica que pareça."}},{"id":"d224679ad1e6","number":99,"stem":84,"statement":"Em uma arquitetura de aplicações em duas camadas, a entrada do usuário, verificação, lógica de negócio, o banco de dados e as aplicações de acesso são alocados no servidor; e os acessos dos clientes são realizados pelas máquinas remotas.","answer":"E","source":{"slug":"EMAP_18","ano":2018},"explanation":{"verdict_reason":"Na arquitetura em duas camadas, o cliente é o lado que concentra a entrada do usuário, a verificação e boa parte da lógica de negócio, enquanto o servidor fica com o banco de dados e o acesso a ele — é o chamado cliente gordo. Colocar tudo, inclusive entrada e verificação, no servidor descreve um modelo centralizado de terminais, não uma arquitetura de duas camadas.","distortion_type":"atribuicao_errada","distorted_span":"a entrada do usuário, verificação, lógica de negócio, o banco de dados e as aplicações de acesso são alocados no servidor","corrected_statement":"Em uma arquitetura de aplicações em duas camadas, a entrada do usuário, a verificação e a lógica de negócio são alocadas no cliente, e o banco de dados e as aplicações de acesso, no servidor; os acessos dos clientes são realizados pelas máquinas remotas.","concept":"Duas camadas: cliente gordo e servidor de dados","citation":null,"trap_note":"Em qualquer item de camadas, some as responsabilidades de cada lado: se um lado ficou com tudo, não há duas camadas. A divisão é o próprio conceito."}},{"id":"033a0649df1e","number":100,"stem":84,"statement":"A arquitetura em três camadas tem como principal característica ser composta por uma coleção de computadores autônomos com, no mínimo, três sistemas operacionais diferentes, interligados por uma rede OSI e equipados com software que permita o compartilhamento dos recursos do sistema: hardware, software e dados.","answer":"E","source":{"slug":"EMAP_18","ano":2018},"explanation":{"verdict_reason":"O que o item descreve é um sistema distribuído — coleção de computadores autônomos interligados que compartilham recursos —, com um requisito inventado de três sistemas operacionais diferentes. A arquitetura em três camadas é uma divisão lógica de responsabilidades entre apresentação, negócio e dados, que não exige máquinas distintas, muito menos sistemas operacionais distintos: as três camadas podem conviver num único computador.","distortion_type":"troca_de_termo","distorted_span":"ser composta por uma coleção de computadores autônomos com, no mínimo, três sistemas operacionais diferentes","corrected_statement":"A arquitetura em três camadas tem como principal característica ser composta por três camadas lógicas — apresentação, negócio e dados —, que podem inclusive ser executadas em um mesmo computador.","concept":"Camada lógica não é camada física","citation":null,"trap_note":"Camada é responsabilidade, não máquina. Todo item que traduza número de camadas em número de computadores, de sistemas operacionais ou de redes confundiu o lógico com o físico."}},{"id":"9d5aba79c5f6","number":102,"stem":85,"statement":"Os microsserviços são serviços autônomos, independentes e implantáveis independentemente.","answer":"C","source":{"slug":"EMAP_18","ano":2018},"explanation":{"verdict_reason":"Autonomia, independência e implantação independente são as três propriedades que definem o microsserviço: ele encapsula uma capacidade de negócio, é dono dos próprios dados e sobe ou desce sem coordenação com os demais. O item apenas enuncia essas propriedades.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Autonomia e implantação independente dos microsserviços","citation":null,"trap_note":"Quando o item é curto e só enuncia atributos conhecidos, o risco está em negações sutis e em advérbios. Aqui não há nenhum, e a afirmação coincide com a definição corrente."}},{"id":"a3660c4646f9","number":105,"stem":86,"statement":"Em SOA, orquestração é a forma de arranjar serviços diferentes para serem executados em uma ordem preestabelecida.","answer":"C","source":{"slug":"STM_17_ANALISTA_TECNICO","ano":2017},"explanation":{"verdict_reason":"Orquestração é a composição em que um elemento central conhece o processo inteiro e invoca cada serviço na sequência definida, como um maestro. É exatamente isso que o item descreve, em oposição à coreografia, na qual cada serviço reage a eventos sem regente.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Orquestração como composição em ordem definida","citation":null,"trap_note":"Maestro e ordem preestabelecida indicam orquestração; reação a mensagens sem controlador indica coreografia. A banca cobra esse par nos dois sentidos."}},{"id":"a5d48b51ad3c","number":54,"stem":87,"statement":"No nível conceitual da arquitetura de três camadas de banco de dados, cada esquema externo descreve a parte do banco que interessa a determinado grupo de usuários e oculta desse grupo o restante do banco de dados.","answer":"E","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"O que o item descreve é o nível externo, ou de visão, da arquitetura de três esquemas: cada esquema externo mostra a um grupo de usuários apenas a parte do banco que lhe interessa e oculta o restante. O nível conceitual é único e descreve a estrutura lógica do banco inteiro, para toda a comunidade de usuários, sem detalhes de armazenamento físico. A descrição está certa; o nível atribuído, não.","distortion_type":"atribuicao_errada","distorted_span":"No nível conceitual","corrected_statement":"No nível externo da arquitetura de três camadas de banco de dados, cada esquema externo descreve a parte do banco que interessa a determinado grupo de usuários e oculta desse grupo o restante do banco de dados.","concept":"Nível externo é a visão parcial por grupo de usuários","citation":null,"trap_note":"Na arquitetura de três esquemas, guarde a quantidade: muitos esquemas externos, um conceitual, um interno. O plural do próprio item já indica de que nível ele está falando."}},{"id":"5b2f72a02a34","number":61,"stem":88,"statement":"Em uma arquitetura cliente-servidor do tipo multinível, uma aplicação ou um computador atua ou como servidor para outros clientes, ou como cliente para outros servidores, mudando de acordo com um chaveamento físico ou lógico.","answer":"E","source":{"slug":"FUB_16_1","ano":2016},"explanation":{"verdict_reason":"Na arquitetura multinível, um mesmo componente é servidor de quem o chama e cliente de quem ele chama, e isso ocorre simultaneamente, determinado pelo papel em cada requisição. Não existe o chaveamento físico ou lógico que alternaria exclusivamente entre um estado e outro.","distortion_type":"relacao_causal","distorted_span":"mudando de acordo com um chaveamento físico ou lógico","corrected_statement":"Em uma arquitetura cliente-servidor do tipo multinível, uma aplicação ou um computador atua como servidor para outros clientes e, ao mesmo tempo, como cliente para outros servidores, conforme o papel que desempenha em cada requisição.","concept":"Papéis simultâneos na arquitetura multinível","citation":null,"trap_note":"O papel de cliente ou servidor é definido por requisição, não por configuração da máquina. Item que invente um mecanismo de alternância entre os dois papéis está criando causa onde não há."}},{"id":"82da1623df2f","number":62,"stem":88,"statement":"Em uma aplicação de gerenciamento de dados centralizado, as funcionalidades de apresentação e lógica do negócio ficam no cliente, enquanto as funcionalidades de armazenamento e persistência de dados permanecem no servidor.","answer":"C","source":{"slug":"FUB_16_1","ano":2016},"explanation":{"verdict_reason":"É a descrição do modelo de gerenciamento de dados centralizado, a forma clássica de cliente-servidor em duas camadas: o servidor concentra armazenamento e persistência, enquanto apresentação e regras de negócio rodam no cliente. Centralizar o dado não obriga a centralizar o processamento.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Gerenciamento de dados centralizado em duas camadas","citation":null,"trap_note":"Dado centralizado no servidor e processamento no cliente é o modelo de duas camadas com cliente gordo. Não confunda com o modelo de terminal burro, em que o cliente não processa nada."}},{"id":"c623e2393774","number":63,"stem":88,"statement":"A comunicação entre cliente e servidor ocorre de forma síncrona, de modo que o cliente efetua uma requisição ao servidor e aguarda uma resposta para prosseguir para a próxima tarefa.","answer":"E","source":{"slug":"FUB_16_1","ano":2016},"explanation":{"verdict_reason":"O padrão requisição e resposta é comum, mas não é obrigatório: cliente e servidor podem trocar mensagens de forma assíncrona, com o cliente seguindo seu trabalho e sendo notificado depois, como ocorre em chamadas não bloqueantes, filas e webhooks. Afirmar que a comunicação ocorre de forma síncrona transforma um caso frequente em regra única.","distortion_type":"generalizacao","distorted_span":"A comunicação entre cliente e servidor ocorre de forma síncrona","corrected_statement":"A comunicação entre cliente e servidor pode ocorrer de forma síncrona, de modo que o cliente efetua uma requisição ao servidor e aguarda uma resposta para prosseguir para a próxima tarefa.","concept":"Cliente-servidor admite comunicação assíncrona","citation":null,"trap_note":"O modelo cliente-servidor define papéis, não modo de comunicação, nem localização, nem tecnologia. Todo item que transforme uma característica frequente em exigência do modelo tende a ser falso."}},{"id":"d81ccf99f98e","number":64,"stem":88,"statement":"Os processos de cliente e de servidor devem ser executados em computadores diferentes.","answer":"E","source":{"slug":"FUB_16_1","ano":2016},"explanation":{"verdict_reason":"Cliente e servidor são papéis lógicos de processos, não máquinas. Nada impede que ambos executem no mesmo computador — é o que acontece em um servidor web acessado pelo navegador local ou em um SGBD consultado por aplicação na própria máquina. A separação física é comum, mas não é requisito.","distortion_type":"generalizacao","distorted_span":"devem ser executados em computadores diferentes","corrected_statement":"Os processos de cliente e de servidor podem ser executados em computadores diferentes ou em um mesmo computador.","concept":"Cliente e servidor são papéis lógicos","citation":null,"trap_note":"Modelo lógico não impõe distribuição física. Guarde esse contraexemplo: navegador e servidor web na mesma máquina continuam sendo cliente e servidor."}},{"id":"bbb0a9238a31","number":65,"stem":88,"statement":"Na arquitetura cliente-servidor, o cliente é o processo reativo, pois depende da interação com o usuário, e o servidor é o processo ativo, pois está disponível para atender a requisições.","answer":"E","source":{"slug":"FUB_16_1","ano":2016},"explanation":{"verdict_reason":"Os papéis estão trocados. O cliente é o processo ativo, porque é ele que toma a iniciativa e dispara a requisição; o servidor é o processo reativo ou passivo, porque permanece à espera e só age quando provocado. As justificativas do item estão coerentes com a classificação inversa da que ele apresenta.","distortion_type":"inversao","distorted_span":"o cliente é o processo reativo, pois depende da interação com o usuário, e o servidor é o processo ativo","corrected_statement":"Na arquitetura cliente-servidor, o cliente é o processo ativo, pois inicia a comunicação, e o servidor é o processo reativo, pois permanece disponível para atender a requisições.","concept":"Cliente ativo, servidor reativo","citation":null,"trap_note":"Quem inicia é ativo; quem espera é passivo. Essa é a assimetria que define cliente-servidor e a que a banca mais inverte no tópico."}},{"id":"ed5abc130ba0","number":81,"stem":89,"statement":"Em uma aplicação desenvolvida em 3 camadas, a camada de dados é responsável pela guarda dos dados do repositório, cujo acesso e cuja manipulação são responsabilidades da camada de regras de negócio.","answer":"E","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"A camada de dados não apenas guarda o repositório: é ela que acessa e manipula fisicamente o armazenamento, expondo essas operações à camada de negócio. À camada de regras de negócio cabe decidir o que fazer com os dados, não executar o acesso ao repositório. O item separa guarda de acesso e entrega o acesso à camada errada.","distortion_type":"atribuicao_errada","distorted_span":"cujo acesso e cuja manipulação são responsabilidades da camada de regras de negócio","corrected_statement":"Em uma aplicação desenvolvida em 3 camadas, a camada de dados é responsável pela guarda dos dados do repositório, cujo acesso e cuja manipulação são responsabilidades dessa mesma camada.","concept":"Acesso físico ao dado pertence à camada de dados","citation":null,"trap_note":"Guardar e acessar o dado são a mesma responsabilidade e ficam na mesma camada. Item que as separe entre camadas diferentes está movendo responsabilidade de lugar."}},{"id":"b730dfbd958b","number":86,"stem":90,"statement":"Os quatro atores necessários à composição do ciclo de vida de uma solução SOA incluem o arquiteto SOA, que é o responsável por mapear os processos de negócio.","answer":"E","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"Mapear processos de negócio é atribuição do analista de negócio, que traduz as necessidades da organização em processos e requisitos. Ao arquiteto SOA cabe outra função: desenhar a arquitetura, identificar e especificar os serviços, definir contratos, granularidade e padrões de integração a partir desse mapeamento. O papel existe no ciclo de vida da solução, mas com responsabilidade diferente da descrita.","distortion_type":"atribuicao_errada","distorted_span":"que é o responsável por mapear os processos de negócio","corrected_statement":"Os quatro atores necessários à composição do ciclo de vida de uma solução SOA incluem o arquiteto SOA, que é o responsável por definir a arquitetura e especificar os serviços.","concept":"Analista mapeia processos; arquiteto especifica serviços","citation":null,"trap_note":"Em itens de papéis, a falsidade costuma estar na oração relativa que define a atribuição, não na lista de atores. Leia o que vem depois do que é o responsável por."}},{"id":"d4ce47d18341","number":87,"stem":90,"statement":"SOA promove o desacoplamento entre as camadas de visão, aplicação, integração e negócio, disponibilizando as funcionalidades dessas camadas para todos os processos de negócio e aplicações da organização. Isso permite a migração para ambientes operacionais de melhor custo-benefício, sem a necessidade de recodificação dos consumidores das funções.","answer":"C","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"Ao expor funcionalidades como serviços com contrato publicado, a SOA separa visão, aplicação, integração e negócio, de modo que cada camada possa ser consumida por qualquer processo ou aplicação da organização. Como o consumidor depende apenas da interface, a implementação pode migrar para outro ambiente operacional, mais barato ou mais adequado, sem que seja preciso recodificar quem consome o serviço.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Contrato estável permite migrar a implementação","citation":null,"trap_note":"Contrato forte e implementação fraca é a fórmula que explica quase todo benefício atribuído à SOA. Migrar ambiente, trocar linguagem e reescrever o serviço são possíveis justamente porque o contrato não muda."}},{"id":"efd8dedc7126","number":87,"stem":91,"statement":"O modelo OSI é definido por nove camadas, entre as quais se destacam as camadas de aplicação, transporte, rede e a física.","answer":"E","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"O modelo OSI tem sete camadas: física, enlace, rede, transporte, sessão, apresentação e aplicação. As camadas citadas existem, mas a quantidade está alterada, e é isso que decide o item.","distortion_type":"numero_errado","distorted_span":"nove camadas","corrected_statement":"O modelo OSI é definido por sete camadas, entre as quais se destacam as camadas de aplicação, transporte, rede e a física.","concept":"Sete camadas do modelo OSI","citation":null,"trap_note":"Sete no OSI, quatro na pilha TCP/IP. Alterar a contagem de camadas é o jeito mais barato de escrever um item falso, e a banca o usa com frequência."}},{"id":"e330ceb409b9","number":88,"stem":92,"statement":"O desenvolvimento de um Middleware com base em um estilo de arquitetura específico simplifica o projeto de aplicações.","answer":"C","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"O middleware existe para esconder da aplicação a heterogeneidade da rede, dos sistemas operacionais e dos protocolos. Quando é construído segundo um estilo arquitetural definido — chamada remota de procedimento, objetos distribuídos, mensagens ou eventos —, ele oferece ao desenvolvedor um modelo de programação uniforme e previsível, e é isso que simplifica o projeto da aplicação, ainda que reduza a flexibilidade de usá-lo de outras formas.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Middleware com estilo definido simplifica o projeto","citation":null,"trap_note":"Middleware é camada de abstração entre aplicação e infraestrutura, jamais interface com o usuário. Essa troca de papel é a distorção padrão do assunto."}},{"id":"9e17789ceace","number":88,"stem":90,"statement":"Esse tipo de arquitetura permite às empresas conectar novos serviços ou melhorar os serviços existentes de forma granular, a fim de enfrentar os novos requisitos de negócios, por meio da disponibilização dos serviços para consumo em diferentes canais.","answer":"C","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"Como a funcionalidade está fatiada em serviços de contrato próprio, a organização pode acrescentar um serviço novo ou aprimorar um existente isoladamente, sem reescrever o conjunto, e disponibilizar o mesmo serviço para canais diferentes — agência, portal, aplicativo móvel, parceiro externo. Essa granularidade na evolução e o reaproveitamento em múltiplos canais são benefícios diretos do estilo.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Evolução granular e reúso em múltiplos canais","citation":null,"trap_note":"Reúso em canais distintos é o argumento comercial da SOA e aparece com frequência como item correto. Desconfie apenas quando vier acompanhado de promessas de desempenho ou de tempo real."}},{"id":"9edd7beae0fa","number":89,"stem":91,"statement":"A arquitetura cliente/servidor garante que todos os computadores que estejam interligados se comuniquem indiscriminadamente e atuem, ao mesmo tempo, como clientes e servidores de serviços e processos, trocando recursos entre si.","answer":"E","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"O que está descrito é uma rede par a par: nós simétricos que se comunicam indiscriminadamente e acumulam os dois papéis ao mesmo tempo. A arquitetura cliente-servidor é assimétrica por definição — o cliente pede, o servidor atende — e não garante comunicação de todos com todos.","distortion_type":"troca_de_termo","distorted_span":"se comuniquem indiscriminadamente e atuem, ao mesmo tempo, como clientes e servidores de serviços e processos","corrected_statement":"A arquitetura cliente/servidor estabelece que computadores clientes solicitem serviços e que computadores servidores os forneçam, em papéis distintos.","concept":"Cliente-servidor x peer-to-peer","citation":null,"trap_note":"Descrição simétrica, com todos sendo clientes e servidores ao mesmo tempo, é P2P. Se o item assinar cliente-servidor embaixo dessa descrição, está trocando o nome do modelo."}},{"id":"75d9324ab454","number":89,"stem":90,"statement":"No modelo operacional triangular, um dos três elementos da SOA é o registro do serviço, que determina o comportamento do dono do serviço e é o responsável por fornecer toda a infraestrutura de acesso e responder a requisições internas e externas.","answer":"E","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"No triângulo da SOA, o registro é o catálogo: o provedor publica nele a especificação do serviço e o consumidor o consulta para descobrir e localizar quem atende. Fornecer a infraestrutura de acesso e responder às requisições é papel do provedor do serviço, o terceiro vértice. O item mantém o nome do elemento certo e lhe dá as funções do provedor.","distortion_type":"atribuicao_errada","distorted_span":"que determina o comportamento do dono do serviço e é o responsável por fornecer toda a infraestrutura de acesso e responder a requisições internas e externas","corrected_statement":"No modelo operacional triangular, um dos três elementos da SOA é o registro do serviço, no qual o provedor publica a especificação e o consumidor descobre e localiza o serviço desejado.","concept":"Triângulo SOA: publicar, descobrir, vincular","citation":null,"trap_note":"Memorize o triângulo pelos verbos: provedor publica e atende, registro cataloga, consumidor descobre e vincula. Item que dê ao registro o atendimento das requisições trocou o vértice."}},{"id":"f69ee236a86b","number":90,"stem":93,"statement":"Os web services devem ser projetados para ser utilizados independentemente de paradigmas de programação.","answer":"C","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"O serviço web se define por um contrato publicado e por mensagens em formatos padronizados, trafegando sobre protocolos abertos. Como o consumidor só enxerga esse contrato, nada no modelo o prende a um paradigma de programação: cliente e provedor podem ser orientados a objetos, procedurais ou funcionais, em linguagens distintas. Independência de plataforma, de linguagem e de paradigma é o objetivo declarado da tecnologia.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Serviços web são independentes de linguagem e paradigma","citation":null,"trap_note":"Interoperabilidade é a razão de existir do serviço web. Qualquer exigência de mesma linguagem, mesmo paradigma ou mesma plataforma entre as pontas contraria o conceito."}},{"id":"4c226050fbd3","number":90,"stem":91,"statement":"Os protocolos de roteamento interno de uma rede incluem o protocolo RIP, que utiliza um algoritmo de menor caminho, e o protocolo OSPF, que utiliza um algoritmo mais simples, com base em tabelas de vetor distância.","answer":"E","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"Os algoritmos estão trocados. O RIP é o protocolo simples, baseado em vetor de distância e contagem de saltos; o OSPF é o de estado de enlace, que executa o algoritmo de menor caminho de Dijkstra e é o mais elaborado dos dois. Ambos são de fato protocolos internos, e é só nessa parte que o item acerta.","distortion_type":"inversao","distorted_span":"que utiliza um algoritmo de menor caminho, e o protocolo OSPF, que utiliza um algoritmo mais simples, com base em tabelas de vetor distância","corrected_statement":"Os protocolos de roteamento interno de uma rede incluem o protocolo RIP, que utiliza um algoritmo mais simples, com base em tabelas de vetor distância, e o protocolo OSPF, que utiliza um algoritmo de menor caminho.","concept":"RIP vetor de distância x OSPF estado de enlace","citation":null,"trap_note":"RIP conta saltos, OSPF calcula custo por Dijkstra. Quando o item descreve os dois na mesma frase, confira o par inteiro em vez de validar cada metade isoladamente."}},{"id":"bf903343e1f2","number":90,"stem":90,"statement":"Em um modelo SOA, os desenvolvedores criam novas aplicações organizando uma coleção de serviços, em vez de construir um programa de software inteiro, o que elimina redundâncias de código em múltiplas aplicações, como, por exemplo, no pedido de um empréstimo bancário simples, que compreende um conjunto de serviços.","answer":"C","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"Em SOA, construir uma aplicação é orquestrar serviços já existentes em vez de escrever um programa inteiro do zero. Como cada funcionalidade — consulta cadastral, análise de crédito, cálculo de parcelas, registro contábil — existe uma vez só e é chamada por quem precisar, deixa de ser reimplementada em cada sistema, e é nesse sentido que se eliminam redundâncias de código entre múltiplas aplicações. O empréstimo bancário é o exemplo típico de composição de serviços.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Composição de serviços elimina código redundante","citation":null,"trap_note":"Reúso em SOA é reúso de serviço em execução, não cópia de código entre projetos. Guarde a distinção: a funcionalidade existe uma vez e é chamada por muitos."}},{"id":"fa8af4165a47","number":91,"stem":91,"statement":"O conceito de nuvens comunitárias se refere a uma infraestrutura de nuvem disponibilizada ao público em geral, ao passo que o conceito de nuvens híbridas se refere a uma infraestrutura de nuvem disponibilizada para uso exclusivo de uma organização.","answer":"E","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"As definições apresentadas são de outros dois modelos: infraestrutura aberta ao público em geral é nuvem pública, e infraestrutura de uso exclusivo de uma organização é nuvem privada. Nuvem comunitária serve a um grupo de organizações com interesses comuns, e nuvem híbrida é a composição de dois ou mais modelos distintos.","distortion_type":"troca_de_termo","distorted_span":"nuvens comunitárias se refere a uma infraestrutura de nuvem disponibilizada ao público em geral","corrected_statement":"O conceito de nuvens públicas se refere a uma infraestrutura de nuvem disponibilizada ao público em geral, ao passo que o conceito de nuvens privadas se refere a uma infraestrutura de nuvem disponibilizada para uso exclusivo de uma organização.","concept":"Modelos de implantação de nuvem","citation":"NIST SP 800-145","trap_note":"São quatro modelos de implantação: pública, privada, comunitária e híbrida. A banca costuma dar duas definições corretas e trocar os rótulos entre elas."}},{"id":"90ef18f92126","number":91,"stem":93,"statement":"O servidor web é responsável pelo armazenamento e pela disponibilização dos dados solicitados pelas páginas web.","answer":"E","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"O servidor web atende requisições HTTP e entrega páginas e recursos, acionando, quando é o caso, a aplicação que gera o conteúdo dinâmico. O armazenamento dos dados consultados pelas páginas é do servidor de banco de dados, em outra camada. O item funde dois papéis distintos da arquitetura em camadas num só componente.","distortion_type":"atribuicao_errada","distorted_span":"pelo armazenamento e pela disponibilização dos dados solicitados pelas páginas web","corrected_statement":"O servidor web é responsável pelo atendimento das requisições HTTP e pela disponibilização das páginas e dos recursos web, cabendo o armazenamento dos dados ao servidor de banco de dados.","concept":"Servidor web entrega conteúdo; SGBD armazena dados","citation":null,"trap_note":"Servidor web, servidor de aplicação e servidor de banco ocupam camadas diferentes: entregar conteúdo, executar regra de negócio e guardar dado. Item que junte duas dessas funções num componente só está errado."}},{"id":"b48d48da83dd","number":92,"stem":93,"statement":"A comunicação assíncrona pode ser implementada com o objetivo de proporcionar baixo acoplamento em SOA.","answer":"C","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"Na chamada síncrona o consumidor fica bloqueado à espera da resposta e depende da disponibilidade imediata do provedor. Trocando para comunicação assíncrona, por mensagens ou eventos, o consumidor entrega o pedido e segue: as duas pontas deixam de depender uma da outra no tempo, o que reduz o acoplamento e aumenta a tolerância a indisponibilidades — objetivo legítimo de projeto em SOA.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Assincronismo reduz acoplamento temporal","citation":null,"trap_note":"Desacoplamento tem dimensões: de identidade, de tempo e de plataforma. O assincronismo ataca a dimensão temporal, e é por isso que a banca o associa a baixo acoplamento."}},{"id":"88146beae16b","number":102,"stem":94,"statement":"Para que um web service funcione corretamente, os softwares cliente/servidor devem ser escritos na mesma linguagem.","answer":"E","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"O serviço web nasceu para o caso oposto: o contrato e os formatos de mensagem são padronizados e independentes de tecnologia, de modo que um cliente escrito em uma linguagem consuma um provedor escrito em outra, em plataformas diferentes. Exigir a mesma linguagem nas duas pontas eliminaria a interoperabilidade, que é o próprio motivo de existir da tecnologia.","distortion_type":"inversao","distorted_span":"devem ser escritos na mesma linguagem","corrected_statement":"Para que um web service funcione corretamente, os softwares cliente/servidor podem ser escritos em linguagens diferentes.","concept":"Interoperabilidade independe de linguagem","citation":null,"trap_note":"Sempre que um item impuser uniformidade tecnológica a uma tecnologia de integração, ele está negando aquilo que a tecnologia resolve. A resposta quase sempre é errado."}},{"id":"4ae88f13c86e","number":72,"stem":95,"statement":"Os serviços disponibilizados pela SOA possuem baixo acoplamento de funcionalidades e evitam chamadas diretas ao código a ser executado. Eles fornecem, então, protocolos para enviar e receber mensagens através de barramentos de serviços ou de Web Services.","answer":"C","source":{"slug":"TJDFT_15_SERVIDOR","ano":2015},"explanation":{"verdict_reason":"Em SOA o consumidor invoca o serviço por mensagens, através de um barramento ou de web services, e não chama diretamente o código da implementação. É essa mediação por mensagem e contrato que produz o baixo acoplamento entre as funcionalidades.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Invocação por mensagem, não por chamada de código","citation":null,"trap_note":"Baixo acoplamento em SOA vem da mediação: mensagem, contrato e barramento no lugar da chamada direta. Item que descreva o consumidor ligando-se ao código do provedor contraria o modelo."}}]}