diciembre 21, 2025
14 min de lectura

Preguntas para Entrevistas de Ingeniero Cloud Junior de GCP: Guía Completa

interview
career-advice
job-search
entry-level
Preguntas para Entrevistas de Ingeniero Cloud Junior de GCP: Guía Completa
MB

Milad Bonakdar

Autor

Domina los fundamentos esenciales de GCP con preguntas de entrevista exhaustivas que cubren Compute Engine, Cloud Storage, VPC, IAM y conceptos centrales de Google Cloud para puestos de ingeniero cloud junior.


Introducción

Google Cloud Platform (GCP) es un conjunto integral de servicios de computación en la nube que ofrece capacidades de cómputo, almacenamiento, redes, big data y aprendizaje automático. Como ingeniero de la nube junior, necesitará conocimientos básicos de los servicios principales de GCP para construir y administrar la infraestructura de la nube.

Esta guía cubre preguntas esenciales para entrevistas para ingenieros de la nube junior de GCP, centrándose en Compute Engine, Cloud Storage, VPC e IAM.


GCP Compute Engine

1. ¿Qué es Google Compute Engine y cuáles son sus principales casos de uso?

Respuesta: Compute Engine proporciona máquinas virtuales escalables que se ejecutan en los centros de datos de Google.

Características principales:

  • Tipos de máquinas personalizados o predefinidos
  • Discos persistentes y SSD locales
  • VM interrumpibles para ahorrar costes
  • Migración en vivo para mantenimiento
  • Balanceo de carga global

Casos de uso:

  • Alojamiento web
  • Servidores de aplicaciones
  • Procesamiento por lotes
  • Computación de alto rendimiento
# Crear instancia de VM
gcloud compute instances create mi-instancia \
  --zone=us-central1-a \
  --machine-type=e2-medium \
  --image-family=debian-11 \
  --image-project=debian-cloud

# Listar instancias
gcloud compute instances list

# SSH a la instancia
gcloud compute ssh mi-instancia --zone=us-central1-a

# Detener instancia
gcloud compute instances stop mi-instancia --zone=us-central1-a

Frecuencia: Muy Común Dificultad: Fácil


2. Explique la diferencia entre los discos persistentes y las SSD locales.

Respuesta:

CaracterísticaDisco persistenteSSD local
DurabilidadLos datos persisten de forma independienteLos datos se pierden cuando se detiene la VM
RendimientoBuenoExcelente (baja latencia)
TamañoHasta 64 TBHasta 9 TB
Caso de usoDiscos de arranque, almacenamiento de datosCaché temporal, espacio de trabajo
CosteMás bajoMás alto
InstantáneasCompatibleNo compatible

Ejemplo:

# Crear VM con disco persistente
gcloud compute instances create mi-vm \
  --boot-disk-size=50GB \
  --boot-disk-type=pd-ssd

# Crear VM con SSD local
gcloud compute instances create mi-vm \
  --local-ssd interface=NVME

Frecuencia: Común Dificultad: Fácil-Media


GCP Cloud Storage

3. ¿Cuáles son las diferentes clases de almacenamiento en Cloud Storage?

Respuesta: Cloud Storage ofrece múltiples clases para diferentes patrones de acceso:

ClaseCaso de usoDisponibilidadDuración mínimaCoste
StandardAcceso frecuente99.95%NingunaMás alto
Nearline< 1 vez/mes99.9%30 díasMás bajo
Coldline< 1 vez/trimestre99.9%90 díasMuy bajo
Archive< 1 vez/año99.9%365 díasEl más bajo
# Crear bucket
gsutil mb -c STANDARD -l us-central1 gs://mi-bucket

# Subir archivo
gsutil cp mialchivo.txt gs://mi-bucket/

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

# Descargar archivo
gsutil cp gs://mi-bucket/mialchivo.txt ./

# Cambiar clase de almacenamiento
gsutil rewrite -s NEARLINE gs://mi-bucket/mialchivo.txt

Frecuencia: Muy Común Dificultad: Fácil-Media


GCP VPC (Virtual Private Cloud)

4. ¿Qué es una VPC y cuáles son sus componentes clave?

Respuesta: VPC es una red virtual que proporciona conectividad para los recursos de GCP.

