dezembro 21, 2025
13 min de leitura

Perguntas para Entrevista de Engenheiro Cloud Júnior GCP: Guia Completo

interview
career-advice
job-search
entry-level
Perguntas para Entrevista de Engenheiro Cloud Júnior GCP: Guia Completo
MB

Milad Bonakdar

Autor

Domine os fundamentos essenciais do GCP com perguntas abrangentes para entrevistas, cobrindo Compute Engine, Cloud Storage, VPC, IAM e os principais conceitos do Google Cloud para cargos de engenheiro cloud júnior.


Introdução

O Google Cloud Platform (GCP) é um conjunto abrangente de serviços de computação em nuvem que oferece recursos de computação, armazenamento, rede, big data e aprendizado de máquina. Como um(a) engenheiro(a) de nuvem júnior, você precisará de conhecimento fundamental dos principais serviços do GCP para construir e gerenciar a infraestrutura de nuvem.

Este guia aborda as principais perguntas de entrevista para engenheiros(as) de nuvem GCP juniores, com foco em Compute Engine, Cloud Storage, VPC e IAM.


GCP Compute Engine

1. O que é o Google Compute Engine e quais são seus principais casos de uso?

Resposta: O Compute Engine fornece máquinas virtuais escaláveis executadas nos data centers do Google.

Principais Características:

  • Tipos de máquina personalizados ou predefinidos
  • Discos persistentes e SSDs locais
  • VMs preemptivas para economia de custos
  • Migração dinâmica para manutenção
  • Balanceamento de carga global

Casos de Uso:

  • Hospedagem web
  • Servidores de aplicação
  • Processamento em lote
  • Computação de alto desempenho
# Criar instância de VM
gcloud compute instances create minha-instancia \
  --zone=us-central1-a \
  --machine-type=e2-medium \
  --image-family=debian-11 \
  --image-project=debian-cloud

# Listar instâncias
gcloud compute instances list

# SSH na instância
gcloud compute ssh minha-instancia --zone=us-central1-a

# Parar instância
gcloud compute instances stop minha-instancia --zone=us-central1-a

Raridade: Muito Comum Dificuldade: Fácil


2. Explique a diferença entre Discos Persistentes e SSDs Locais.

Resposta:

CaracterísticaDisco PersistenteSSD Local
DurabilidadeOs dados persistem independentementeDados perdidos quando a VM é interrompida
DesempenhoBomExcelente (baixa latência)
TamanhoAté 64 TBAté 9 TB
Caso de UsoDiscos de inicialização, armazenamento de dadosCache temporário, espaço de rascunho
CustoMais baixoMais alto
SnapshotsSuportadoNão suportado

Exemplo:

# Criar VM com disco persistente
gcloud compute instances create minha-vm \
  --boot-disk-size=50GB \
  --boot-disk-type=pd-ssd

# Criar VM com SSD local
gcloud compute instances create minha-vm \
  --local-ssd interface=NVME

Raridade: Comum Dificuldade: Fácil-Médio


GCP Cloud Storage

3. Quais são as diferentes classes de armazenamento no Cloud Storage?

Resposta: O Cloud Storage oferece várias classes para diferentes padrões de acesso:

ClasseCaso de UsoDisponibilidadeDuração MínimaCusto
StandardAcessado frequentemente99,95%NenhumaMais alto
Nearline< uma vez/mês99,9%30 diasMais baixo
Coldline< uma vez/trimestre99,9%90 diasMuito baixo
Archive< uma vez/ano99,9%365 diasMais baixo
# Criar bucket
gsutil mb -c STANDARD -l us-central1 gs://meu-bucket

# Fazer upload do arquivo
gsutil cp meuarquivo.txt gs://meu-bucket/

# Listar objetos
gsutil ls gs://meu-bucket/

# Fazer download do arquivo
gsutil cp gs://meu-bucket/meuarquivo.txt ./

# Alterar classe de armazenamento
gsutil rewrite -s NEARLINE gs://meu-bucket/meuarquivo.txt

Raridade: Muito Comum Dificuldade: Fácil-Médio


GCP VPC (Virtual Private Cloud)

4. O que é uma VPC e quais são seus principais componentes?

Resposta: VPC é uma rede virtual que fornece conectividade para recursos do GCP.

Principais Componentes:

Loading diagram...

Componentes:

  1. Sub-redes: Intervalos de IP regionais
  2. Regras de Firewall: Controlam o tráfego
  3. Rotas: Definem os caminhos de tráfego
  4. VPC Peering: Conecta VPCs
  5. Cloud VPN: Conecta-se ao ambiente local
