Un démarrage à froid arrive quand une requête se présente sans environnement d'exécution chaud disponible, donc la plateforme doit en provisionner un, télécharger et décompresser votre code, démarrer le runtime et exécuter votre initialisation avant de traiter la requête. Réduisez-le en allégeant le paquet, en choisissant un runtime plus léger, en sortant la préparation lourde du chemin de la requête et en réutilisant les connexions. Pour les chemins sensibles à la latence, utilisez la concurrence provisionnée plutôt que des bricolages de maintien au chaud.
Pourquoi les recruteurs posent cette question
Le recruteur veut voir que vous comprenez le modèle d'exécution au lieu de traiter les fonctions comme de la magie. Il cherche les composantes du délai, la différence entre le travail d'initialisation et le travail par invocation, et une vue mesurée de quand ça compte, puisque les démarrages à froid affectent la latence de queue des appels synchrones vus par l'utilisateur et comptent rarement pour du traitement asynchrone.
Comment structurer votre réponse
- Décomposez le démarrage à froid en ses phases réelles.
- Séparez ce que vous contrôlez de ce que la plateforme contrôle.
- Donnez les optimisations par ordre d'impact.
- Dites quand ça compte et quand vous l'ignoreriez.
Exemple de réponse
Un démarrage à froid, c'est la plateforme qui construit un nouvel environnement d'exécution parce qu'il n'y en a pas de chaud disponible. Cela veut dire le provisionner, récupérer et décompresser votre artefact, démarrer le runtime et exécuter votre code d'initialisation avant même que votre handler soit appelé. Ce que je contrôle, c'est la taille de l'artefact et l'initialisation, donc je taille dans les dépendances sans pitié, parce qu'un gros paquet ajoute du temps réel à chaque démarrage à froid, et je sors des choses comme le chargement de configuration et la construction des clients hors du handler pour qu'elles tournent une fois par environnement plutôt qu'une fois par requête et soient réutilisées lors des invocations chaudes. Le choix du runtime compte aussi ; un runtime léger démarre bien plus vite qu'une machine virtuelle lourde, sauf si j'utilise la fonctionnalité de snapshot de la plateforme. Quand le chemin est vu par l'utilisateur et que la latence de queue compte, j'arrête d'optimiser et j'achète de la concurrence provisionnée pour la base attendue, parce que ça garde les environnements initialisés. Ce que je ne fais plus, c'est pinguer les fonctions avec un minuteur pour les garder chaudes ; ce n'est pas fiable dès qu'il y a de la vraie concurrence. Pour du travail piloté par file ou du batch, en général je l'accepte simplement.
Vous passez cet entretien bientôt ? GhostPilot écoute votre appel en direct, repère la question dès qu'elle est posée et affiche une réponse structurée à l'écran en temps réel. Essayez-le lors de votre prochain entretien blanc, ou prenez un Session Pass à $29, sans abonnement, pour le jour J.
Voir comment ça marcheQuestions de relance à prévoir
- Pourquoi un ping de maintien au chaud planifié n'est-il pas fiable sous concurrence ?
- Comment la concurrence provisionnée interagit-elle avec votre processus de déploiement ?
- Comment mesureriez-vous l'impact réel des démarrages à froid sur vos utilisateurs ?
Autres questions pour Ingénieur cloud
Votre recruteur posera sa propre version de celle-ci. Collez votre véritable fiche de poste dans le Question Predictor gratuit et obtenez les 20 questions que ce poste a le plus de chances de poser, avec ce que chacune cherche vraiment à sonder.
Prédire mes questions