Componentes clave:

Loading diagram...

Componentes:

  1. Subredes: Rangos de IP regionales
  2. Reglas de firewall: Control del tráfico
  3. Rutas: Definen las rutas del tráfico
  4. Interconexión de VPC: Conecta VPCs
  5. Cloud VPN: Conecta con las instalaciones locales
# Crear VPC
gcloud compute networks create mi-vpc \
  --subnet-mode=custom

# Crear subred
gcloud compute networks subnets create mi-subred \
  --network=mi-vpc \
  --region=us-central1 \
  --range=10.0.1.0/24

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

Frecuencia: Muy Común Dificultad: Media


5. ¿Cómo funcionan las reglas de firewall en GCP?

Respuesta: Las reglas de firewall controlan el tráfico entrante y saliente.

Características:

  • Con estado (el tráfico de retorno se permite automáticamente)
  • Se aplican a la red o a instancias específicas
  • Basado en la prioridad (0-65535, menor = mayor prioridad)
  • Predeterminado: Permitir la salida, denegar la entrada

Componentes de la regla:

  • Dirección (entrada/salida)
  • Prioridad
  • Acción (permitir/denegar)
  • Origen/destino
  • Protocolos y puertos
# Permitir tráfico HTTP
gcloud compute firewall-rules create permitir-http \
  --network=mi-vpc \
  --allow=tcp:80 \
  --source-ranges=0.0.0.0/0 \
  --target-tags=servidor-web

# Permitir comunicación interna
gcloud compute firewall-rules create permitir-interno \
  --network=mi-vpc \
  --allow=tcp:0-65535,udp:0-65535,icmp \
  --source-ranges=10.0.0.0/8

# Denegar tráfico específico
gcloud compute firewall-rules create denegar-telnet \
  --network=mi-vpc \
  --action=DENY \
  --rules=tcp:23 \
  --priority=1000

Frecuencia: Muy Común Dificultad: Media


GCP IAM

6. Explique los roles y permisos de IAM en GCP.

Respuesta: IAM controla quién puede hacer qué en qué recursos.

Conceptos clave:

  • Miembro: Usuario, cuenta de servicio o grupo
  • Rol: Colección de permisos
  • Política: Vincula miembros a roles

Tipos de roles:

  1. Primitivo: Propietario, Editor, Visor (amplio)
  2. Predefinido: Específico del servicio (por ejemplo, Administrador de Compute)
  3. Personalizado: Permisos definidos por el usuario
# Otorgar rol al usuario
gcloud projects add-iam-policy-binding mi-proyecto \
  --member=user:[email protected] \
  --role=roles/compute.instanceAdmin.v1

# Otorgar rol a la cuenta de servicio
gcloud projects add-iam-policy-binding mi-proyecto \
  --member=serviceAccount:[email protected] \
  --role=roles/storage.objectViewer

# Listar política de IAM
gcloud projects get-iam-policy mi-proyecto

# Eliminar rol
gcloud projects remove-iam-policy-binding mi-proyecto \
  --member=user:[email protected] \
  --role=roles/compute.instanceAdmin.v1

Mejores prácticas:

  • Utilizar roles predefinidos cuando sea posible
  • Seguir el principio del mínimo privilegio
  • Utilizar cuentas de servicio para las aplicaciones
  • Auditoría periódica de los permisos

Frecuencia: Muy Común Dificultad: Media


GCP Conceptos básicos

7. ¿Qué son las regiones y zonas de GCP?

Respuesta:

Región:

  • Ubicación geográfica (por ejemplo, us-central1, europe-west1)
  • Contiene múltiples zonas
  • Dominios de fallo independientes
  • Elegir en función de la latencia, el cumplimiento y el coste

Zona:

  • Ubicación aislada dentro de una región
  • Dominio de fallo único
  • Desplegar en varias zonas para una alta disponibilidad
Loading diagram...

Ejemplo:

# Listar regiones
gcloud compute regions list

# Listar zonas
gcloud compute zones list

# Crear instancia en una zona específica
gcloud compute instances create mi-vm \
  --zone=us-central1-a

Frecuencia: Muy Común Dificultad: Fácil


8. ¿Qué es una cuenta de servicio y cuándo se utiliza?