# Criar VPC
gcloud compute networks create minha-vpc \
  --subnet-mode=custom

# Criar sub-rede
gcloud compute networks subnets create minha-sub-rede \
  --network=minha-vpc \
  --region=us-central1 \
  --range=10.0.1.0/24

# Criar regra de firewall (permitir SSH)
gcloud compute firewall-rules create permitir-ssh \
  --network=minha-vpc \
  --allow=tcp:22 \
  --source-ranges=0.0.0.0/0

Raridade: Muito Comum Dificuldade: Médio


5. Como as regras de firewall funcionam no GCP?

Resposta: As regras de firewall controlam o tráfego de entrada e saída.

Características:

  • Stateful (o tráfego de retorno é automaticamente permitido)
  • Aplicado à rede ou instâncias específicas
  • Baseado em prioridade (0-65535, menor = maior prioridade)
  • Padrão: Permitir saída, negar entrada

Componentes da Regra:

  • Direção (entrada/saída)
  • Prioridade
  • Ação (permitir/negar)
  • Origem/destino
  • Protocolos e portas
# Permitir tráfego HTTP
gcloud compute firewall-rules create permitir-http \
  --network=minha-vpc \
  --allow=tcp:80 \
  --source-ranges=0.0.0.0/0 \
  --target-tags=servidor-web

# Permitir comunicação interna
gcloud compute firewall-rules create permitir-interno \
  --network=minha-vpc \
  --allow=tcp:0-65535,udp:0-65535,icmp \
  --source-ranges=10.0.0.0/8

# Negar tráfego específico
gcloud compute firewall-rules create negar-telnet \
  --network=minha-vpc \
  --action=DENY \
  --rules=tcp:23 \
  --priority=1000

Raridade: Muito Comum Dificuldade: Médio


GCP IAM

6. Explique as funções e permissões do IAM no GCP.

Resposta: IAM controla quem pode fazer o quê em quais recursos.

Conceitos Chave:

  • Membro: Usuário, conta de serviço ou grupo
  • Função: Coleção de permissões
  • Política: Vincula membros a funções

Tipos de Função:

  1. Primitivas: Proprietário, Editor, Visualizador (amplo)
  2. Predefinidas: Específicas do serviço (por exemplo, Administrador de Compute)
  3. Personalizadas: Permissões definidas pelo usuário
# Conceder função ao usuário
gcloud projects add-iam-policy-binding meu-projeto \
  --member=user:[email protected] \
  --role=roles/compute.instanceAdmin.v1

# Conceder função à conta de serviço
gcloud projects add-iam-policy-binding meu-projeto \
  --member=serviceAccount:[email protected] \
  --role=roles/storage.objectViewer

# Listar política IAM
gcloud projects get-iam-policy meu-projeto

# Remover função
gcloud projects remove-iam-policy-binding meu-projeto \
  --member=user:[email protected] \
  --role=roles/compute.instanceAdmin.v1

Melhores Práticas:

  • Use funções predefinidas sempre que possível
  • Siga o princípio do menor privilégio
  • Use contas de serviço para aplicações
  • Audite regularmente as permissões

Raridade: Muito Comum Dificuldade: Médio


Conceitos Básicos do GCP

7. O que são regiões e zonas do GCP?

Resposta:

Região:

  • Localização geográfica (por exemplo, us-central1, europe-west1)
  • Contém várias zonas
  • Domínios de falha independentes
  • Escolha com base na latência, conformidade, custo

Zona:

  • Localização isolada dentro de uma região
  • Domínio de falha único
  • Implante em várias zonas para alta disponibilidade
Loading diagram...

Exemplo:

# Listar regiões
gcloud compute regions list

# Listar zonas
gcloud compute zones list

# Criar instância em zona específica
gcloud compute instances create minha-vm \
  --zone=us-central1-a

Raridade: Muito Comum Dificuldade: Fácil


8. O que é uma conta de serviço e quando você a usa?

Resposta: Conta de Serviço é uma conta especial para aplicações e VMs.

Características:

  • Não é para humanos
  • Usada por aplicações
  • Pode ter funções IAM
  • Pode criar chaves para autenticação

Casos de Uso:

  • Instâncias de VM acessando o Cloud Storage
  • Aplicações chamando APIs do GCP
  • Pipelines de CI/CD
  • Acesso entre projetos
