← Voltar para a lista de provas Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática 50 questões nesta prova · página 2 de 3 · 49 com gabarito Gabarito disponível Correlação das tarefas de engenharia de requisitos de Pressman. A sequência é: Elaboração (refina cenários do usuário), Negociação (priorização), Levantamento (transferir ideias dos envolvidos), Concepção (comunicação inicial), Validação (examina a especificação em busca de ambiguidades e omissões), Gestão (controla mudanças) e Especificação (documento, modelos ou protótipo). Isso dá III, IV, II, I, VI, VII, V. B, C, D e E) Trocam as posições de pelo menos uma tarefa e produzem uma ordem diferente da correta. Por exemplo, a concepção é o início da comunicação, e a gestão não aparece como elaboração ou negociação. Referência: Pressman e Maxim – Engenharia de Software, engenharia de requisitos. Resolução comentada do VaiConcursos. Gabarito disponível Provar a identidade a outra entidade pela rede é autenticação do ponto final. Kurose define autenticação do ponto final (end-point authentication) como o processo de uma entidade provar sua identidade a outra por uma rede, por exemplo um usuário perante um servidor de e-mail. A) 'Certificação de identidade' não é o termo usado. B) Criptossistema de chave refere-se a esquemas de criptografia. C) Assinatura digital indireta não é o conceito descrito. E) Handshake é a troca de mensagens para estabelecer uma conexão e não é o processo de autenticação em si. Referência: Kurose e Ross – Redes de Computadores e a Internet, segurança em redes. Resolução comentada do VaiConcursos. Gabarito disponível O GET condicional permite ao cache verificar se o objeto está atualizado. No GET condicional, o cache envia o cabeçalho If-Modified-Since. Se o objeto não mudou, o servidor responde 304 Not Modified, sem reenviar o conteúdo. Isso poupa banda e melhora o tempo de resposta. A) Errada: o HTTP/2 não altera métodos, códigos de status, URL nem campos de cabeçalho, e muda apenas a forma de transporte. B) Errada: o TCP oferece transferência confiável nos dois sentidos. C) Errada: o HTTP é sem estado, e a descrição confunde isso com conexões persistentes. D) Errada: a linha de requisição tem três campos: método, URL e versão do HTTP. Referência: Kurose e Ross – Redes de Computadores e a Internet, camada de aplicação (HTTP). Resolução comentada do VaiConcursos. Gabarito disponível Thread é a unidade básica de utilização da CPU. Segundo Silberschatz, a thread é a unidade básica de utilização da CPU e compreende ID, contador de programa, conjunto de registradores e pilha. Ela compartilha código, dados e recursos com as outras threads do mesmo processo. A) Kernel é o núcleo do SO. B) Driver de dispositivo controla hardware. C) Swap de processo é a troca de processos entre memória e disco. D) Paginação é uma técnica de gerência de memória. Referência: Silberschatz et al. – Fundamentos de Sistemas Operacionais, capítulo sobre threads. Resolução comentada do VaiConcursos. Gabarito disponível O laço duplo com func2 domina a complexidade: O(N⁴). O laço externo executa func1 N vezes, com custo total N·N = N². O laço interno executa cerca de N²/2 vezes uma func2 de custo O(N²), o que dá O(N⁴). O while executa log₃N vezes func3, com custo N²·log²N. O termo dominante é N⁴. A, B, C e D) Subestimam a complexidade, pois ignoram que o N²/2 chamadas de func2, cada uma O(N²), resultam em N⁴, que supera N³·log N e N²·log²N. Referência: Análise de complexidade assintótica (Cormen et al.). Resolução comentada do VaiConcursos. Gabarito disponível O bloqueio (lock) garante o isolamento em transações concorrentes. Para impedir que outras transações alterem um objeto em uso, o SGBD usa bloqueios (locks), que são a base do controle de concorrência. Assim se evitam problemas como atualização perdida, dependência não confirmada e análise inconsistente. A) Cache é um mecanismo de desempenho e não de isolamento. B) Commit confirma a transação. C) Logging serve à recuperação. E) Deadlock é um problema que o bloqueio pode causar, e não um mecanismo de proteção. Referência: C. J. Date – Introdução a Sistemas de Bancos de Dados (2004), controle de concorrência. Resolução comentada do VaiConcursos. Gabarito disponível mktemp cria arquivos temporários, e o script mostra as interrupções ocorridas em 2 s. mktemp substitui os XXXXX do template por caracteres únicos e cria um arquivo vazio com esse nome. O script grava /proc/interrupts em dois momentos, separados por 2 segundos, e o diff mostra o que mudou, ou seja, as interrupções ocorridas nesse intervalo. A, C e D) Erradas: $ALFA guarda o nome de um arquivo e não é o conteúdo das interrupções. O script não mostra variáveis de ambiente, e o diff não cria nomes de arquivos. E) Errada: o mktemp não depende do sleep, o cat grava em arquivos e não em variáveis, e a opção omite a função do diff e o resultado do script. Referência: Linux – mktemp, /proc/interrupts, diff. Resolução comentada do VaiConcursos. Questão anulada Gabarito disponível Fragmentação horizontal (sharding), vertical e híbrida. Em bancos distribuídos, a fragmentação horizontal (sharding) divide a relação em subconjuntos de tuplas. A vertical divide por colunas (atributos), e a híbrida combina as duas. A e B) Erradas: 'disjunção' não é a terminologia usada por Elmasri. C) Errada: inventa tipos de fragmentação (inclusiva, exclusiva, condicional) e atribui definições incorretas. D) Errada: inverte horizontal e vertical e mistura os tipos de fragmentação com os de alocação/replicação. Referência: Elmasri e Navathe – Sistemas de Banco de Dados, bancos de dados distribuídos. Resolução comentada do VaiConcursos. Gabarito disponível No IPv6, o campo Limite de Saltos é decrementado a cada roteador e o datagrama é descartado em zero. O Limite de Saltos (Hop Limit) equivale ao TTL do IPv4. Cada roteador o decrementa em 1 e descarta o datagrama quando chega a zero. A) Errada: o IPv6 não permite fragmentação nos roteadores intermediários, apenas na origem. B) Errada: o IPv6 removeu o checksum do cabeçalho. C) Errada: o cabeçalho tem tamanho fixo de 40 bytes, e a carga útil não é limitada a 20–40 bytes. D) Errada: o endereço que alcança qualquer membro de um grupo é o anycast, enquanto o multicast entrega a todos os membros. Referência: Kurose e Ross – Redes de Computadores e a Internet, formato do datagrama IPv6. Resolução comentada do VaiConcursos. Gabarito disponível Piggybacking: confirmação carona no próximo quadro de dados. Em vez de enviar um quadro de confirmação separado, o receptor retarda a confirmação e a anexa ao próximo quadro de dados que vai no sentido contrário. Essa técnica é o piggybacking e economiza largura de banda. A) Spanning tree é um protocolo de eliminação de laços em redes comutadas. C) Janela deslizante é o mecanismo de controle de fluxo e não é a técnica de carona. D) 'Next frame' não é uma técnica reconhecida. E) ACK é a própria confirmação, e não a técnica de enviá-la junto aos dados. Referência: Tanenbaum – Redes de Computadores, camada de enlace de dados. Resolução comentada do VaiConcursos. Gabarito disponível Rastreamento das chamadas mútuas teco/tico resulta em 201. teco(5,1,1000): 1 < 5000, então XF = 1000//3 = 333 e chama tico(5,1,333). Em tico, X0 = 201 e 5*201 = 1005, que não é menor que 333, então retorna X0 = 201.
A) 1, B) 111, D) 333 e E) 401 não correspondem ao fluxo de execução. O 333 é apenas o valor intermediário de XF, e 401 exigiria uma segunda chamada a tico, que não ocorre. Referência: Python – funções, recursão mútua e divisão inteira (//). Resolução comentada do VaiConcursos. Gabarito disponível Consolidação de servidores = vários servidores virtuais em um mesmo hardware. Na virtualização, a consolidação de servidores consiste em executar várias máquinas virtuais (servidores virtuais) em um único equipamento físico. Isso reduz custos e melhora o aproveitamento dos recursos. A) Errada: virtualização de desktop centraliza desktops virtuais em servidores, e não dedica uma máquina física a cada usuário. B) Errada: descreve balanceamento de carga/desempenho, e não disponibilidade. D) Errada: a virtualização existe em vários sistemas (Windows, Linux, Unix etc.). E) Errada: a camada de virtualização acrescenta sobrecarga, então o desempenho tende a ser inferior ao da execução direta. Referência: Machado e Maia – Arquitetura de Sistemas Operacionais (2013), capítulo sobre virtualização. Resolução comentada do VaiConcursos. Gabarito disponível O padrão Observer define dependência um-para-muitos com notificação das mudanças de estado. No Observer, quando o objeto central (subject) muda de estado, todos os objetos dependentes (observers) são notificados automaticamente. A descrição do enunciado corresponde a ele. A) Façade fornece uma interface simplificada para um subsistema. B) Iterator percorre elementos de uma coleção. C) Decorator acrescenta responsabilidades a objetos dinamicamente. E) Singleton garante uma única instância de uma classe. Referência: Bezerra (2014); padrões de projeto GoF. Resolução comentada do VaiConcursos. Gabarito disponível O ESB regulamenta como os serviços se comunicam e interagem. O barramento de serviços intermedeia a comunicação entre aplicações heterogêneas. Ele define e regula como os serviços interagem, com roteamento, transformação e mediação de protocolos. A) O ESB reduz o acoplamento. B) Ele existe justamente para ambientes heterogêneos. D) Ele trata de segurança e confiabilidade. E) Ele atua nas camadas de serviço e de componentes de serviço. Referência: Fugita e Hirama (2012); SOA e ESB. Resolução comentada do VaiConcursos. Gabarito disponível K-Means é um algoritmo de agrupamento adequado para encontrar tipos de indivíduos semelhantes. O problema é de aprendizado não supervisionado, em que se agrupam pontos pela posição no hiperespaço. O K-Means, testando vários valores de K, se aplica bem a isso. A) O k-fold é uma técnica de validação de modelos, não de agrupamento. B) O KNN é um algoritmo supervisionado de classificação, não de agrupamento. D) Transfer learning reaproveita modelos treinados e não resolve esse problema. E) Aprendizado por reforço exige agente, ambiente e recompensas, o que não existe no caso. Referência: Aprendizado não supervisionado; K-Means. Resolução comentada do VaiConcursos. Gabarito disponível Um método estático (func2) não tem acesso a this. func2 é chamado como Tamandare.func2(8), portanto é estático. Dentro de método estático não existe this, e usar this.CHARLIE gera erro de compilação. A) Nada indica que func1 independa de variáveis de instância. B) func2 é estático, então a assinatura sem static não serve. D) Não há garantia sobre a ordem de carregamento das definições de métodos. E) Variáveis estáticas, como BRAVO, são inicializadas na carga da classe, antes das de instância, como ALPHA. Referência: Java: membros estáticos e de instância. Resolução comentada do VaiConcursos. Gabarito disponível Operação de Serviço cuida das atividades do dia a dia e da entrega e suporte eficientes dos serviços. Na ITIL v3, a Operação de Serviço orienta como garantir a entrega e o suporte dos serviços de forma eficiente e eficaz, nas atividades diárias. B) Refere-se à Estratégia de Serviço. C) Refere-se ao Desenho de Serviço. D) Refere-se à Transição de Serviço. E) Refere-se à Melhoria Contínua de Serviço. Referência: Fernandes (2014); ITIL v3. Resolução comentada do VaiConcursos. Gabarito disponível Gabarito disponível Retirar a penalidade LASSO tende a aumentar o overfitting. A penalidade LASSO é uma regularização que combate o overfitting. Removê-la deixa o modelo mais livre para se ajustar ao ruído, agravando o problema. Por isso A é a proposta incorreta. B) Reduzir variáveis diminui a complexidade. C) O early stopping interrompe o treinamento antes do sobreajuste. D) Menos camadas reduzem a capacidade do modelo. E) Mais árvores no Random Forest reduzem a variância e não causam overfitting adicional. Referência: Aprendizado de máquina; regularização L1 (LASSO). Resolução comentada do VaiConcursos.Marinha do Brasil — Concurso Público CP-T/2022 (Quadro Técnico do Corpo Auxiliar da Marinha) — Informática — Prova Amarela
TAREFA
I- Concepção
II- Levantamento
III- Elaboração
IV- Negociação
V- Especificação
VI- Validação
VII- Gestão
DESCRIÇÃO
( ) É guiada pela criação e pelo refinamento de cenários do usuário obtidos durante a tarefa anterior.
( ) Nesta tarefa devemos solicitar a clientes, usuários e outros envolvidos para que ordenem seus requisitos e discutam sua prioridade.
( ) A intenção desta tarefa é transferir ideias dos envolvidos para a equipe de software de forma harmônica e sem atrasos.
( ) A comunicação entre todos os envolvidos e a equipe de software deve ser estabelecida durante essa tarefa para dar início a uma colaboração eficaz.
( ) Esta tarefa examina a anterior para garantir que todos os requisitos de software tenham sido declarados de forma não ambígua; que as inconsistências, as omissões e os erros tenham sido detectados e corrigidos; e que os artefatos estejam de acordo com os padrões estabelecidos para o processo, o projeto e o produto.
( ) Esta tarefa ajuda a equipe de projeto a identificar, controlar e acompanhar as necessidades e suas mudanças à medida que o projeto prossegue.
( ) Pode ser um documento por escrito, um conjunto de modelos gráficos, um modelo matemático formal, um conjunto de cenários de uso, um protótipo ou qualquer combinação dos fatores citados.Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
import libtamandare as ltan
hash_final = 0
for i in range(0, N):
hash_final += ltan.func1(N, hash_final)
for j in range(i, N):
hash_final %= ltan.func2(N, hash_final)
iter = 1
while iter < N:
iter *= 3
hash_final -= ltan.func3(N, hash_final)
return hash_finalResolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
#!/bin/sh
ALFA=$(mktemp /tmp/im1.XXXXX)
BRAVO=$(mktemp /tmp/im2.XXXXX)
cat /proc/interrupts > $ALFA
sleep 2
cat /proc/interrupts > $BRAVO
diff $ALFA $BRAVO
rm -f $ALFA $BRAVO
Sobre esse programa, assinale a opção correta.Resolução comentada
Análise das alternativas
def treino1(rede_neural, n0, learning_rate):
gradiente = 0
for amostra in lista_amostras:
saida = rede_neural.get_saida(amostra.valor)
erro = rede_neural.get_erro(saida, amostra.saida_esperada)
gradiente += rede_neural.backpropagation(erro)
rede_neural.update_weights(n0 * gradiente)
return rede_neural
def treino2(rede_neural, n0):
for amostra in lista_amostras:
saida = rede_neural.get_saida(amostra.valor)
erro = rede_neural.get_erro(saida, amostra.saida_esperada)
gradiente = rede_neural.backpropagation(erro)
rede_neural.update_weights(n0 * gradiente)
return rede_neural
def treino3(rede_neural, n0, fator_n):
n = n0
for amostra in lista_amostras:
saida = rede_neural.get_saida(amostra.valor)
erro = rede_neural.get_erro(saida, amostra.saida_esperada)
gradiente = rede_neural.backpropagation(erro)
rede_neural.update_weights(n * gradiente)
n *= fator_n
return rede_neural
Assim, "rede_neural" representa o modelo de Aprendizado de Máquina e possui os métodos get_saida, que calcula o valor previsto pela rede com base na entrada e o método get_erro, que calcula o erro com base no valor previsto e no valor de referência, respectivamente. Além disso, o objeto "rede_neural" armazena todos os parâmetros da rede, possui a função "backpropagation" para calcular o gradiente do erro em um hiperespaço vetorial, no qual cada dimensão corresponde a um peso e a função "update_weights" para somar aos pesos o valor fornecido em seu argumento. Assinale a opção correta tendo como base os códigos apresentados.Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
def tico(X, X0, XF):
X0 += 200
if X * X0 < XF:
return teco(X, X0, XF)
return X0
def teco(X, X0, XF):
if X0 < X * XF:
XF //= 3
return tico(X, X0, XF)
return XF
X = teco(5, 1, 1000)
print(X)
O valor impresso em tela ao executá-lo é igual a:Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
class Tamandare {
public Integer ALPHA = 1;
public static Integer BRAVO = 2;
public Integer CHARLIE = 3;
// Os métodos se encontram propositalmente omitidos do código
public void main(String[] args) {
Tamandare t = new Tamandare();
System.out.println(t.func1(3) + Tamandare.func2(8) + t.func3(3.14));
}
}
Sabe-se que não houve erro no código na chamada à classe "Tamandaré" e a seus métodos em main. Sabe-se, também, que func1, func2 e func3 foram definidas apenas uma vez na classe. Assim, de acordo com os dados, é correto afirmar que:Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
![]()
De acordo com Pressman (2021), como é chamado o método ágil, utilizado na engenharia de software, apresentado acima?Resolução comentada
Análise das alternativas
De acordo com Pressman (2021), a engenharia de requisitos abrange sete tarefas distintas: concepção, levantamento, elaboração, negociação, especificação, validação e gestão. Correlacione cada tarefa com sua descrição e assinale a opção correta.
Segundo Kurose (2021), o processo de provar a identidade de uma entidade à outra entidade por uma rede de computadores, por exemplo, um usuário provando sua identidade a um servidor de correio eletrônico, é conhecido pelo nome de:
O protocolo HTTP define um conjunto de métodos de requisição responsáveis por indicar a ação a ser executada para um dado recurso. Sobre esse protocolo, segundo Kurose (2021), pode se afirmar que:
Segundo Silberschatz (2015), como é chamada uma unidade básica de utilização da CPU, composta por um ID, um contador de programa, um conjunto de registradores e uma pilha?
Considere o código Python abaixo, projetado, hipoteticamente, para implementar uma função de hash aplicada no âmbito da segurança cibernética da Marinha do Brasil. Sabe-se que as complexidades em termos de tempo de execução de "func1", "func2" e "func3" são definidas com base no parâmetro único "N" de entrada de cada uma delas e são iguais, respectivamente, a O(N), O(N²) e O(N².log(N)). Assinale a opção com a correta complexidade global do código em função de "N".
Segundo Date (2004), são três os problemas de concorrência em bancos de dados. De forma a garantir o isolamento das transações ACID, é necessário "impedir que outras transações atuem" sobre o objeto em questão e portanto, em particular, impedir que elas alterem o objeto. Assim, um mecanismo usualmente empregado para garantir a integridade dos dados em operações concorrentes atua por meio de operações de:
Um administrador escreveu um script shell chamado "teste", apresentado abaixo.
Determinada topologia de Rede Neural Artificial profunda (RNA) foi treinada em diferentes funções escritas em linguagem Python. Cada uma das formas de treino foram parametrizadas nas funções treino1, treino2 e treino3, expressas no código abaixo.
De acordo com Elmasri (2018), em projetos de bancos de dados distribuídos, é possível dividir os dados em unidades lógicas de acordo com as técnicas de:
Sobre o IPV6, segundo Kurose (2021), assinale a opção correta.
Segundo Tanenbaum (2021), a técnica de retardar temporariamente as confirmações e enviá-las junto com o próximo quadro de dados, melhorando a utilização da largura de banda disponível para o canal, é conhecida pelo nome de:
Considere o código abaixo, escrito em linguagem Python.
Segundo Machado (2013), acerca de virtualização, assinale a opção correta.
Segundo Bezerra (2014), o padrão de projeto que possui por objetivo definir de forma flexível uma dependência um-para-muitos entre objetos, no sentido de que, se houver alguma modificação no estado do objeto central, os objetos dependentes devem ser notificados é chamado:
Para atender a seu contexto de negócio, uma Organização Militar (OM) da Marinha possui diversas aplicações desenvolvidas em diferentes plataformas e linguagens de programação. Ressalta-se que essas aplicações possuem dados em comum e precisam se comunicar. Dessa forma, a OM resolveu empregar a Arquitetura Orientada a Serviços (SOA) com a utilização de um barramento de serviços ou Enterprise Service Bus (ESB). Assim, em relação ao barramento empregado, é correto afirmar que:
Uma companhia de streaming de música, por meio do monitoramento constante dos cookies de seus usuários e do envio de amplo conjunto de informações pessoais dos mesmos (que aceitam o compartilhamento de seus dados como condição da instalação do aplicativo) conseguiu mapear cada indivíduo em um hiperespaço de 19 variáveis numéricas. Cada uma representa um nível diferente de sentimento (tristeza, alegria, dor etc.). A empresa deseja desenvolver um algoritmo para detectar tipos de indivíduos com sentimentos parecidos. Acerca desse problema e sabendo que apenas as posições dos pontos serão utilizadas pelo algoritmo, assinale a opção correta.
Considere os códigos abaixo.
Segundo Fernandes (2014), o núcleo da Information Technology Infrastructure Library (ITIL) é composto por cinco publicações, cada uma delas relacionada a um estágio do ciclo de vida do serviço. Sobre o estágio Operação de Serviço, assinale a opção correta.
Observe a figura abaixo:
O Chefe do Departamento de Treinamento de Modelos de I.A de determinado Banco de Investimento recebe em sua sala cinco cientistas de dados (cada um com um diferente modelo treinado e desenvolvido) e verifica que todos eles possuem a mesma queixa: o comprometimento da capacidade de generalização em decorrência da problemática do overfitting. Cada opção abaixo representa um modelo desenvolvido e a respectiva proposta de solução de um dos cientistas de dados. Assim assinale a opção com a proposta INCORRETA.