Respuesta: Una cuenta de servicio es una cuenta especial para aplicaciones y VMs.

Características:

  • No es para humanos
  • Utilizado por las aplicaciones
  • Puede tener roles de IAM
  • Puede crear claves para la autenticación

Casos de uso:

  • Instancias de VM que acceden a Cloud Storage
  • Aplicaciones que llaman a las API de GCP
  • Pipelines de CI/CD
  • Acceso entre proyectos
# Crear cuenta de servicio
gcloud iam service-accounts create mi-sa \
  --display-name="Mi cuenta de servicio"

# Otorgar rol a la cuenta de servicio
gcloud projects add-iam-policy-binding mi-proyecto \
  --member=serviceAccount:[email protected] \
  --role=roles/storage.objectViewer

# Adjuntar a la VM
gcloud compute instances create mi-vm \
  [email protected] \
  --scopes=cloud-platform

Frecuencia: Común Dificultad: Fácil-Media


Serverless & Mensajería

9. ¿Qué es Cloud Pub/Sub y cuándo se utiliza?

Respuesta: Cloud Pub/Sub es un servicio de mensajería totalmente gestionado para la comunicación asíncrona.

Conceptos clave:

  • Tema: Recurso nombrado al que se envían los mensajes
  • Suscripción: Recurso nombrado que representa el flujo de mensajes
  • Publicador: Envía mensajes a los temas
  • Suscriptor: Recibe mensajes de las suscripciones

Arquitectura:

Loading diagram...

Operaciones básicas:

# Crear tema
gcloud pubsub topics create mi-tema

# Crear suscripción
gcloud pubsub subscriptions create mi-suscripcion \
  --topic=mi-tema \
  --ack-deadline=60

# Publicar mensaje
gcloud pubsub topics publish mi-tema \
  --message="¡Hola, Mundo!"

# Extraer mensajes
gcloud pubsub subscriptions pull mi-suscripcion \
  --auto-ack \
  --limit=10

Ejemplo de publicador (Python):

from google.cloud import pubsub_v1
import json

# Crear cliente publicador
publisher = pubsub_v1.PublisherClient()
topic_path = publisher.topic_path('mi-proyecto', 'mi-tema')

# Publicar mensaje
def publish_message(data):
    message_json = json.dumps(data)
    message_bytes = message_json.encode('utf-8')
    
    # Publicar con atributos
    future = publisher.publish(
        topic_path,
        message_bytes,
        event_type='orden_creada',
        user_id='123'
    )
    
    print(f'ID del mensaje publicado: {future.result()}')

# Publicación por lotes para la eficiencia
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)
    
    # Esperar a que se publiquen todos los mensajes
    for future in futures:
        future.result()

Ejemplo de suscriptor (Python):

from google.cloud import pubsub_v1

subscriber = pubsub_v1.SubscriberClient()
subscription_path = subscriber.subscription_path('mi-proyecto', 'mi-suscripcion')

def callback(message):
    print(f'Mensaje recibido: {message.data.decode("utf-8")}')
    print(f'Atributos: {message.attributes}')
    
    # Procesar mensaje
    try:
        process_message(message.data)
        message.ack()  # Confirmar el procesamiento exitoso
    except Exception as e:
        print(f'Error al procesar el mensaje: {e}')
        message.nack()  # Confirmación negativa (reintentar)

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

print(f'Escuchando mensajes en {subscription_path}...')

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

Tipos de suscripción:

1. Suscripción Pull:

# El suscriptor extrae los mensajes bajo demanda
gcloud pubsub subscriptions create pull-sub \
  --topic=mi-tema

2. Suscripción Push:

# Pub/Sub envía mensajes a un punto final HTTPS
gcloud pubsub subscriptions create push-sub \
  --topic=mi-tema \
  --push-endpoint=https://miapp.ejemplo.com/webhook

Casos de uso:

  • Arquitecturas basadas en eventos
  • Comunicación de microservicios
  • Pipelines de procesamiento de flujos
  • Ingesta de datos de IoT
  • Procesamiento asíncrono de tareas