# Criar conta de serviço
gcloud iam service-accounts create minha-sa \
  --display-name="Minha Conta de Serviço"

# Conceder função à conta de serviço
gcloud projects add-iam-policy-binding meu-projeto \
  --member=serviceAccount:[email protected] \
  --role=roles/storage.objectViewer

# Anexar à VM
gcloud compute instances create minha-vm \
  [email protected] \
  --scopes=cloud-platform

Raridade: Comum Dificuldade: Fácil-Médio


Serverless & Mensageria

9. O que é o Cloud Pub/Sub e quando você o usa?

Resposta: Cloud Pub/Sub é um serviço de mensagens totalmente gerenciado para comunicação assíncrona.

Conceitos Chave:

  • Tópico: Recurso nomeado para o qual as mensagens são enviadas
  • Assinatura: Recurso nomeado que representa o fluxo de mensagens
  • Publisher (Publicador): Envia mensagens para tópicos
  • Subscriber (Assinante): Recebe mensagens de assinaturas

Arquitetura:

Loading diagram...

Operações Básicas:

# Criar tópico
gcloud pubsub topics create meu-topico

# Criar assinatura
gcloud pubsub subscriptions create minha-assinatura \
  --topic=meu-topico \
  --ack-deadline=60

# Publicar mensagem
gcloud pubsub topics publish meu-topico \
  --message="Olá, Mundo!"

# Puxar mensagens
gcloud pubsub subscriptions pull minha-assinatura \
  --auto-ack \
  --limit=10

Exemplo de Publicador (Python):

from google.cloud import pubsub_v1
import json

# Criar cliente publicador
publisher = pubsub_v1.PublisherClient()
topic_path = publisher.topic_path('meu-projeto', 'meu-topico')

# Publicar mensagem
def publish_message(data):
    message_json = json.dumps(data)
    message_bytes = message_json.encode('utf-8')
    
    # Publicar com atributos
    future = publisher.publish(
        topic_path,
        message_bytes,
        event_type='order_created',
        user_id='123'
    )
    
    print(f'ID da mensagem publicada: {future.result()}')

# Publicação em lote para eficiência
def publish_batch(messages):
    futures = []
    for message in messages:
        message_bytes = json.dumps(message).encode('utf-8')
        future = publisher.publish(topic_path, message_bytes)
        futures.append(future)
    
    # Aguardar a publicação de todas as mensagens
    for future in futures:
        future.result()

Exemplo de Assinante (Python):

from google.cloud import pubsub_v1

subscriber = pubsub_v1.SubscriberClient()
subscription_path = subscriber.subscription_path('meu-projeto', 'minha-assinatura')

def callback(message):
    print(f'Mensagem recebida: {message.data.decode("utf-8")}')
    print(f'Atributos: {message.attributes}')
    
    # Processar mensagem
    try:
        process_message(message.data)
        message.ack()  # Reconhecer o processamento bem-sucedido
    except Exception as e:
        print(f'Erro ao processar a mensagem: {e}')
        message.nack()  # Reconhecimento negativo (tentar novamente)

# Assinar
streaming_pull_future = subscriber.subscribe(subscription_path, callback=callback)

print(f'Aguardando mensagens em {subscription_path}...')

try:
    streaming_pull_future.result()
except KeyboardInterrupt:
    streaming_pull_future.cancel()

Tipos de Assinatura:

1. Assinatura Pull (Puxar):

# O assinante puxa as mensagens sob demanda
gcloud pubsub subscriptions create pull-sub \
  --topic=meu-topico

2. Assinatura Push (Empurrar):

# O Pub/Sub envia as mensagens para o endpoint HTTPS
gcloud pubsub subscriptions create push-sub \
  --topic=meu-topico \
  --push-endpoint=https://meuapp.example.com/webhook

Casos de Uso:

  • Arquiteturas orientadas a eventos
  • Comunicação de microsserviços
  • Pipelines de processamento de fluxo
  • Ingestão de dados de IoT
  • Processamento assíncrono de tarefas

Melhores Práticas:

  • Use atributos de mensagem para filtragem
  • Implemente processamento de mensagem idempotente
  • Defina prazos de reconhecimento apropriados
  • Use tópicos de dead-letter para mensagens com falha
  • Monitore o backlog da assinatura

Raridade: Comum Dificuldade: Médio


10. O que são Cloud Functions e como você implanta uma?

Resposta: Cloud Functions é um ambiente de execução serverless para construir aplicações orientadas a eventos.

