Pular para o conteúdo

Provas

← Voltar para a lista de provas

Marinha do Brasil — Concurso Público CP-T/2022 (Quadro Técnico do Corpo Auxiliar da Marinha) — Informática — Prova Amarela

Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática

Serviço de Seleção do Pessoal da Marinha (SSPM)2022

50 questões nesta prova · página 1 de 3 · 49 com gabarito

Gerência de Projetos Escritório de Gerenciamento de Projetos (PMO)

Serviço de Seleção do Pessoal da Marinha (SSPM) 2022

Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática · Caderno Amarela

Gabarito disponível

De acordo com Heldman (2009), sobre o escritório de gerenciamento de projetos (Project Management Office - PMO), analise as afirmativas abaixo e assinale a opção correta.

I- O PMO avalia os projetos concluídos de acordo com sua adesão ao plano de gerenciamento dos custos.
II- O PMO somente pode existir na estrutura organizacional funcional.
III- O PMO se encarrega da manutenção e arquivamento da documentação dos projetos para referência futura.
Selecione uma alternativa

Resolução comentada

O PMO avalia a aderência aos planos e arquiva a documentação, e pode existir em várias estruturas.

Segundo Heldman, o PMO avalia os projetos concluídos quanto à aderência aos planos e mantém e arquiva a documentação para referência futura. As afirmativas I e III estão corretas. A II é falsa, porque o PMO não existe somente na estrutura funcional.

Análise das alternativas

A, B, C e D) Erradas, pois cada uma exclui uma afirmativa verdadeira ou inclui a II, que é falsa. O PMO pode existir em estruturas funcionais, matriciais ou projetizadas.

Referência: Heldman, Gerência de Projetos — PMO.

Resolução comentada do VaiConcursos.

Programação XPath e Serialização em Java (transient)

Serviço de Seleção do Pessoal da Marinha (SSPM) 2022

Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática · Caderno Amarela

Gabarito disponível

Diante da impossibilidade de realizar a leitura direta do Banco de Dados de determinado portal de dados públicos, uma companhia realiza a leitura das informações de interesse de forma automatizada por meio de um algoritmo de webscrapping, que encontra partes da página por meio da linha de código '//div[@id="dados_pessoas"]', dentre outras.

Em seguida, os dados são carregados em instâncias que implementam a interface "Serializable", da classe "br.mil.marinha.Pessoa" e possui certos atributos definidos como "transient".

Ressalta-se que um dos requisitos é não permitir que informações sensíveis, como dados de saúde, tramitem na API, cuja segurança é considerada baixa.

Acerca do código citado ('//div[@id="dados_pessoas"]') exemplificado para o algoritmo de webscrapping e a classe JAVA, cuja arquitetura está ilustrada na figura a seguir, assinale a opção correta.

Diagrama: página HTML integrada a banco de dados Oracle lida por um algoritmo de webscrapping; o resultado passa para uma classe Java, que envia os dados por uma API a um código Python para data analytics.
Selecione uma alternativa

Programação Orientada a Objetos Modificadores de Acesso e Interfaces em Java (UML)

Serviço de Seleção do Pessoal da Marinha (SSPM) 2022

Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática · Caderno Amarela

Gabarito disponível

Considere o sistema desenvolvido em linguagem JAVA para implementar o diagrama UML expresso na figura abaixo. Esse sistema hipotético simula os meios operativos das Forças Armadas. Os métodos e atributos das classes e interfaces expressos abaixo foram omitidos. As interfaces se encontram precedidas pelo símbolo "I" dentro do círculo e as classes concretas se encontram precedidas pela letra "C". Sendo assim é correto afirmar que:

Diagrama de classes UML com os pacotes Marinha (Fragata, Corveta), ForcasArmadas (Lancha, Navio, Carro, Aviao, MeioDeTransporte), Exercito (TanqueDeGuerra) e Aeronautica (Jato). Fragata, Corveta e Lancha apontam para Navio; TanqueDeGuerra aponta para Carro; Jato aponta para Aviao; Navio, Carro e Aviao apontam, com linhas tracejadas, para MeioDeTransporte.
Selecione uma alternativa

Segurança da Informação Arquitetura SSL

