décembre 21, 2025
14 min de lecture

Questions d'entretien pour un ingénieur cloud débutant GCP : Guide complet

interview
career-advice
job-search
entry-level
Questions d'entretien pour un ingénieur cloud débutant GCP : Guide complet
MB

Milad Bonakdar

Auteur

Maîtrisez les fondamentaux essentiels de GCP avec des questions d'entretien complètes couvrant Compute Engine, Cloud Storage, VPC, IAM et les concepts clés de Google Cloud pour les postes d'ingénieur cloud débutant.


Introduction

Google Cloud Platform (GCP) est une suite complète de services de cloud computing offrant des capacités de calcul, de stockage, de mise en réseau, de big data et d'apprentissage automatique. En tant qu'ingénieur cloud junior, vous aurez besoin de connaissances fondamentales sur les principaux services GCP pour construire et gérer l'infrastructure cloud.

Ce guide couvre les questions d'entretien essentielles pour les ingénieurs cloud GCP juniors, en se concentrant sur Compute Engine, Cloud Storage, VPC et IAM.


GCP Compute Engine

1. Qu'est-ce que Google Compute Engine et quels sont ses principaux cas d'utilisation ?

Réponse : Compute Engine fournit des machines virtuelles évolutives qui s'exécutent dans les centres de données de Google.

Principales caractéristiques :

  • Types de machines personnalisés ou prédéfinis
  • Disques persistants et SSD locaux
  • Machines virtuelles préemptives pour des économies de coûts
  • Migration en direct pour la maintenance
  • Équilibrage de charge global

Cas d'utilisation :

  • Hébergement web
  • Serveurs d'applications
  • Traitement par lots
  • Calcul haute performance
# Créer une instance de VM
gcloud compute instances create mon-instance \
  --zone=us-central1-a \
  --machine-type=e2-medium \
  --image-family=debian-11 \
  --image-project=debian-cloud

# Lister les instances
gcloud compute instances list

# Se connecter en SSH à l'instance
gcloud compute ssh mon-instance --zone=us-central1-a

# Arrêter l'instance
gcloud compute instances stop mon-instance --zone=us-central1-a

Rareté : Très courant Difficulté : Facile


2. Expliquez la différence entre les disques persistants et les SSD locaux.

Réponse :

FonctionnalitéDisque PersistantSSD Local
DurabilitéLes données persistent indépendammentLes données sont perdues lorsque la VM s'arrête
PerformanceBonneExcellente (faible latence)
TailleJusqu'à 64 TBJusqu'à 9 TB
Cas d'utilisationDisques de démarrage, stockage de donnéesCache temporaire, espace de travail
CoûtInférieurSupérieur
InstantanésPris en chargeNon pris en charge

Exemple :

# Créer une VM avec un disque persistant
gcloud compute instances create ma-vm \
  --boot-disk-size=50GB \
  --boot-disk-type=pd-ssd

# Créer une VM avec un SSD local
gcloud compute instances create ma-vm \
  --local-ssd interface=NVME

Rareté : Courant Difficulté : Facile-Moyen


GCP Cloud Storage

3. Quelles sont les différentes classes de stockage dans Cloud Storage ?

Réponse : Cloud Storage propose plusieurs classes pour différents modèles d'accès :

ClasseCas d'utilisationDisponibilitéDurée minimaleCoût
StandardFréquemment consulté99,95 %AucuneLe plus élevé
Nearline< une fois/mois99,9 %30 joursInférieur
Coldline< une fois/trimestre99,9 %90 joursTrès bas
Archive< une fois/an99,9 %365 joursLe plus bas
# Créer un bucket
gsutil mb -c STANDARD -l us-central1 gs://mon-bucket

# Envoyer un fichier
gsutil cp monfichier.txt gs://mon-bucket/

# Lister les objets
gsutil ls gs://mon-bucket/

# Télécharger un fichier
gsutil cp gs://mon-bucket/monfichier.txt ./

# Changer la classe de stockage
gsutil rewrite -s NEARLINE gs://mon-bucket/monfichier.txt

Rareté : Très courant Difficulté : Facile-Moyen


GCP VPC (Virtual Private Cloud)

4. Qu'est-ce qu'un VPC et quels sont ses principaux composants ?

Réponse : VPC est un réseau virtuel qui fournit une connectivité pour les ressources GCP.

Principaux composants :

Loading diagram...

