Depuis quelques semaines, j'ai embauché pour un ingénieur JavaScript complet senior dans mon entreprise de meubles de location, Pabio. Puisque nous sommes une équipe éloignée, nous mettons nos entretiens sur Zoom, et j'ai observé que certains développeurs ne sont pas excellents dans les interviews en codage en direct ou en tableau blanc, même s'ils sont bons au travail. Donc, au lieu de cela, nous avons une discussion technique d'une heure où je leur pose des questions sur les vitaux du Web, l'accessibilité, les guerres du navigateur et d'autres sujets similaires sur le Web. L'une des questions que j'aime toujours poser est: "Expliquez les dix premières lignes du code source Twitter pour moi."
Je pense que c'est un test simple qui me dit beaucoup de choses sur la profondeur des connaissances frontales fondamentales qu'ils ont, et cet article répertorie les meilleures réponses.
Pour le contexte, je partage mon écran, ouvrez Twitter.com et cliquez sur Afficher la source . Ensuite, je leur demande d'aller en ligne pour m'aider à comprendre le HTML, et ils peuvent en dire autant ou aussi peu qu'ils le souhaitent. Je zoome également pour rendre le texte plus lisible, donc vous ne voyez pas la ligne complète mais vous avez une idée. Voici à quoi ça ressemble:
Notez que puisque notre discussion technique est une conversation. Je ne m'attends pas à une réponse parfaite de personne. Si j'entends quelques bons mots clés, je sais que le candidat connaît le concept et j'essaie de les pousser dans la bonne direction.
La première ligne du code source de chaque document est parfaite pour cette interview, car combien un candidat connaît la déclaration Doctype ressemble étroitement à combien d'années d'expérience. Je me souviens encore de mes journées Dreamweaver avec la longue ligne de doctype XHTML, comme Chris a répertorié dans son article «The Common Doctypes» de 2009.
Réponse parfaite: Ceci est la déclaration de type de document (Type DOC) que nous avons toujours mis comme la première ligne dans les fichiers HTML. Vous pourriez penser que ces informations sont redondantes car le navigateur sait déjà que le type de mime de la réponse est Text / HTML; Mais pendant les jours NetScape / Internet Explorer, les navigateurs avaient la tâche difficile de déterminer quelle norme HTML à utiliser pour rendre la page à partir de plusieurs versions concurrentes.
Cela était particulièrement ennuyeux car chaque norme a généré une disposition différente, donc cette balise a été adoptée pour faciliter les navigateurs. Auparavant, les balises doctype étaient longues et comprenaient même le lien de spécification (un peu comme les SVG aujourd'hui), mais heureusement, le simple a été standardisé dans HTML5 et vit toujours.
Également accepté: il s'agit de la balise doctype pour faire savoir au navigateur qu'il s'agit d'une page HTML5 et devrait être rendu comme tel.
Cette ligne dans le code source me dit si le candidat connaît l'accessibilité et la localisation. Étonnamment, seules quelques personnes connaissaient l'attribut DIR dans mes interviews, mais c'est une excellente transition dans une discussion sur les lecteurs d'écran. Presque tout le monde a pu comprendre l'attribut Lang = "en", même s'ils ne l'avaient pas utilisé auparavant.
Réponse parfaite: c'est l'élément racine d'un document HTML et tous les autres éléments se trouvent à l'intérieur de celui-ci. Ici, il a deux attributs, une direction et un langage. L'attribut de direction a la valeur de gauche à droite pour dire aux agents utilisateur dans quelle direction le contenu est dans; D'autres valeurs sont droites à gauche pour des langues comme l'arabe, ou tout simplement l'auto, ce qui le laisse au navigateur pour le comprendre.
L'attribut de langue nous dit que tout le contenu à l'intérieur de cette balise est en anglais; Vous pouvez définir cette valeur sur n'importe quelle balise de langue, même pour différencier EN-US et EN-GB, par exemple. Ceci est également utile pour que les lecteurs d'écran sachent dans quelle langue annoncer.
Réponse parfaite: la balise Meta dans le code source est de fournir des métadonnées à propos de ce document. L'attribut Set Set (CHAR-Set) indique au navigateur quel codage de caractères à utiliser et Twitter utilise le codage standard UTF-8. UTF-8 est génial car il a de nombreux points de caractère, vous pouvez donc utiliser toutes sortes de symboles et d'emoji dans votre code source. Il est important de mettre cette balise près du début de votre code afin que le navigateur n'ait pas déjà commencé à analyser trop de texte en ce qui concerne cette ligne; Je pense que la règle est de le mettre dans le premier kilobyte du document, mais je dirais que la meilleure pratique est de le mettre en haut de
En tant que note latérale, il semble que Twitter omet la balise
La plupart des candidats ne connaissaient pas celui-ci, mais les développeurs expérimentés peuvent parler de la façon d'optimiser un site Web pour les appareils Apple, comme Apple-Touch-Icons et Safari Tab SVGS.
Réponse parfaite: vous pouvez épingler un site Web sur l'écran d'accueil d'un iPhone pour le faire ressembler à une application native. Safari ne prend pas en charge les applications Web progressives et vous ne pouvez pas vraiment utiliser d'autres moteurs de navigateur sur iOS, donc vous n'avez pas vraiment d'autres options si vous voulez cette expérience native, que Twitter, bien sûr, aime. Ils ajoutent donc cela pour dire à Safari que le titre de cette application est Twitter. La ligne suivante est similaire et contrôle à quoi la barre d'état devrait ressembler au lancement de l'application.
Réponse parfaite: Il s'agit de l'équivalent des normes Web appropriées - l'équivalent de la balise de méta de couleur de la barre d'état Apple. Il dit au navigateur de thème l'interface utilisateur environnante. Chrome sur Android et Brave sur Desktop font tous les deux un très bon travail avec cela. Vous pouvez mettre n'importe quelle couleur CSS dans le contenu et même utiliser l'attribut multimédia pour afficher cette couleur pour une requête multimédia spécifique comme, par exemple, pour prendre en charge un thème sombre. Vous pouvez également définir cette propriété et des propriétés supplémentaires dans le manifeste de l'application Web.
… A de nombreux attributs intéressants qui peuvent être discutés, en particulier nonce.
<link rel="alternative" hreflang="x-default" href="https://twitter.com/">
… Pour les pages de destination internationales.
: Focus: pas ([Data-Focusvisible-PolyFill]) {Outline: Aucun;}
… Pour supprimer le plan de mise au point lorsque vous n'utilisez pas la navigation au clavier (le sélecteur CSS: Focus-visible est polyvalé ici).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!