Serviço de Seleção do Pessoal da Marinha (SSPM) 2022

Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática · Caderno Amarela

Gabarito disponível

Sobre a arquitetura SSL, segundo Stallings (2014), é correto afirmar que:
Selecione uma alternativa

Resolução comentada

O SSL define três protocolos de camada superior: Handshake, Change Cipher Spec e Alert.

Segundo Stallings, o SSL tem o Record Protocol na camada inferior. Acima dele ficam três protocolos: Handshake, Change Cipher Spec e Alert.

Análise das alternativas

A) Errada: o SSL se apoia no TCP, não no UDP. B) Errada: há duas camadas, Record na inferior e os demais protocolos na superior. C) Errada: a conexão SSL é uma relação ponto a ponto, não muitos-para-muitos. D) Errada: as sessões são criadas pelo Handshake Protocol e podem agrupar várias conexões.

Referência: Stallings, Criptografia e Segurança de Redes — SSL/TLS.

Resolução comentada do VaiConcursos.

Banco de Dados OLAP — Operações de Navegação

Serviço de Seleção do Pessoal da Marinha (SSPM) 2022

Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática · Caderno Amarela

Gabarito disponível

Segundo Barbieri (2011), em um banco de dados OLAP, as operações ROLL UP, DRILL DOWN e DRILL ACROSS têm por finalidade, respectivamente:
Selecione uma alternativa

Resolução comentada

Roll up generaliza, drill down detalha e drill across navega entre esquemas.

Roll up sobe na hierarquia e atinge um nível maior de generalização. Drill down desce na hierarquia e examina dados com maior detalhe. Drill across navega de um esquema (cubo) para outro.

Análise das alternativas

A) Errada: descreve slice e dice, e não as operações pedidas. B) Errada: mistura dice e rotate. C) Errada: descreve pivot e rotate. D) Errada: inverte roll up e drill down.

Referência: Barbieri, BI — Business Intelligence: Modelagem & Tecnologia (OLAP).

Resolução comentada do VaiConcursos.

Algoritmos e Estruturas de Dados Algoritmos de Ordenação — Complexidade

Serviço de Seleção do Pessoal da Marinha (SSPM) 2022

Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática · Caderno Amarela

Gabarito disponível

Assinale a opção em que é realizada, corretamente, a comparação entre diferentes pares de algoritmos de ordenação em termo de suas complexidades.
Selecione uma alternativa

Resolução comentada

No melhor caso, o bubble sort (O(n)) é mais rápido que o quick sort (O(n log n)).

O bubble sort com verificação de troca tem melhor caso O(n), quando a lista já está ordenada. O melhor caso do quick sort é O(n log n). Assim, o tempo do bubble sort nesse caso é menor.

Análise das alternativas

A) Errada: o pior caso do quick sort é O(n²) e o do merge sort é O(n log n). B) Errada: o quick sort usa O(log n) de espaço e o heap sort usa O(1). D) Errada: o merge sort usa O(n) e a inserção usa O(1). E) Errada: o quick sort usa O(log n) e a inserção usa O(1).

Referência: Cormen et al., Algoritmos; Ziviani, Projeto de Algoritmos.

Resolução comentada do VaiConcursos.

Segurança da Informação Desenvolvimento de Software Seguro — NC 16 DSIC/GSIPR

Serviço de Seleção do Pessoal da Marinha (SSPM) 2022

Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática · Caderno Amarela

Gabarito disponível

O Encarregado do Tenente Cauteloso o orientou sobre a importância da Norma Complementar nº 16 DSIC/GSIPR, de 21/11/12, que trata de diretrizes para o Desenvolvimento e Obtenção de Software Seguro nos Órgãos e Entidades da Administração. Em seguida, pediu que ele inspecionasse sua divisão para verificar adequação ao Guia de Segurança de Aplicações WEB (2021), desenvolvido pelo Ministério da Economia, que traz referências a publicações e a outros documentos técnicos, com destaque para aqueles do Open Web Application Security Project (OWASP) e do Center for Internet Security (CIS). Dentre os pontos observados pelo tenente em sua Divisão, assinale a opção que apresenta uma infração à norma citada.
Selecione uma alternativa

Resolução comentada