Composants :

  1. Sous-réseaux : Plages d'adresses IP régionales
  2. Règles de pare-feu : Contrôler le trafic
  3. Routes : Définir les chemins de trafic
  4. Appairage VPC : Connecter les VPC
  5. Cloud VPN : Se connecter sur site
# Créer un VPC
gcloud compute networks create mon-vpc \
  --subnet-mode=custom

# Créer un sous-réseau
gcloud compute networks subnets create mon-sous-réseau \
  --network=mon-vpc \
  --region=us-central1 \
  --range=10.0.1.0/24

# Créer une règle de pare-feu (autoriser SSH)
gcloud compute firewall-rules create autoriser-ssh \
  --network=mon-vpc \
  --allow=tcp:22 \
  --source-ranges=0.0.0.0/0

Rareté : Très courant Difficulté : Moyen


5. Comment fonctionnent les règles de pare-feu dans GCP ?

Réponse : Les règles de pare-feu contrôlent le trafic entrant et sortant.

Caractéristiques :

  • Avec état (le trafic de retour est automatiquement autorisé)
  • Appliquées au réseau ou à des instances spécifiques
  • Basées sur la priorité (0-65535, inférieur = priorité plus élevée)
  • Par défaut : Autoriser la sortie, refuser l'entrée

Composants de la règle :

  • Direction (entrée/sortie)
  • Priorité
  • Action (autoriser/refuser)
  • Source/destination
  • Protocoles et ports
# Autoriser le trafic HTTP
gcloud compute firewall-rules create autoriser-http \
  --network=mon-vpc \
  --allow=tcp:80 \
  --source-ranges=0.0.0.0/0 \
  --target-tags=serveur-web

# Autoriser la communication interne
gcloud compute firewall-rules create autoriser-interne \
  --network=mon-vpc \
  --allow=tcp:0-65535,udp:0-65535,icmp \
  --source-ranges=10.0.0.0/8

# Refuser le trafic spécifique
gcloud compute firewall-rules create refuser-telnet \
  --network=mon-vpc \
  --action=DENY \
  --rules=tcp:23 \
  --priority=1000

Rareté : Très courant Difficulté : Moyen


GCP IAM

6. Expliquez les rôles et les autorisations IAM dans GCP.

Réponse : IAM contrôle qui peut faire quoi sur quelles ressources.

Concepts clés :

  • Membre : Utilisateur, compte de service ou groupe
  • Rôle : Ensemble d'autorisations
  • Stratégie : Lie les membres aux rôles

Types de rôles :

  1. Primitif : Propriétaire, Éditeur, Lecteur (large)
  2. Prédéfini : Spécifique au service (par exemple, Administrateur Compute)
  3. Personnalisé : Autorisations définies par l'utilisateur
# Accorder un rôle à un utilisateur
gcloud projects add-iam-policy-binding mon-projet \
  --member=user:[email protected] \
  --role=roles/compute.instanceAdmin.v1

# Accorder un rôle à un compte de service
gcloud projects add-iam-policy-binding mon-projet \
  --member=serviceAccount:[email protected] \
  --role=roles/storage.objectViewer

# Lister la stratégie IAM
gcloud projects get-iam-policy mon-projet

# Supprimer un rôle
gcloud projects remove-iam-policy-binding mon-projet \
  --member=user:[email protected] \
  --role=roles/compute.instanceAdmin.v1

Meilleures pratiques :

  • Utilisez les rôles prédéfinis lorsque cela est possible
  • Suivez le principe du moindre privilège
  • Utilisez des comptes de service pour les applications
  • Audit régulier des autorisations

Rareté : Très courant Difficulté : Moyen


GCP Concepts de base

7. Que sont les régions et les zones GCP ?

Réponse :

Région :

  • Emplacement géographique (par exemple, us-central1, europe-west1)
  • Contient plusieurs zones
  • Domaines de défaillance indépendants
  • Choisissez en fonction de la latence, de la conformité, du coût

Zone :

  • Emplacement isolé dans une région
  • Domaine de défaillance unique
  • Déployez dans plusieurs zones pour une haute disponibilité
Loading diagram...

Exemple :

# Lister les régions
gcloud compute regions list

# Lister les zones
gcloud compute zones list

# Créer une instance dans une zone spécifique
gcloud compute instances create ma-vm \
  --zone=us-central1-a

Rareté : Très courant Difficulté : Facile


8. Qu'est-ce qu'un compte de service et quand l'utiliser ?