Gatilhos:

  • Requisições HTTP
  • Mensagens do Cloud Pub/Sub
  • Eventos do Cloud Storage
  • Eventos do Firestore
  • Eventos do Firebase

Exemplo de Função HTTP:

# main.py
import functions_framework
from flask import jsonify

@functions_framework.http
def hello_http(request):
    """Função HTTP do Cloud"""
    request_json = request.get_json(silent=True)
    
    if request_json and 'name' in request_json:
        name = request_json['name']
    else:
        name = 'World'
    
    return jsonify({
        'message': f'Olá, {name}!',
        'status': 'success'
    })

Exemplo de Função Pub/Sub:

import base64
import json
import functions_framework

@functions_framework.cloud_event
def process_pubsub(cloud_event):
    """Acionado por mensagem do Pub/Sub"""
    # Decodificar mensagem
    message_data = base64.b64decode(cloud_event.data["message"]["data"]).decode()
    message_json = json.loads(message_data)
    
    print(f'Processando mensagem: {message_json}')
    
    # Processar a mensagem
    result = process_data(message_json)
    
    return result

Exemplo de Função de Storage:

import functions_framework

@functions_framework.cloud_event
def process_file(cloud_event):
    """Acionado pela criação de objeto do Cloud Storage"""
    data = cloud_event.data
    
    bucket = data["bucket"]
    name = data["name"]
    
    print(f'Arquivo {name} enviado para {bucket}')
    
    # Processar o arquivo
    process_uploaded_file(bucket, name)

Implantação:

# Implantar função HTTP
gcloud functions deploy hello_http \
  --runtime=python39 \
  --trigger-http \
  --allow-unauthenticated \
  --entry-point=hello_http \
  --region=us-central1

# Implantar função Pub/Sub
gcloud functions deploy process_pubsub \
  --runtime=python39 \
  --trigger-topic=meu-topico \
  --entry-point=process_pubsub \
  --region=us-central1

# Implantar função de Storage
gcloud functions deploy process_file \
  --runtime=python39 \
  --trigger-resource=meu-bucket \
  --trigger-event=google.storage.object.finalize \
  --entry-point=process_file \
  --region=us-central1

# Implantar com variáveis de ambiente
gcloud functions deploy minha_funcao \
  --runtime=python39 \
  --trigger-http \
  --set-env-vars DATABASE_URL=...,API_KEY=...

# Implantar com memória e tempo limite específicos
gcloud functions deploy minha_funcao \
  --runtime=python39 \
  --trigger-http \
  --memory=512MB \
  --timeout=300s

Arquivo de Requisitos:

# requirements.txt
functions-framework==3.*
google-cloud-storage==2.*
google-cloud-pubsub==2.*
requests==2.*

Testando Localmente:

# Instalar Functions Framework
pip install functions-framework

# Executar localmente
functions-framework --target=hello_http --port=8080

# Testar com curl
curl -X POST http://localhost:8080 \
  -H "Content-Type: application/json" \
  -d '{"name": "Alice"}'

Monitoramento:

# Visualizar logs
gcloud functions logs read hello_http \
  --region=us-central1 \
  --limit=50

# Visualizar detalhes da função
gcloud functions describe hello_http \
  --region=us-central1

Melhores Práticas:

  • Mantenha as funções pequenas e focadas
  • Use variáveis de ambiente para configuração
  • Implemente tratamento de erros adequado
  • Defina valores de tempo limite apropriados
  • Use o Cloud Logging para depuração
  • Minimize o tempo de cold start

Raridade: Muito Comum Dificuldade: Fácil-Médio


CLI & Ferramentas

11. Explique os comandos comuns da CLI gcloud e a configuração.

Resposta: A CLI gcloud é a principal ferramenta para gerenciar recursos do GCP.

Configuração Inicial:

# Instalar o SDK gcloud (macOS)
curl https://sdk.cloud.google.com | bash
exec -l $SHELL

# Inicializar e autenticar
gcloud init

# Login
gcloud auth login

# Definir projeto padrão
gcloud config set project meu-projeto-id

# Definir região/zona padrão
gcloud config set compute/region us-central1
gcloud config set compute/zone us-central1-a

Gerenciamento de Configuração:

# Listar configurações
gcloud config configurations list

# Criar nova configuração
gcloud config configurations create config-dev

# Ativar configuração
gcloud config configurations activate config-dev

# Definir propriedades
gcloud config set account [email protected]
gcloud config set project projeto-dev

# Visualizar configuração atual
gcloud config list