Tentativas de login, inclusive as malsucedidas, devem ser registradas em log.

O gabarito aponta a alternativa A como a infração. Boas práticas de segurança de aplicações web exigem registrar eventos de autenticação, inclusive as falhas, e a descrição indica que não houve nenhum registro. A ausência desses logs é, portanto, a inadequação.

Análise das alternativas

B) Não é a infração indicada pelo gabarito, embora seja uma prática fraca. C) Não é a infração indicada. D) Centralizar o log em rotina única é recomendado, não infração. E) Liberar recursos explicitamente não é infração, apenas redundante.

Referência: NC 16/IN01/DSIC/GSIPR; Guia de Segurança de Aplicações Web (2021), com base em OWASP.

Resolução comentada do VaiConcursos.

Segurança da Informação Ameaças e Ataques na Web

Serviço de Seleção do Pessoal da Marinha (SSPM) 2022

Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática · Caderno Amarela

Gabarito disponível

Considerando os tipos de ataques e ameaças na Web, segundo Stallings (2014), assinale a opção correta.
Selecione uma alternativa

Resolução comentada

Modificação de dados do usuário ameaça a integridade; a contramedida é o checksum criptográfico.

Segundo Stallings, a modificação de dados do usuário é uma ameaça à integridade. A contramedida indicada é o uso de checksums criptográficos.

Análise das alternativas

B) Errada: a espionagem na rede ameaça a confidencialidade, e a contramedida é a criptografia. C) Errada: o encerramento de threads é negação de serviço, que afeta a disponibilidade. D) Errada: a espionagem é ataque passivo, não ativo. E) Errada: personificação e alteração de mensagens são ataques ativos, não passivos.

Referência: Stallings, Criptografia e Segurança de Redes — segurança na Web (ameaças).

Resolução comentada do VaiConcursos.

Segurança da Informação Certificação Digital e Infraestrutura de Chaves Públicas (PKI)

Serviço de Seleção do Pessoal da Marinha (SSPM) 2022

Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática · Caderno Amarela

Gabarito disponível

Em relação a certificados de chave pública, é INCORRETO afirmar que:
Selecione uma alternativa

Resolução comentada

Certificados de chave pública estão ligados à criptografia assimétrica, não à simétrica.

Certificados digitais vinculam uma chave pública a uma entidade e são emitidos por uma Autoridade Certificadora. Fazem parte da infraestrutura de chaves públicas (PKI), baseada em criptografia assimétrica. Por isso é incorreto relacioná-los à criptografia simétrica.

Análise das alternativas

A) Correta: CRLs podem ser armazenadas junto dos certificados, por exemplo em um repositório ou diretório. B) Correta: é a definição de certificado. C) Correta: a emissão é feita, em geral, por uma CA. E) Correta: as entidades finais usam e dão suporte a serviços de PKI.

Referência: Stallings — PKI e certificados X.509.

Resolução comentada do VaiConcursos.

Sistemas Operacionais Linux — Gerenciamento de Processos e Sinais

Serviço de Seleção do Pessoal da Marinha (SSPM) 2022

Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática · Caderno Amarela

Gabarito disponível

Sobre gerenciamento de processos no Linux, segundo WARD (2015), é correto afirmar que:
Selecione uma alternativa

Resolução comentada

O controle de jobs envia sinais como TSTP (Ctrl-Z) e CONT.

Os shells suportam controle de jobs, que envia sinais aos processos por teclas e comandos. O Ctrl-Z envia TSTP, que suspende o processo de forma semelhante ao STOP. O sinal CONT retoma o processo (por exemplo, com fg ou bg).

Análise das alternativas

A) Errada: em uma CPU com um núcleo, o paralelismo é aparente, pois os processos se alternam. B) Errada: troca de contexto é o kernel alternando a CPU entre processos, não o processo alternando a si mesmo. C) Errada: fg não interrompe processos, apenas traz um job para o primeiro plano. D) Correta. E) Errada: processos de usuário rodam em modo usuário, e só o kernel roda em modo kernel.

Referência: Ward, Como o Linux Funciona — processos e controle de jobs.

Resolução comentada do VaiConcursos.

Engenharia de Software UML — Diagramas