Réponse : Un Compte de service est un compte spécial pour les applications et les machines virtuelles.

Caractéristiques :

  • Pas pour les humains
  • Utilisé par les applications
  • Peut avoir des rôles IAM
  • Peut créer des clés pour l'authentification

Cas d'utilisation :

  • Instances de VM accédant à Cloud Storage
  • Applications appelant les API GCP
  • Pipelines CI/CD
  • Accès inter-projets
# Créer un compte de service
gcloud iam service-accounts create mon-sa \
  --display-name="Mon compte de service"

# Accorder un rôle à un compte de service
gcloud projects add-iam-policy-binding mon-projet \
  --member=serviceAccount:[email protected] \
  --role=roles/storage.objectViewer

# Attacher à une VM
gcloud compute instances create ma-vm \
  [email protected] \
  --scopes=cloud-platform

Rareté : Courant Difficulté : Facile-Moyen


Serverless & Messagerie

9. Qu'est-ce que Cloud Pub/Sub et quand l'utiliser ?

Réponse : Cloud Pub/Sub est un service de messagerie entièrement géré pour la communication asynchrone.

Concepts clés :

  • Topic (Sujet) : Ressource nommée à laquelle les messages sont envoyés
  • Subscription (Abonnement) : Ressource nommée représentant le flux de messages
  • Publisher (Éditeur) : Envoie des messages aux sujets
  • Subscriber (Abonné) : Reçoit des messages des abonnements

Architecture :

Loading diagram...

Opérations de base :

# Créer un sujet
gcloud pubsub topics create mon-sujet

# Créer un abonnement
gcloud pubsub subscriptions create mon-abonnement \
  --topic=mon-sujet \
  --ack-deadline=60

# Publier un message
gcloud pubsub topics publish mon-sujet \
  --message="Bonjour le monde !"

# Tirer les messages
gcloud pubsub subscriptions pull mon-abonnement \
  --auto-ack \
  --limit=10

Exemple d'éditeur (Python) :

from google.cloud import pubsub_v1
import json

# Créer un client éditeur
publisher = pubsub_v1.PublisherClient()
topic_path = publisher.topic_path('mon-projet', 'mon-sujet')

# Publier un message
def publish_message(data):
    message_json = json.dumps(data)
    message_bytes = message_json.encode('utf-8')
    
    # Publier avec des attributs
    future = publisher.publish(
        topic_path,
        message_bytes,
        event_type='order_created',
        user_id='123'
    )
    
    print(f'ID du message publié : {future.result()}')

# Publication par lots pour l'efficacité
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)
    
    # Attendre que tous les messages soient publiés
    for future in futures:
        future.result()

Exemple d'abonné (Python) :

from google.cloud import pubsub_v1

subscriber = pubsub_v1.SubscriberClient()
subscription_path = subscriber.subscription_path('mon-projet', 'mon-abonnement')

def callback(message):
    print(f'Message reçu : {message.data.decode("utf-8")}')
    print(f'Attributs : {message.attributes}')
    
    # Traiter le message
    try:
        process_message(message.data)
        message.ack()  # Accuser réception du traitement réussi
    except Exception as e:
        print(f'Erreur lors du traitement du message : {e}')
        message.nack()  # Accusé de réception négatif (réessayer)

# S'abonner
streaming_pull_future = subscriber.subscribe(subscription_path, callback=callback)

print(f'Écoute des messages sur {subscription_path}...')

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

Types d'abonnements :

1. Abonnement Pull :

# L'abonné tire les messages à la demande
gcloud pubsub subscriptions create pull-sub \
  --topic=mon-sujet

2. Abonnement Push :

# Pub/Sub envoie les messages à un point de terminaison HTTPS
gcloud pubsub subscriptions create push-sub \
  --topic=mon-sujet \
  --push-endpoint=https://monapp.example.com/webhook

Cas d'utilisation :

  • Architectures événementielles
  • Communication entre microservices
  • Pipelines de traitement de flux
  • Ingestion de données IoT
  • Traitement asynchrone des tâches

Meilleures pratiques :

  • Utilisez des attributs de message pour le filtrage
  • Mettez en œuvre un traitement de message idempotent
  • Définissez des délais d'accusé de réception appropriés
  • Utilisez des sujets de lettres mortes pour les messages échoués
  • Surveillez le backlog des abonnements

Rareté : Courant Difficulté : Moyen


10. Qu'est-ce que Cloud Functions et comment en déployer une ?