# Remover propriedade
gcloud config unset compute/zone

Comandos Comuns por Serviço:

Compute Engine:

# Listar instâncias
gcloud compute instances list

# Criar instância
gcloud compute instances create minha-vm \
  --machine-type=e2-medium \
  --zone=us-central1-a

# SSH na instância
gcloud compute ssh minha-vm --zone=us-central1-a

# Parar/iniciar instância
gcloud compute instances stop minha-vm --zone=us-central1-a
gcloud compute instances start minha-vm --zone=us-central1-a

# Excluir instância
gcloud compute instances delete minha-vm --zone=us-central1-a

Cloud Storage:

# Listar buckets
gsutil ls

# Criar bucket
gsutil mb -l us-central1 gs://meu-bucket

# Fazer upload do arquivo
gsutil cp meuarquivo.txt gs://meu-bucket/

# Fazer download do arquivo
gsutil cp gs://meu-bucket/meuarquivo.txt ./

# Sincronizar diretório
gsutil -m rsync -r ./diretorio-local gs://meu-bucket/diretorio-remoto

# Definir ciclo de vida do bucket
gsutil lifecycle set lifecycle.json gs://meu-bucket

IAM:

# Listar políticas IAM
gcloud projects get-iam-policy meu-projeto

# Adicionar vinculação IAM
gcloud projects add-iam-policy-binding meu-projeto \
  --member=user:[email protected] \
  --role=roles/viewer

# Criar conta de serviço
gcloud iam service-accounts create minha-sa \
  --display-name="Minha Conta de Serviço"

# Criar e fazer download da chave
gcloud iam service-accounts keys create chave.json \
  [email protected]

Kubernetes Engine:

# Listar clusters
gcloud container clusters list

# Obter credenciais
gcloud container clusters get-credentials meu-cluster \
  --zone=us-central1-a

# Criar cluster
gcloud container clusters create meu-cluster \
  --num-nodes=3 \
  --zone=us-central1-a

Flags Úteis:

# Formatar saída
gcloud compute instances list --format=json
gcloud compute instances list --format=yaml
gcloud compute instances list --format="table(name,zone,status)"

# Filtrar resultados
gcloud compute instances list --filter="zone:us-central1-a"
gcloud compute instances list --filter="status=RUNNING"

# Limitar resultados
gcloud compute instances list --limit=10

# Classificar resultados
gcloud compute instances list --sort-by=creationTimestamp

Comandos Úteis:

# Obter ajuda
gcloud help
gcloud compute instances create --help

# Visualizar informações do projeto
gcloud projects describe meu-projeto

# Listar regiões/zonas disponíveis
gcloud compute regions list
gcloud compute zones list

# Visualizar cotas
gcloud compute project-info describe \
  --project=meu-projeto

# Habilitar API
gcloud services enable compute.googleapis.com

# Listar APIs habilitadas
gcloud services list --enabled

Melhores Práticas:

  • Use configurações para diferentes ambientes
  • Defina o projeto e a região padrão
  • Use --format para scripting
  • Use --filter para restringir resultados
  • Habilite a conclusão de comandos
  • Mantenha o SDK gcloud atualizado

Raridade: Muito Comum Dificuldade: Fácil-Médio


Conclusão

Preparar-se para uma entrevista de engenheiro(a) de nuvem GCP júnior requer a compreensão dos principais serviços e conceitos de nuvem. Concentre-se em:

  1. Compute Engine: Instâncias de VM, tipos de máquina, discos
  2. Cloud Storage: Classes de armazenamento, buckets, ciclo de vida
  3. VPC: Rede, sub-redes, regras de firewall
  4. IAM: Funções, permissões, contas de serviço
  5. Conceitos Básicos: Regiões, zonas, projetos

Pratique o uso do Console GCP e da CLI gcloud para obter experiência prática. Boa sorte!

Newsletter subscription

Dicas de carreira semanais que realmente funcionam

Receba as últimas ideias diretamente na sua caixa de entrada

Decorative doodle

Destaque-se para Recrutadores e Conquiste o Emprego dos Seus Sonhos

Junte-se a milhares que transformaram suas carreiras com currículos impulsionados por IA que passam no ATS e impressionam gerentes de contratação.

Comece a criar agora

Compartilhar esta publicação

Faça Seus 6 Segundos Contarem

Os recrutadores escaneiam currículos por uma média de apenas 6 a 7 segundos. Nossos modelos comprovados são projetados para capturar atenção instantaneamente e mantê-los lendo.