Serviço de Seleção do Pessoal da Marinha (SSPM) 2022

Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática · Caderno Amarela

Gabarito disponível

Segundo Pressman (2021), sobre os diagramas da UML, assinale a opção INCORRETA.
Selecione uma alternativa

Resolução comentada

O diagrama de atividade mostra comportamento dinâmico e pode representar fluxos concorrentes.

A alternativa B é a incorreta. O diagrama de atividade modela comportamento dinâmico, ou seja, o fluxo de controle entre ações. Ele se diferencia do fluxograma justamente por poder representar fluxos concorrentes (fork e join).

Análise das alternativas

A) Correta: o diagrama de classes é estrutural e estático. C) Correta: o diagrama de sequência mostra a ordem temporal das mensagens. D) Correta: o diagrama de comunicação enfatiza as relações entre objetos. E) Correta: o diagrama de estados modela estados, ações e transições do objeto.

Referência: Pressman, Engenharia de Software — modelagem com UML.

Resolução comentada do VaiConcursos.

Redes de Computadores Transmissão sem Fio — Ondas de Rádio e Espectro de Dispersão

Serviço de Seleção do Pessoal da Marinha (SSPM) 2022

Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática · Caderno Amarela

Gabarito disponível

Acerca de sistemas de transmissão sem fio, segundo Tanenbaum (2021), assinale a opção correta.
Selecione uma alternativa

Resolução comentada

Na banda HF as ondas ricocheteiam na ionosfera e alcançam grandes distâncias.

Na banda HF (3 a 30 MHz) as ondas são refletidas pela ionosfera e podem percorrer grandes distâncias. Por isso esta faixa é muito usada por militares e radioamadores. Segundo Tanenbaum, essas ondas também tendem a ser absorvidas pela Terra.

Análise das alternativas

A) Errada: nas bandas VLF, LF e MF as ondas seguem a curvatura da Terra (onda de superfície). A reflexão na ionosfera é característica da HF. B) Errada: a descrição é a do salto de frequência (FHSS), não a da sequência direta (DSSS). C) Errada: a descrição é a da sequência direta (DSSS), que usa código de dispersão. D) Errada: é o inverso. Ondas de alta frequência são mais absorvidas pela chuva, e as de baixa frequência atravessam melhor os obstáculos.

Referência: Tanenbaum, Redes de Computadores — Transmissão sem fio, espectro eletromagnético e rádio.

Resolução comentada do VaiConcursos.

Gerência de Projetos Estruturas Organizacionais

Serviço de Seleção do Pessoal da Marinha (SSPM) 2022

Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática · Caderno Amarela

Gabarito disponível

Assim como os projetos são únicos, as organizações em que eles são executados também o são. Sobre os tipos de estruturas organizacionais, segundo Heldman (2009), marque a opção correta.
Selecione uma alternativa

Resolução comentada

Na organização projetizada/de equipe dedicada, a equipe pode se dedicar ao projeto (gabarito D).

O gabarito indica D, que descreve uma equipe livre para se dedicar aos objetivos do projeto com distrações mínimas do departamento funcional. Essa característica é típica da estrutura projetizada, e a alternativa atribui à matricial uma ideia ligada a ela. Entre as opções, é a que o gabarito adota.

Análise das alternativas

A) Errada: na organização funcional o gerente de projeto tem pouca ou nenhuma autoridade. B) Errada: na projetizada a equipe costuma ficar no mesmo local. C) Errada pelo gabarito, apesar de a ideia de reportar-se a dois gerentes ser típica da matricial. E) Errada: na organização funcional as funções de apoio respondem ao gerente funcional.

Referência: Heldman – Gerência de Projetos (PMP), estruturas organizacionais.

Resolução comentada do VaiConcursos.

Programação Orientada a Objetos Conceitos de POO em Java (Encapsulamento, Classes Abstratas, Polimorfismo e Herança)

Serviço de Seleção do Pessoal da Marinha (SSPM) 2022

Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática · Caderno Amarela

Gabarito disponível

O 1º Tenente (T) Posseidon iniciou um projeto de programação JAVA de uma nova classe chamada "Navio" com o objetivo de representar em código os meios operativos da Marinha do Brasil. Para isso, foi necessário que ele aplicasse devidamente os conceitos básicos de orientação a objetos. Os requisitos por ele encontrados são listados abaixo:

1. A classe "Navio" possuirá atributos fundamentais como o seu calado (altura do casco) ou a sua tonelagem (volume) - ambos de classe Double - além de métodos ligados a tais atributos que serão comuns a todos os navios. O tenente receberá novos programadores em sua divisão e precisa evitar que os programadores alterem ou acessem os atributos sensíveis do navio relativos às suas peças, motores e mecanismos internos por meio de códigos externos à classe, sob risco de comprometer as atividades de programação no futuro e gerar dificuldades de compatibilidade.
2. "Navio" é um tipo de "MeioAquatico", assim como a classe "Submarino" (que será programada posteriormente). A classe "Meios Aquáticos" não pode ser instanciada, mas possui métodos próprios e que são comuns tanto a submarinos quanto a navios, como, por exemplo, o método que lista o conjunto de tripulantes do meio. A definição de "MeioAquatico" deve utilizar o correto conceito de boa programação em JAVA para este contexto.
3. A classe "Navio" e a classe "Submarino" possuem, ambas, métodos de locomoção. Tais métodos são diferentes para cada um dos meios: navios apenas se movem na superfície do mar enquanto submarinos possuem um sistema tridimensional de locomoção, podendo alcançar uma profundidade máxima que depende de cada tipo de submarino.
4. "Corveta" e "Fragata" são classes que possuem atributos em comum com "Navio", além de atributos específicos a cada uma, como sistemas de armas ou radares de guerra. Assim, são versões especializadas de "Navio".

Assinale a opção com os conceitos mais específicos e apropriados de Programação Orientada a Objetos em JAVA, respectivamente, para cada um dos pontos apresentados.
Selecione uma alternativa

Resolução comentada

Encapsulamento, classe abstrata, polimorfismo e herança.

1) Proteger atributos sensíveis contra acesso externo é encapsulamento. 2) MeioAquatico não pode ser instanciado, mas tem métodos próprios, então é uma classe abstrata. 3) Métodos de locomoção distintos em Navio e Submarino indicam polimorfismo. 4) Corveta e Fragata especializam Navio, o que é herança.

Análise das alternativas

A) Inverte os itens 3 e 4. C e D) Usam interface no item 2, mas interfaces não têm métodos com implementação própria, como a listagem de tripulantes (e isso exige classe abstrata). E) Começa por polimorfismo e termina com interface, o que não corresponde aos requisitos.

Referência: Programação orientada a objetos em Java.

Resolução comentada do VaiConcursos.

Engenharia de Software CMMI — Níveis de Maturidade e Áreas de Processo

Serviço de Seleção do Pessoal da Marinha (SSPM) 2022

Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática · Caderno Amarela

Gabarito disponível

Segundo Fernandes (2014), o Capability Maturity Model Integration (CMMI) oferece duas abordagens distintas para a sua implementação: a Abordagem por Estágios e a Abordagem Contínua. A Abordagem por estágios é baseada em cinco níveis de maturidade. Assinale a opção que apresenta apenas áreas de processo do nível de maturidade 2-Gerenciado.
Selecione uma alternativa

Resolução comentada

Áreas do nível 2: Medição e Análise, Gestão de Requisitos e Gestão da Configuração.

No CMMI por estágios, o nível 2 (Gerenciado) inclui REQM, PP, PMC, SAM, MA, PPQA e CM. Assim, Medição e Análise, Gestão de Requisitos e Gestão da Configuração estão todas nele.

Análise das alternativas

B) Gestão do Desempenho Organizacional é nível 5 e Validação é nível 3. C) Gestão de Riscos, Solução Técnica e Desenvolvimento de Requisitos são nível 3. D) Solução Técnica e Verificação são nível 3. E) Análise e Resolução de Causas é nível 5.

Referência: Fernandes – Qualidade de software / CMMI-DEV.

Resolução comentada do VaiConcursos.

Banco de Dados SGBDs, Hadoop e Armazenamento Colunar

Serviço de Seleção do Pessoal da Marinha (SSPM) 2022

Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática · Caderno Amarela