Mejores prácticas:

  • Utilizar atributos de mensaje para el filtrado
  • Implementar el procesamiento de mensajes idempotente
  • Establecer plazos de confirmación adecuados
  • Utilizar temas de mensajes fallidos para los mensajes fallidos
  • Supervisar el trabajo pendiente de la suscripción

Frecuencia: Común Dificultad: Media


10. ¿Qué es Cloud Functions y cómo se despliega una?

Respuesta: Cloud Functions es un entorno de ejecución sin servidor para construir aplicaciones basadas en eventos.

Desencadenadores:

  • Peticiones HTTP
  • Mensajes de Cloud Pub/Sub
  • Eventos de Cloud Storage
  • Eventos de Firestore
  • Eventos de Firebase

Ejemplo de función HTTP:

# main.py
import functions_framework
from flask import jsonify

@functions_framework.http
def hello_http(request):
    """Función HTTP de 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'¡Hola, {name}!',
        'status': 'success'
    })

Ejemplo de función Pub/Sub:

import base64
import json
import functions_framework

@functions_framework.cloud_event
def process_pubsub(cloud_event):
    """Desencadenado por el mensaje de Pub/Sub"""
    # Decodificar mensaje
    message_data = base64.b64decode(cloud_event.data["message"]["data"]).decode()
    message_json = json.loads(message_data)
    
    print(f'Procesando mensaje: {message_json}')
    
    # Procesar el mensaje
    result = process_data(message_json)
    
    return result

Ejemplo de función de almacenamiento:

import functions_framework

@functions_framework.cloud_event
def process_file(cloud_event):
    """Desencadenado por la creación de un objeto de Cloud Storage"""
    data = cloud_event.data
    
    bucket = data["bucket"]
    name = data["name"]
    
    print(f'Archivo {name} subido a {bucket}')
    
    # Procesar el archivo
    process_uploaded_file(bucket, name)

Despliegue:

# Desplegar función HTTP
gcloud functions deploy hello_http \
  --runtime=python39 \
  --trigger-http \
  --allow-unauthenticated \
  --entry-point=hello_http \
  --region=us-central1

# Desplegar función Pub/Sub
gcloud functions deploy process_pubsub \
  --runtime=python39 \
  --trigger-topic=mi-tema \
  --entry-point=process_pubsub \
  --region=us-central1

# Desplegar función de almacenamiento
gcloud functions deploy process_file \
  --runtime=python39 \
  --trigger-resource=mi-bucket \
  --trigger-event=google.storage.object.finalize \
  --entry-point=process_file \
  --region=us-central1

# Desplegar con variables de entorno
gcloud functions deploy mi_funcion \
  --runtime=python39 \
  --trigger-http \
  --set-env-vars DATABASE_URL=...,API_KEY=...

# Desplegar con memoria y tiempo de espera específicos
gcloud functions deploy mi_funcion \
  --runtime=python39 \
  --trigger-http \
  --memory=512MB \
  --timeout=300s

Archivo de requisitos:

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

Pruebas locales:

# Instalar Functions Framework
pip install functions-framework

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

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

Supervisión:

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

# Ver detalles de la función
gcloud functions describe hello_http \
  --region=us-central1

Mejores prácticas:

  • Mantener las funciones pequeñas y enfocadas
  • Utilizar variables de entorno para la configuración
  • Implementar un manejo de errores adecuado
  • Establecer valores de tiempo de espera adecuados
  • Utilizar Cloud Logging para la depuración
  • Minimizar el tiempo de arranque en frío

Frecuencia: Muy Común Dificultad: Fácil-Media


CLI & Herramientas

11. Explique los comandos y la configuración comunes de la CLI de gcloud.

Respuesta: La CLI de gcloud es la herramienta principal para gestionar los recursos de GCP.

Configuración inicial:

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

# Inicializar y autenticar
gcloud init

# Iniciar sesión
gcloud auth login

# Establecer el proyecto predeterminado
gcloud config set project mi-id-proyecto

# Establecer la región/zona predeterminada
gcloud config set compute/region us-central1
gcloud config set compute/zone us-central1-a

Gestión de la configuración:

# Listar configuraciones
gcloud config configurations list

# Crear nueva configuración
gcloud config configurations create dev-config

# Activar configuración
gcloud config configurations activate dev-config

# Establecer propiedades
gcloud config set account [email protected]
gcloud config set project dev-proyecto

# Ver la configuración actual
gcloud config list

# Eliminar la propiedad
gcloud config unset compute/zone

Comandos comunes por servicio:

Compute Engine:

# Listar instancias
gcloud compute instances list

# Crear instancia
gcloud compute instances create mi-vm \
  --machine-type=e2-medium \
  --zone=us-central1-a

# SSH a la instancia
gcloud compute ssh mi-vm --zone=us-central1-a

# Detener/iniciar instancia
gcloud compute instances stop mi-vm --zone=us-central1-a
gcloud compute instances start mi-vm --zone=us-central1-a

# Eliminar instancia
gcloud compute instances delete mi-vm --zone=us-central1-a

Cloud Storage:

# Listar buckets
gsutil ls

# Crear bucket
gsutil mb -l us-central1 gs://mi-bucket

# Subir archivo
gsutil cp mialchivo.txt gs://mi-bucket/

# Descargar archivo
gsutil cp gs://mi-bucket/mialchivo.txt ./

# Sincronizar directorio
gsutil -m rsync -r ./directorio-local gs://mi-bucket/directorio-remoto

# Establecer el ciclo de vida del bucket
gsutil lifecycle set lifecycle.json gs://mi-bucket

IAM:

# Listar las políticas de IAM
gcloud projects get-iam-policy mi-proyecto

# Añadir enlace de IAM
gcloud projects add-iam-policy-binding mi-proyecto \
  --member=user:[email protected] \
  --role=roles/viewer

# Crear cuenta de servicio
gcloud iam service-accounts create mi-sa \
  --display-name="Mi cuenta de servicio"

# Crear y descargar clave
gcloud iam service-accounts keys create key.json \
  [email protected]

Kubernetes Engine:

# Listar clústeres
gcloud container clusters list

# Obtener credenciales
gcloud container clusters get-credentials mi-cluster \
  --zone=us-central1-a

# Crear clúster
gcloud container clusters create mi-cluster \
  --num-nodes=3 \
  --zone=us-central1-a

Banderas útiles:

# Formatear la salida
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

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

Comandos útiles:

# Obtener ayuda
gcloud help
gcloud compute instances create --help

# Ver información del proyecto
gcloud projects describe mi-proyecto

# Listar regiones/zonas disponibles
gcloud compute regions list
gcloud compute zones list

# Ver cuotas
gcloud compute project-info describe \
  --project=mi-proyecto

# Habilitar API
gcloud services enable compute.googleapis.com

# Listar las APIs habilitadas
gcloud services list --enabled

Mejores prácticas:

  • Utilizar configuraciones para diferentes entornos
  • Establecer el proyecto y la región predeterminados
  • Utilizar --format para la creación de scripts
  • Utilizar --filter para restringir los resultados
  • Activar la finalización de comandos
  • Mantener gcloud SDK actualizado

Frecuencia: Muy Común Dificultad: Fácil-Media


Conclusión

Prepararse para una entrevista de ingeniero de la nube junior de GCP requiere la comprensión de los servicios básicos y los conceptos de la nube. Céntrese en:

  1. Compute Engine: Instancias de VM, tipos de máquinas, discos
  2. Cloud Storage: Clases de almacenamiento, buckets, ciclo de vida
  3. VPC: Redes, subredes, reglas de firewall
  4. IAM: Roles, permisos, cuentas de servicio
  5. Conceptos básicos: Regiones, zonas, proyectos

Practique el uso de la consola de GCP y la CLI de gcloud para obtener experiencia práctica. ¡Buena suerte!

Newsletter subscription

Consejos de carrera semanales que realmente funcionan

Recibe las últimas ideas directamente en tu bandeja de entrada

Decorative doodle

Tu Próxima Entrevista Está a Solo un Currículum de Distancia

Crea un currículum profesional y optimizado en minutos. No se necesitan habilidades de diseño, solo resultados comprobados.

Crea mi currículum

Compartir esta publicación

Haz que tus 6 Segundos Cuenten

Los reclutadores escanean currículums durante un promedio de solo 6 a 7 segundos. Nuestras plantillas probadas están diseñadas para captar la atención al instante y mantenerlos leyendo.