Réponse : Cloud Functions est un environnement d'exécution serverless pour la création d'applications événementielles.

Déclencheurs :

  • Requêtes HTTP
  • Messages Cloud Pub/Sub
  • Événements Cloud Storage
  • Événements Firestore
  • Événements Firebase

Exemple de fonction HTTP :

# main.py
import functions_framework
from flask import jsonify

@functions_framework.http
def hello_http(request):
    """Fonction HTTP Cloud"""
    request_json = request.get_json(silent=True)
    
    if request_json and 'name' in request_json:
        name = request_json['name']
    else:
        name = 'Monde'
    
    return jsonify({
        'message': f'Bonjour, {name} !',
        'status': 'success'
    })

Exemple de fonction Pub/Sub :

import base64
import json
import functions_framework

@functions_framework.cloud_event
def process_pubsub(cloud_event):
    """Déclenchée par un message Pub/Sub"""
    # Décoder le message
    message_data = base64.b64decode(cloud_event.data["message"]["data"]).decode()
    message_json = json.loads(message_data)
    
    print(f'Traitement du message : {message_json}')
    
    # Traiter le message
    result = process_data(message_json)
    
    return result

Exemple de fonction Storage :

import functions_framework

@functions_framework.cloud_event
def process_file(cloud_event):
    """Déclenchée par la création d'un objet Cloud Storage"""
    data = cloud_event.data
    
    bucket = data["bucket"]
    name = data["name"]
    
    print(f'Fichier {name} envoyé vers {bucket}')
    
    # Traiter le fichier
    process_uploaded_file(bucket, name)

Déploiement :

# Déployer une fonction HTTP
gcloud functions deploy hello_http \
  --runtime=python39 \
  --trigger-http \
  --allow-unauthenticated \
  --entry-point=hello_http \
  --region=us-central1

# Déployer une fonction Pub/Sub
gcloud functions deploy process_pubsub \
  --runtime=python39 \
  --trigger-topic=mon-sujet \
  --entry-point=process_pubsub \
  --region=us-central1

# Déployer une fonction Storage
gcloud functions deploy process_file \
  --runtime=python39 \
  --trigger-resource=mon-bucket \
  --trigger-event=google.storage.object.finalize \
  --entry-point=process_file \
  --region=us-central1

# Déployer avec des variables d'environnement
gcloud functions deploy ma_fonction \
  --runtime=python39 \
  --trigger-http \
  --set-env-vars DATABASE_URL=...,API_KEY=...

# Déployer avec une mémoire et un délai d'attente spécifiques
gcloud functions deploy ma_fonction \
  --runtime=python39 \
  --trigger-http \
  --memory=512MB \
  --timeout=300s

Fichier des exigences :

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

Tester localement :

# Installer Functions Framework
pip install functions-framework

# Exécuter localement
functions-framework --target=hello_http --port=8080

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

Surveillance :

# Afficher les journaux
gcloud functions logs read hello_http \
  --region=us-central1 \
  --limit=50

# Afficher les détails de la fonction
gcloud functions describe hello_http \
  --region=us-central1

Meilleures pratiques :

  • Gardez les fonctions petites et ciblées
  • Utilisez des variables d'environnement pour la configuration
  • Mettez en œuvre une gestion des erreurs appropriée
  • Définissez des valeurs de délai d'attente appropriées
  • Utilisez Cloud Logging pour le débogage
  • Minimisez le temps de démarrage à froid

Rareté : Très courant Difficulté : Facile-Moyen


CLI & Outils

11. Expliquez les commandes et la configuration courantes de gcloud CLI.

Réponse : gcloud CLI est l'outil principal pour gérer les ressources GCP.

Configuration initiale :

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

# Initialiser et s'authentifier
gcloud init

# Se connecter
gcloud auth login

# Définir le projet par défaut
gcloud config set project mon-id-projet

# Définir la région/zone par défaut
gcloud config set compute/region us-central1
gcloud config set compute/zone us-central1-a

Gestion de la configuration :

# Lister les configurations
gcloud config configurations list

# Créer une nouvelle configuration
gcloud config configurations create config-dev

# Activer la configuration
gcloud config configurations activate config-dev

# Définir les propriétés
gcloud config set account [email protected]
gcloud config set project projet-dev

# Afficher la configuration actuelle
gcloud config list

# Annuler la définition d'une propriété
gcloud config unset compute/zone