Gabarito disponível

Coloque F (falso) ou V (verdadeiro) nas afirmativas abaixo, sobre Sistemas de Gerência de Banco de Dados (SGBDs), segundo Barbieri (2011), assinalando a seguir a opção correta.

( ) Os SGBD relacionais podem ser associados à gerência dos dados (data management), tradicional nos anos 1970 e os depósitos de recursos informacionais, como os data warehouses e data marts, podem ser associados à gerência da informação (information management).
( ) O Hadoop não é considerado propriamente um SGBD (Sistema Gerenciador de Bancos de Dados), ficando mais centrado na categoria de gerenciador distribuído de arquivos - DFMS (Distributed File Management System), permitindo o tratamento de dados estruturados e semiestruturados, sem suporte a dados não estruturados. O Hadoop é um framework de código aberto da Apache.
( ) No que se diz respeito ao armazenamento de bancos de dados, diferentemente do armazenamento tradicional, no qual as linhas de uma tabela são armazenadas como unidade de acesso dentro de um bloco, no armazenamento colunar a forma se inverte. Todas as colunas das tuplas/linhas são armazenadas de forma contígua dentro de um registro, facilitando os acessos quando se procura tratamento conjuntivo de colunas (soma, média, mínimo, máximo, count etc.).
Selecione uma alternativa

Resolução comentada

Sequência V, F, V segundo o gabarito.

A 1ª afirmativa é verdadeira: SGBDs relacionais associam-se à gerência de dados e data warehouses/data marts à gerência da informação. A 2ª é falsa, porque o Hadoop também trata dados não estruturados. A 3ª é considerada verdadeira conforme o gabarito, pois descreve o armazenamento colunar, que facilita agregações como soma, média e count.

Análise das alternativas

B) Considera a 3ª falsa. C) Considera a 1ª falsa e a 2ª verdadeira. D) Considera a 2ª verdadeira. E) Considera todas falsas.

Referência: Barbieri – Business Intelligence / Bancos de Dados (2011); Hadoop (Apache).

Resolução comentada do VaiConcursos.

Programação Java — HashMap e Colisão de Hash

Serviço de Seleção do Pessoal da Marinha (SSPM) 2022

Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática · Caderno Amarela

Gabarito disponível

O 1º Tenente (T) Cauteloso, ao ler acerca da problemática de colisão em variáveis do tipo HashMap escreveu o código Java abaixo.

import java.util.HashMap;
import br.marinha.mil.API.Pessoal

public static void main(String[] args){

HashMap<String, Militar> hashMapMilitares =
new HashMap<String, Militar>();
CadastroMilitares cadastroMilitares =
new Pessoal().load();
List<Militar> listaMilitares = cadastroMilitares.getMilitares();


for (Militar militar: listaMilitares) {
for (String nomeDeGuerra: hashMapMilitares.keySet()) {
if (nomeDeGuerra.hashCode().
equals(militar.getNomeDeGuerra.hashCode()) {
throw new Exception("Código hash duplicado - COLISÃO!");
}
}
hashMapMilitares.put(militar.getNomeDeGuerra(), militar);
}
}

O método "load()" da classe "Pessoal" carrega o cadastro de militares do banco de dados integrado ao sistema em uma classe "CadastroMilitares" que gerencia o conjunto de tais pessoas. Por meio do método getMilitares dessa classe, uma instância de HashList é carregada, onde "Militar" representa a classe com as informações referentes ao indivíduo, dentre os quais o nome de guerra, atributo do tipo String acessado mediante o getter "getNomeDeGuerra". Sabe-se que não existem dois militares com mesmo nome de guerra registrado. Assim, acerca do código acima e da preocupação do 1º Tenente (T) Cauteloso, assinale a opção correta.
Selecione uma alternativa

Resolução comentada

O HashMap do Java trata colisões internamente.

Colisões de hashCode são esperadas, e o HashMap as resolve internamente (encadeamento em lista ou árvore) usando equals para diferenciar as chaves. Por isso a verificação manual do tenente é desnecessária e o acesso aos dados não é prejudicado.

Análise das alternativas

A) Errada: objetos distintos podem ter o mesmo hashCode. B) Errada: o HashMap normalmente consome mais memória que um ArrayList. C) Errada: a colisão não gera erro no sistema. D) Errada: a colisão não sobrescreve valores; só chaves iguais (equals) o fazem.

