Question d'entretien pour Développeur frontend

Quelles fonctionnalités CSS modernes ont vraiment changé votre façon de construire des composants, et quel problème les container queries résolvent-elles ?

Ce que le recruteur cherche à évaluer, comment structurer votre réponse et un exemple parlé à adapter.

Réponse rapide

Les container queries permettent à un composant de répondre à la largeur de son conteneur au lieu de celle de la fenêtre, donc la même carte peut être étroite dans une barre latérale et large dans une colonne principale sans faire circuler des props ni deviner des points de rupture. À côté, le sélecteur has permet de styler le parent, l'imbrication native supprime la dépendance à un préprocesseur, subgrid aligne du contenu imbriqué à travers une grille, et les view transitions animent les changements d'état sans bibliothèque.

Pourquoi les recruteurs posent cette question

Les recruteurs s'en servent pour dater vos connaissances. Les media queries liaient chaque composant à la fenêtre, ce qui est exactement l'inverse de ce qu'il faut pour un design system, donc connaître les container queries montre que vous avez construit des composants vraiment réutilisables. Les relances sondent si vous comprenez le coût du confinement, la stratégie de repli et la façon dont vous décidez qu'une fonctionnalité est sûre à adopter, ce qui est en fait une question sur votre évaluation du support navigateur.

Comment structurer votre réponse

  • Expliquez ce que corrigent les container queries : la fenêtre est la mauvaise unité pour un composant.
  • Nommez deux ou trois autres fonctionnalités que vous utilisez vraiment et pourquoi.
  • Mentionnez le confinement que vous devez déclarer pour que ça fonctionne.
  • Dites comment vous décidez qu'une fonctionnalité est sûre à livrer.

Exemple de réponse

Exemple parlé, à la première personne

La grosse, ce sont les container queries, parce que pendant des années la mise en page d'un composant était liée à la fenêtre alors que le composant n'a aucune idée de la largeur de son emplacement. Donc la même carte avait une prop du genre variant compact, et cette prop devait être transmise depuis l'endroit où elle était placée. Maintenant je déclare container type inline size sur l'enveloppe et la carte se style à partir de sa propre largeur, ce qui fait qu'elle tombe dans une barre latérale ou une grille pleine largeur et fonctionne, point. Ensuite le sélecteur has, surtout pour les états de formulaire, parce que je peux styler l'enveloppe d'un champ selon qu'elle contient une saisie invalide sans toucher au JavaScript. L'imbrication native m'a vraiment enlevé une dépendance à un préprocesseur, et subgrid fait enfin s'aligner les en-têtes de cartes sur une rangée. Sur le support, je regarde le statut baseline plutôt que de deviner, et si une fonctionnalité n'est pas largement disponible je l'utilise en amélioration progressive avec un bloc supports pour que rien ne paraisse cassé sans elle.

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 marche

Questions de relance à prévoir

  • Que vous coûte la déclaration de container type en termes de confinement de mise en page ?
  • Comment fourniriez-vous un repli raisonnable pour un navigateur sans support ?
  • Où le sélecteur has devient-il coûteux ?

Autres questions pour Développeur frontend

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

Répétez les questions difficiles avant qu'on vous les pose

Entraînez-vous avec un copilote en direct, puis présentez-vous prêt. Un Session Pass à $29 vous accompagne pendant l'entretien, sans abonnement et sans engagement.

Obtenir GhostPilot