Você está na página 1de 6

Conhecimento em Cloud & Devops

Nome: Patrick Alves Pádua

Cargo Área/Departamento Elaborado por


Engenheiro Devops Cloud & Devops George Cerqueira

INSTRUÇÕES: Este teste foi dividido em alguns temas de roadmap Cloud & Devops em
questões objetivas baseadas em parte da nossa stack atual. Não se preocupe, queremos
apenas conhecer o skill técnico do candidato. Boa sorte!

TEMPO LIMITE: 10 minutos


PONTUAÇÃO MÁXIMA: 10 pontos

TEMA: CI/CD

1. Você foi acionado por uma squad interna para resolver um incidente em uma pipeline.
Nesse cenário a pipeline utiliza uma infraestrutura de runners em autoscaler AWS EC2 em
modo Shared. Ao analisar o problema você percebe que existe uma falha ao inicializar a
pipeline e uma mensagem de "stuck" é exibida no Gitlab CI pipeline. Quais as possíveis causas
do problema? (Escolha 2 alternativas).

a. O serviço Docker TCP daemon pode não ter sido iniciado.


b. O pipeline não está com a tag do runner correspondente.
c. Não foi possível baixar a imagem ‘alpine’ do docker hub.
d. Foi usada uma instância EC2 do tipo spot.
e. O intervalo de checagem de novos jobs está muito curto.
f. Nenhuma das anteriores.

DOCUMENTO Nº 00.00.0000-0

1
2. Recebemos uma nova demanda de um cliente interno que nos solicita o provisionamento
de uma nova esteira CI/CD. Você identifica que não existem pipelines "ready to use" para
atender a solicitação do cliente. Você entende que a proposta do time Cloud&Devops seria
utilizar modelos de "Pipeline as Code" e "Multibranch Pipeline". Nesse caso quais das
alternativas melhor se aplicam aos conceitos respectivamente, e devem atender o cliente e
os requisitos do time Cloud&Devops (Escolha 2 alternativas)

a. Desenvolver o pipeline localmente e realizar a merge com a branch principal do cliente.


b. Publicar no repositório do projeto do cliente o código de pipeline completo que ele
precisa.
c. Desenvolver o pipeline em branch de desenvolvimento e criar uma tag específica no
repositório Devops.
e. Desenvolver o pipeline em branch de desenvolvimento e realizar a merge com a branch
master do repositório Devops.
f. Publicar no repositório do projeto do cliente o apontamento para o código de pipeline
completo que ele precisa.
CeE
3. Analise o trecho do Dockerfile a seguir e responda qual(is) instrução(s) falta(m) para
realizar o build correto da imagem e executar o programa helloworld.py?

####
FROM python:3
ADD helloworld.py /
RUN pip install requirements.txt
EXPOSE 3333
CMD [ "python", "./helloworld.py"]
####

a. RUN CHMOD 777 -R /


b. FROM python:latest
c. ADD requirements.txt /
d. RUN CHOWN root /
e. Nenhuma das anteriores

DOCUMENTO Nº 00.00.0000-0

2
C

TEMA: Networking and Security

1. Quantos endereços IPs estão disponíveis em uma subnet 192.168.1.0/28?

a. 14 endereços
b. 15 endereços
c. 16 endereços
d. 13 endereços
e. Nenhuma das anteriores

2. Para as melhores práticas de segurança da Informação é correto afirmar que:

a. Todos os usuários do sistema serão considerados convidados.


b. Será especificado o que é proibido, todo o restante será permitido.
c. Qualquer objeto só pode ter permissões básicas para executar as suas tarefas, e nenhuma
outra.
d. Haverá uma segurança mínima no sistema, mas que não será possível garantir a segurança
contra a exposição e os danos causados por ataques específicos.
e. Haverá um ponto de estrangulamento onde tudo será proibido, dependendo apenas da
profundidade de defesa do sistema.

TEMA: Cloud

DOCUMENTO Nº 00.00.0000-0

3
1. O que NÃO é correto afirmar sobre uma stack AWS Web Site estático?

a. O AWS WAF é uma defesa de protocolo da camada 7 (no modelo OSI).


b. O AWS CloudFront faz o papel de CDN (content delivery network).
c. O AWS Bucket S3 não pode compilar arquivos estáticos.
d. O AWS Route 53 pode resolver requisições as direcionando para o AWS CloudFront.
e. O AWS Bucket S3 opera em zona de disponibilidade(AZ).
f. Nenhuma das alternativas anteriores.

2. Você recebe um alerta da monitoração referente a um POD. Nesse cenário a infraestrutura


Openshift é executada na AWS. Ao analisar o problema você percebe que somente um dos
PODs da aplicação falham ao tentar inicializar e uma mensagem de "pending state" é exibida
na console do Openshift. Quais as possíveis causas do problema e possíveis linhas de
comandos para colocar o POD rapidamente no ar?

a. Aumentar o threshold da probe liveness e realizar novo deployment do POD.


b. kubectl drain NODE --ignore-daemonsets=true --delete-local-data=true
c. oc adm manage-node NODE --schedulable=true
d. Basta deletar o POD.
e. O POD roda em afinidade e o Node onde o POD estava teve algum problema.
f. Todas as anteriores.
E

TEMA: Programming Language

1. Você foi acionado por uma squad interna e eles se queixam que uma aplicação em
ambiente de testes não funciona. Você analisou a infraestrutura e a stack está up running.
Analise o trecho de código em nodejs abaixo e sinalize as linhas que podem ser a causa do
problema:

DOCUMENTO Nº 00.00.0000-0

4
#######
1 #!/usr/bin/env node
2 var amqp = require("amqplib/callback_api");
3 var mysql = require("mysql");

4 var RABBITMQ_HOST = process.env.RABBITMQ_HOST || "localhost";


5 var RABBITMQ_PORT = process.env.RABBITMQ_PORT || 5677;
6 var RABBITMQ_QUEUE = process.env.RABBITMQ_QUEUE || "queue";
######

a. Linha 2 e 3
b. Linha 2 e 4
c. Linha 4 e 5
d. Linha 4 e 6
e. Linha 2 e 5

2. Marque a opção correta sobre o que o trecho de código em python abaixo irá executar:

for x in range(5):
rs = requests.post(endpoint, json=payload)
print(rs.status_code)

a. Em um loop de 6 vezes será realizado um post no endpoint enviando um payload json e


exibindo o código de retorno do endpoint.
b. Em um loop de 5 vezes será realizado um post no endpoint enviando um payload json e
exibindo o código de retorno do endpoint.
c. Em uma sequência de loop será capturado na variável ‘rs’ o retorno de um post enviado à
um endpoint.
d. Em uma sequência de loop será capturado na variável ‘rs’ o retorno de um payload
enviado à um endpoint.
f. Nenhuma instrução será realizada, o trecho precisa ser identado.
B

DOCUMENTO Nº 00.00.0000-0

5
3. Analise o trecho de código bash e sinalize se a mensagem da instrução “Echo” será exibida:

#!/bin/bash
i=0

while [[ $i -lt 5 ]]
do
if [[ $i -lt 2 ]]; then
break
echo "Mensagem"
fi
((i++))
done

a. verdadeiro
b. falso
B

DOCUMENTO Nº 00.00.0000-0

Você também pode gostar