Se préparer à une entrevue frontale: 15 questions

L'auteur de l'article, dont nous publions aujourd'hui la traduction, Ă©numĂšre 15 questions qui lui ont Ă©tĂ© posĂ©es lors d'entretiens, et qu'il a lui-mĂȘme posĂ©es aux candidats pour les postes de dĂ©veloppeur front-end.







1. Qu'est-ce que DOM?



DOM (Document Object Model) est une interface de programmation pour les documents HTML. Cette interface vous permet d'influencer le document Ă  partir de scripts, en modifiant son apparence, ses styles, son contenu. Dans le DOM, un document est reprĂ©sentĂ© sous la forme d'un arbre de nƓuds.



2. Quelle est la différence entre les éléments <span> et <div>?



  • <span> Est un Ă©lĂ©ment en ligne.
  • <div> Est un Ă©lĂ©ment de bloc.


Les Ă©lĂ©ments <div>doivent ĂȘtre utilisĂ©s pour styliser les sections d'un document. Et les Ă©lĂ©ments agissent <span>comme des conteneurs pour de petites quantitĂ©s de texte, pour des images et d'autres Ă©lĂ©ments de page similaires.



Il convient de noter que vous ne pouvez pas placer d'éléments de bloc sur des éléments en ligne. Voici un exemple qui montre, entre autres, le placement incorrect d'un élément de bloc à l'intérieur d'un élément en ligne (il s'agit d'un fragment <div>I'm illegal</div>placé à l'intérieur d'un élément <span>):



<div>Hi<span>I'm the start of the span element <div>I'm illegal</div> I'm the end of the span</span> Bye I'm the end of the div</div>


3. Que sont les balises meta?



Les balises Meta sont des balises présentes dans une balise de page <head>qui décrivent le contenu d'une page. Les balises Meta ne sont pas affichées sur la page. Ils ne se trouvent que dans son code.



Leur tùche principale est de décrire briÚvement le contenu des pages aux moteurs de recherche. Voici un exemple:



<head>
  <meta charset="UTF-8">
  <meta name="description" content="Description search engines use">
  <meta name="keywords" content="Keywords, of, your, page">
  <meta name="author" content="Me">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>


4. Quelle est la différence entre les sélecteurs d'identificateur et de classe en CSS?



Les identificateurs ( id) sont uniques. Un article ne peut avoir qu'un seul identifiant. Un seul Ă©lĂ©ment avec un identifiant spĂ©cifique peut ĂȘtre prĂ©sent sur une page.



Les noms de classe ( class) ne sont pas uniques. La mĂȘme classe peut ĂȘtre affectĂ©e Ă  plusieurs Ă©lĂ©ments. Un Ă©lĂ©ment peut se voir attribuer plusieurs classes.



Si un certain style doit ĂȘtre appliquĂ© Ă  plusieurs Ă©lĂ©ments de la page, cette tĂąche doit ĂȘtre rĂ©solue Ă  l'aide de classes.



5. Comment utiliser les requĂȘtes multimĂ©dias dans CSS?



Les requĂȘtes multimĂ©dias utilisent une rĂšgle @mediaqui vous permet d'appliquer des styles CSS Ă  diffĂ©rents types de contenu. Les requĂȘtes multimĂ©dias peuvent Ă©galement ĂȘtre utilisĂ©es pour personnaliser les Ă©lĂ©ments de page en fonction des caractĂ©ristiques de l'environnement dans lequel les pages sont affichĂ©es.



/*      <div>  "red"   ,      600px   */
@media only screen and (max-width: 600px) {
  div {
    background-color: red;
  }
}


6. Que sont les pseudo-classes en CSS?



En CSS, les pseudo-classes sont utilisĂ©es pour dĂ©crire les styles d'Ă©lĂ©ments qui sont dans des Ă©tats spĂ©ciaux. Les pseudo-classes peuvent ĂȘtre utilisĂ©es en conjonction avec des sĂ©lecteurs CSS pour personnaliser l'apparence des Ă©lĂ©ments en fonction de leurs Ă©tats.



Voici un exemple:



/* 
     <a>,      ,     green. 
*/
a:hover {
  color: green;
}
/*     <a>      purple.*/
a:visited {
  color: purple;
}


Si on vous demande si vous pouvez nommer des pseudo-classes, voici une page avec une grande liste d'entre elles.



7. Quelle est la différence entre les types de positionnement d'éléments suivants: relatif, fixe, absolu, statique?



  • Le positionnement relatif se produit lorsqu'un Ă©lĂ©ment est dĂ©placĂ© de sa position par dĂ©faut.
  • Le positionnement fixe se produit lorsque vous ajustez la position d'un Ă©lĂ©ment en fonction des bords de la fenĂȘtre du navigateur.
  • Le positionnement absolu est le placement d'un Ă©lĂ©ment par rapport Ă  l'Ă©lĂ©ment parent positionnĂ© le plus proche, et exactement Ă  l'endroit spĂ©cifiĂ© par le dĂ©veloppeur.
  • Le positionnement statique est le mode de positionnement par dĂ©faut qui affiche les Ă©lĂ©ments dans l'ordre dans lequel ils sont dĂ©crits dans le document.


8. Quelle est la diffĂ©rence entre les requĂȘtes PUT et POST?



Les demandes PUT entraĂźnent le remplacement de la ressource cible par les donnĂ©es transmises dans la demande. Il peut ĂȘtre utilisĂ© pour mettre Ă  jour le contenu d'une ressource existante ou pour crĂ©er une nouvelle ressource.



Les requĂȘtes POST entraĂźnent un traitement spĂ©cifique Ă  la ressource des donnĂ©es transmises dans la requĂȘte. Ils peuvent ĂȘtre utilisĂ©s pour effectuer diverses actions. Y compris - pour crĂ©er de nouvelles ressources, pour tĂ©lĂ©charger des fichiers sur le serveur, pour soumettre des formulaires.



Une autre diffĂ©rence entre les requĂȘtes PUT et POST est que les requĂȘtes PUT sont idempotentes, mais les requĂȘtes POST ne le sont pas. Autrement dit, si une demande dans laquelle les mĂȘmes donnĂ©es sont transmises et qui est exĂ©cutĂ©e Ă  la mĂȘme URL sera exĂ©cutĂ©e plusieurs fois, cela Ă©quivaut Ă  exĂ©cuter cette demande une fois. ExĂ©cuter une requĂȘte POST plusieurs fois n'Ă©quivaut pas Ă  l'exĂ©cuter une seule fois. Autrement dit, plusieurs de ces requĂȘtes, par exemple, peuvent conduire Ă  la crĂ©ation de plusieurs objets sur le serveur.



9. Quelles sont les différences entre la technologie Long Polling, le protocole WebSocket et les événements générés par le serveur?



  • Long Polling . , , , . .
  • WebSocket .
  • , , HTTP-, .


10. -, ?



Le stockage local, comme son nom l'indique, est un endroit que les navigateurs peuvent utiliser pour stocker des données localement. Il peut stocker jusqu'à 10 Mo de données. Le stockage de session est un type de stockage local associé à une session et supprimé aprÚs son achÚvement. Le stockage de session peut stocker jusqu'à 5 Mo de données.



Les cookies sont utilisĂ©s pour stocker de petites quantitĂ©s de donnĂ©es, ne dĂ©passant pas 4 Ko. Ils peuvent ĂȘtre utilisĂ©s par le navigateur, le serveur peut les demander au navigateur.



11. Qu'est-ce que CORS?



CORS (Cross-Origin Resource Sharing) est un mĂ©canisme basĂ© sur un navigateur qui permet aux pages d'accĂ©der Ă  des ressources en dehors d'un certain domaine. Cela Ă©tend les capacitĂ©s des pages et ajoute de la flexibilitĂ© Ă  la politique de mĂȘme origine.



12. Qu'est-ce qu'une promesse?



Les promesses sont des objets que JavaScript utilise lors de l'exécution d'opérations asynchrones. Ils facilitent le travail avec des opérations asynchrones et fournissent des mécanismes de gestion des erreurs plus pratiques que les rappels et les événements.



13. Dans quels Ă©tats une promesse peut-elle se trouver?



Une promesse peut ĂȘtre dans l'un des trois Ă©tats suivants:



  1. Réalisé - L'opération associée à la promesse s'est terminée avec succÚs.
  2. Rejeté - L'opération associée à la promesse s'est terminée avec une erreur.
  3. En attente - une promesse est en attente, c'est-à-dire qu'on ne peut pas dire qu'elle s'est terminée avec succÚs ou avec une erreur.


14. Qu'est-ce que le levage de variables et de fonctions en JavaScript?



Le levage de variables et de fonctions est le déplacement de leurs déclarations vers le haut de leur portée (portée globale ou fonction).



15. Quelles valeurs sont fausses dans JavaScript?



En JavaScript, les fausses valeurs sont des valeurs qui, lorsqu'elles sont converties en un type booléen, deviennent des valeurs false. Ce sont les valeurs suivantes:



  • '' 
  • nul
  • indĂ©fini
  • NaN
  • faux
  • -0
  • 0n // les valeurs de type BigInt, lorsqu'elles sont converties en type boolĂ©en, se comportent de la mĂȘme maniĂšre que les valeurs de type Number


RĂ©sultat



Les questions que j'ai partagées avec vous ont été posées lors des entretiens. Je leur ai demandé lors d'entretiens avec d'autres développeurs. Des questions comme celle-ci, complétées par des tùches pratiques, sont un bon moyen de tester les connaissances d'un candidat pour un programmeur front-end.



Je pense qu'il y a beaucoup plus de questions JavaScript Ă  prĂ©parer pour une interview frontale que dans cet article. L'analyse des questions sur TypeScript peut Ă©galement ĂȘtre trĂšs utile.



Si vous déclarez dans votre CV que vous connaissez un framework frontal, cela signifie que vous devez vous préparer au fait qu'on vous posera des questions sur la connaissance de ce framework.



Quelles questions vous a-t-on posées lors des entretiens préliminaires?










All Articles