Expliquez les 10 premières lignes du code source de Twitter
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.
Ligne 1:
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.
Ligne 2:
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.
Ligne 3:
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
Ligne 4:
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.
Ligne 8:
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.
Ligne 9: <link rel="search" type="application / opensearchDescription xml" href="/%20opeensearch.xml" title="twitter"> </h3> <p> … Indique les navigateurs que les utilisateurs peuvent ajouter Twitter en tant que moteur de recherche.</p> <pre rel="HTML" data-line=""> <link rel="preload" as="script" crossorigin="anonymous" href="https://abs.twimg.com/responsive-web/client-web/polyfills.cad508b5.js" nonce="Mguyzti5ntg2Mdm1zc00Mze5lwe />
… 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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Différents navigateurs ont des différences dans l'analyse CSS, ce qui entraîne des effets d'affichage incohérents, y compris principalement la différence de style par défaut, la méthode de calcul du modèle de boîte, le niveau de support Flexbox et la disposition de la grille et le comportement incohérent de certains attributs CSS. 1. Le traitement de style par défaut est incohérent. La solution consiste à utiliser cssreset ou normaliser.css pour unifier le style initial; 2. La méthode de calcul du modèle de boîte de l'ancienne version de IE est différente. Il est recommandé d'utiliser la taille d'une boîte: Border-Box de manière unifiée; 3. Flexbox et Grid fonctionnent différemment dans les cas de bord ou dans les anciennes versions. Plus de tests et utilisent Autoprefixer; 4. Certains comportements d'attribut CSS sont incohérents. Caniuse doit être consulté et rétrogradé.

Pour créer des images réactives à l'aide de CSS, elle peut être principalement réalisée grâce aux méthodes suivantes: 1. Utilisez la largeur maximale: 100% et hauteur: Auto pour permettre à l'image de s'adapter à la largeur du conteneur tout en maintenant la proportion; 2. Utilisez les attributs SRCSET et tailles de HTML pour charger intelligemment les sources d'image adaptées à différents écrans; 3. Utilisez l'objet-ajustement et la position d'objet pour contrôler le recadrage d'images et l'affichage de la mise au point. Ensemble, ces méthodes garantissent que les images sont présentées clairement et magnifiquement sur différents appareils.

L'opacité est un attribut de CSS qui contrôle la transparence globale d'un élément, avec des valeurs allant de 0 (entièrement transparente) à 1 (entièrement opaque). 1. Il est souvent utilisé pour l'effet de fondu de planage de l'image et améliore l'expérience interactive en définissant la transition d'opacité; 2. Faire une couche de masque d'arrière-plan pour améliorer la lisibilité au texte; 3. Rétroaction visuelle des boutons de contrôle ou des icônes à l'état désactivé. Notez qu'il affecte tous les éléments enfants, contrairement à RGBA, ce qui n'affecte que la partie de couleur spécifiée. L'animation fluide peut être réalisée avec la transition, mais une utilisation fréquente peut affecter les performances. Il est recommandé de l'utiliser en combinaison avec la volonté ou la transformation. L'application rationnelle de l'opacité peut améliorer la hiérarchie des pages et l'interactivité, mais cela devrait éviter d'icher pour interférer avec les utilisateurs.

Accent-Color est un attribut utilisé dans CSS pour personnaliser les couleurs de surbrillance des éléments de formulaire tels que les cases à cocher, les boutons radio et les curseurs; 1. Il modifie directement la couleur par défaut de l'état sélectionné du contrôle de formulaire, tel que la modification de la coche bleue de la case en rouge; 2. Les éléments pris en charge incluent les cases d'entrée de type = "Checkbox", Type = "Radio" et Type = "Range"; 3. L'utilisation de la couleur accent peut éviter les styles personnalisés complexes et les structures DOM supplémentaires et maintenir l'accessibilité native; 4. Il est généralement soutenu par des navigateurs modernes et les anciens navigateurs doivent être rétrogradés; 5. Set Accent-Col

Le: a () pseudo-classincssallowstargetingaparementementbasedOnSeLelements.itWorksByusingTheNyntaxParent: Has (Child-Selector) toapplystylesConditional.

Les styles par défaut du navigateur garantissent la lisibilité de base en appliquant automatiquement les marges, remplissent, les polices et les styles d'éléments de formulaire, mais peuvent provoquer des dispositions de croisement incohérentes. 1. La marge par défaut et le remplissage modifient le flux de mise en page, tel que l'espacement des titres, des paragraphes et des listes; 2. Les paramètres de police par défaut affectent la lisibilité, tels que la taille de la police 16px et la police TimesNewroman; 3. Les éléments de forme sont très différents dans différents navigateurs, donc l'apparence doit être réinitialisée; 4. Certaines balises telles que Strong et EM ont des styles d'accent par défaut et doivent être explicitement écrasés. Des solutions de contournement incluent l'utilisation de Normalize.css, de réinitialisation des styles ou des marges et des remplissages à l'échelle mondiale, tout en personnalisant les polices et les styles de formulaire pour la cohérence.

Pour embellir le début d'un paragraphe pour améliorer l'attrait visuel, une pratique courante consiste à utiliser des pseudo-éléments de CSS ou à styliser manuellement le document. Dans le développement Web, P :: First-Letter peut être utilisé pour définir le premier style de lettre, tel que l'agrandissement, le gras et la décoloration, mais il convient de noter qu'il convient uniquement aux éléments au niveau des blocs; Si vous souhaitez mettre en évidence toute la première ligne, utilisez P :: première ligne pour ajouter des styles; Dans un logiciel de document tel que Word, vous pouvez ajuster manuellement le premier format de lettre ou créer des modèles de style, et InDesign a une fonction "de première saut" intégrée adaptée à la publication et à la conception; Lorsque vous postulez, vous devez prêter attention aux détails, tels que l'évitement des styles complexes affectant la lecture et la compatibilité et la cohérence du format.

Utilisez la pseudo-élément de sélection :: Sélection de CSS pour personnaliser le style de mise en évidence lorsque le texte de la page Web est sélectionné pour améliorer l'esthétique et l'unité de la page. 1. Paramètres de base: Définissez le fond et la couleur de l'arrière-plan à travers :: Sélection, comme le fond jaune avec des polices gris foncé; Des éléments spécifiques tels que la sélection P :: peuvent également être limités. 2. Traitement de la compatibilité: Ajoutez le préfixe -webkit pour être compatible avec les navigateurs Safari et mobiles, et les normes Firefox et Edge sont bien prises en charge. 3. Faites attention à la lisibilité: évitez le contraste excessif des couleurs ou trop sophistiqué, et devrait être coordonné avec la conception globale. Par exemple, choisissez une base bleue douce en mode sombre pour améliorer le confort visuel. Une utilisation raisonnable peut améliorer la texture de l'interface, ignorer les détails