Referência: Java – java.util.HashMap, tratamento de colisões.

Resolução comentada do VaiConcursos.

Algoritmos e Estruturas de Dados Busca Binária Recursiva (Python)

Serviço de Seleção do Pessoal da Marinha (SSPM) 2022

Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática · Caderno Amarela

Gabarito disponível

Considere o código de busca binária abaixo, escrito em linguagem Python.

def busca_binaria(arr, low, high, x):
print("OK")
if high >= low:

mid = (high + low) // 2
if arr[mid] == x:
return mid

elif arr[mid] > x:
return busca_binaria(arr, low, mid - 1, x)
else:
return busca_binaria(arr, mid + 1, high, x)

else:
return -1

arr = [5, 10, 30, 50, 70, 100, 120, 800]
resultado = busca_binaria(arr, 0, len(arr) - 1, 30)

Assim, a quantidade de vezes em que o string "OK" será impresso é igual a:
Selecione uma alternativa

Resolução comentada

A busca binária por 30 faz 3 chamadas, então imprime 'OK' 3 vezes.

Chamada 1: low=0, high=7, mid=3 (50 > 30), logo high=2. Chamada 2: mid=1 (10 < 30), logo low=2. Chamada 3: mid=2 (30), que é o valor procurado, e a função retorna. Como 'OK' é impresso a cada chamada, são 3 vezes.

Análise das alternativas

A) 2 desconsidera a chamada em que o valor é encontrado. C, D e E) Contariam chamadas adicionais que não ocorrem, pois a busca termina ao achar o elemento.

Referência: Algoritmo de busca binária recursiva em Python.

Resolução comentada do VaiConcursos.

Redes de Computadores TCP — Síndrome da Janela Inútil

Serviço de Seleção do Pessoal da Marinha (SSPM) 2022

Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática · Caderno Amarela

Gabarito disponível

Acerca do gerenciamento de janelas no TCP, de acordo com Tanembaum (2021), a síndrome do janelamento inútil pode arruinar o desempenho desse protocolo.
Assinale a opção que descreve esse problema.
Selecione uma alternativa

Resolução comentada

Síndrome da janela inútil: emissor envia blocos grandes e receptor lê um byte por vez.

Segundo Tanenbaum, o problema ocorre quando os dados chegam ao TCP transmissor em grandes blocos, mas uma aplicação interativa no receptor lê um byte por vez. O buffer do receptor abre pouco espaço, ele anuncia janelas minúsculas, e o transmissor passa a enviar segmentos pequenos e ineficientes.

Análise das alternativas

B e C) Erradas: a síndrome não trata do descarte de confirmações por tamanho de buffer. D) Errada: confunde a síndrome com limitação de vazão e com window probe, que é outro mecanismo. E) Errada: não se trata de excesso de ACKs nem de estouro de buffer no transmissor.

Referência: Tanenbaum e Wetherall – Redes de Computadores, camada de transporte (TCP).

Resolução comentada do VaiConcursos.

Engenharia de Software Metodologias Ágeis — XP

Serviço de Seleção do Pessoal da Marinha (SSPM) 2022

Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática · Caderno Amarela

Gabarito disponível

Os princípios de: Propriedade coletiva, Integração contínua, Programação em pares, Refatoração e Ritmo sustentável se referem a qual metodologia ágil, de acordo com Sommerville (2019)?
Selecione uma alternativa

Resolução comentada

Esses princípios pertencem ao XP (Extreme Programming).

Propriedade coletiva, integração contínua, programação em pares, refatoração e ritmo sustentável são princípios/práticas do XP na descrição de Sommerville.

Análise das alternativas

A) DevOps foca em integração entre desenvolvimento e operações. B) Scrum trata de sprints, papéis e cerimônias. D) Kanban foca em fluxo visual e limite de trabalho em progresso. E) Lean Development trata de eliminação de desperdícios.

Referência: Sommerville – Engenharia de Software, métodos ágeis (XP).

Resolução comentada do VaiConcursos.