Commandes courantes par service :

Compute Engine :

# Lister les instances
gcloud compute instances list

# Créer une instance
gcloud compute instances create ma-vm \
  --machine-type=e2-medium \
  --zone=us-central1-a

# Se connecter en SSH à l'instance
gcloud compute ssh ma-vm --zone=us-central1-a

# Arrêter/démarrer l'instance
gcloud compute instances stop ma-vm --zone=us-central1-a
gcloud compute instances start ma-vm --zone=us-central1-a

# Supprimer l'instance
gcloud compute instances delete ma-vm --zone=us-central1-a

Cloud Storage :

# Lister les buckets
gsutil ls

# Créer un bucket
gsutil mb -l us-central1 gs://mon-bucket

# Envoyer un fichier
gsutil cp monfichier.txt gs://mon-bucket/

# Télécharger un fichier
gsutil cp gs://mon-bucket/monfichier.txt ./

# Synchroniser un répertoire
gsutil -m rsync -r ./repertoire-local gs://mon-bucket/repertoire-distant

# Définir le cycle de vie du bucket
gsutil lifecycle set lifecycle.json gs://mon-bucket

IAM :

# Lister les stratégies IAM
gcloud projects get-iam-policy mon-projet

# Ajouter une liaison IAM
gcloud projects add-iam-policy-binding mon-projet \
  --member=user:[email protected] \
  --role=roles/viewer

# Créer un compte de service
gcloud iam service-accounts create mon-sa \
  --display-name="Mon compte de service"

# Créer et télécharger une clé
gcloud iam service-accounts keys create key.json \
  [email protected]

Kubernetes Engine :

# Lister les clusters
gcloud container clusters list

# Obtenir les informations d'identification
gcloud container clusters get-credentials mon-cluster \
  --zone=us-central1-a

# Créer un cluster
gcloud container clusters create mon-cluster \
  --num-nodes=3 \
  --zone=us-central1-a

Indicateurs utiles :

# Formater la sortie
gcloud compute instances list --format=json
gcloud compute instances list --format=yaml
gcloud compute instances list --format="table(name,zone,status)"

# Filtrer les résultats
gcloud compute instances list --filter="zone:us-central1-a"
gcloud compute instances list --filter="status=RUNNING"

# Limiter les résultats
gcloud compute instances list --limit=10

# Trier les résultats
gcloud compute instances list --sort-by=creationTimestamp

Commandes utiles :

# Obtenir de l'aide
gcloud help
gcloud compute instances create --help

# Afficher les informations du projet
gcloud projects describe mon-projet

# Lister les régions/zones disponibles
gcloud compute regions list
gcloud compute zones list

# Afficher les quotas
gcloud compute project-info describe \
  --project=mon-projet

# Activer l'API
gcloud services enable compute.googleapis.com

# Lister les API activées
gcloud services list --enabled

Meilleures pratiques :

  • Utilisez des configurations pour différents environnements
  • Définissez le projet et la région par défaut
  • Utilisez --format pour les scripts
  • Utilisez --filter pour affiner les résultats
  • Activez la complétion de commande
  • Gardez gcloud SDK à jour

Rareté : Très courant Difficulté : Facile-Moyen


Conclusion

Se préparer à un entretien d'ingénieur cloud GCP junior nécessite de comprendre les services de base et les concepts cloud. Concentrez-vous sur :

  1. Compute Engine : Instances de VM, types de machines, disques
  2. Cloud Storage : Classes de stockage, buckets, cycle de vie
  3. VPC : Mise en réseau, sous-réseaux, règles de pare-feu
  4. IAM : Rôles, autorisations, comptes de service
  5. Concepts de base : Régions, zones, projets

Entraînez-vous à utiliser la console GCP et gcloud CLI pour acquérir une expérience pratique. Bonne chance !

Newsletter subscription

Conseils de carrière hebdomadaires qui fonctionnent vraiment

Recevez les dernières idées directement dans votre boîte de réception

Decorative doodle

Votre Prochain Entretien n'est qu'à un CV

Créez un CV professionnel et optimisé en quelques minutes. Aucune compétence en design nécessaire—juste des résultats prouvés.

Créer mon CV

Partager cet article

Faites Compter Vos 6 Secondes

Les recruteurs scannent les CV pendant seulement 6 à 7 secondes en moyenne. Nos modèles éprouvés sont conçus pour capter l'attention instantanément et les inciter à continuer la lecture.