Maison >interface Web >js tutoriel >Les dix dernières questions d'entretien frontal en 2018
Cette fois, je vous présente les dernières questions d'entretien front-end en 2018. Nous savons que les entretiens sont une partie indispensable du travail front-end. Cette fois, les questions d'entretien front-end courantes sont triées et résumées pour vous aider à obtenir. à travers l'interview frontale. Gros problèmes. Jetons un coup d'oeil.
[Recommandations associées : Questions d'entretien frontales (2020)]
1 Veuillez décrire la différence entre les cookies, session. Stockage et stockage local .
La programmation logicielle espère stocker de manière persistante certaines données utiles par certains moyens. Pour la programmation réseau, cette tâche est généralement confiée à la base de données côté serveur ou aux cookies côté navigateur. Avec l'émergence du HTML5, le développement Web propose deux options : Web Storage et Web SQL Database
WebStorage se présente sous deux formes : LocalStorage (stockage local) et sessionStorage (stockage de session). Les deux méthodes permettent aux développeurs d'opérer avec des paires clé-valeur définies par js et de les lire lors du rechargement de différentes pages. Ceci est similaire aux cookies.
1 : Les données des cookies sont toujours transportées dans la requête http depuis la même origine (même si elles ne sont pas nécessaires), c'est-à-dire que le cookie est transmis dans les deux sens entre le navigateur et le serveur. SessionStorage et localStorage n'envoient pas automatiquement les données au serveur, mais les enregistrent uniquement localement. Les données des cookies ont également le concept de chemin, qui peut restreindre les cookies à n'appartenir qu'à un certain chemin.
2 : La limite de taille de stockage est également différente. Les données des cookies ne peuvent pas dépasser 4 Ko. Dans le même temps, comme chaque requête http contient des cookies, les cookies ne conviennent qu'à la sauvegarde de très petites données, telles que les identifiants de session. Bien que sessionStorage et localStorage aient également des limites de taille de stockage, elles sont beaucoup plus volumineuses que les cookies et peuvent atteindre 5 Mo ou plus.
3 : La période de validité des données est différente. sessionStorage : n'est valable que jusqu'à la fermeture de la fenêtre actuelle du navigateur, et ne peut naturellement pas être conservée ; localStorage : est toujours valide et est enregistré même lorsque la fenêtre ou le navigateur est fermé ; fermé, il est donc utilisé comme donnée persistante ; les cookies ne sont valables que jusqu'à la date d'expiration du cookie définie, même si la fenêtre ou le navigateur est fermé.
4 : Différentes portées, sessionStorage n'est pas partagé dans différentes fenêtres du navigateur, même sur la même page ; localStorage est partagé dans toutes les fenêtres homologues ; les cookies sont également partagés dans toutes les fenêtres homologues partagées.
5 : Web Storage prend en charge le mécanisme de notification d'événements, qui peut envoyer des notifications de mise à jour des données aux auditeurs.
6 : L’interface API de Web Storage est plus pratique à utiliser.
2. Veuillez expliquer la différence entre <script>, <script async> et <script defer></strong>. </p>
<p>Le principal moyen d'insérer du code <a href="http://www.php.cn/wiki/48.html" target="_blank">javascript</a> dans une page HTML consiste à utiliser la balise script. Il existe deux formes, la première consiste à insérer du code js directement entre les balises de script et la seconde consiste à introduire des fichiers js externes via l'attribut src. Étant donné que l'interpréteur bloquera le rendu du reste de la page lors de l'analyse et de l'exécution du code js, les pages contenant une grande quantité de code js provoqueront de longues périodes d'espace vide et des retards dans le navigateur. Afin d'éviter ce problème, il est recommandé de mettre toutes les références js avant la balise </body>. </p>
<p>La balise script a deux attributs, defer et async, donc l'utilisation de la balise script est divisée en trois situations : </p>
<p>1.<script src="example.js"> < /script><br>Sans attributs différés ou asynchrones, le navigateur chargera et exécutera immédiatement le script correspondant. C'est-à-dire qu'avant de restituer le document après la balise de script, il n'attend pas les éléments du document chargés ultérieurement, et commence à les charger et à les exécuter dès qu'il est lu. Cela bloquera le chargement des documents suivants </p> ; <p>2.<script async src ="example.js"></script>
Avec l'attribut async, cela signifie que le chargement et le rendu des documents suivants ainsi que le chargement et l'exécution des scripts js sont effectué en parallèle, c'est-à-dire une exécution asynchrone ;
3.
Avec l'attribut defer, le processus de chargement des documents suivants et le chargement des scripts js (uniquement chargement mais pas exécution pour le moment) sont effectués en parallèle (Asynchrone), l'exécution du script js doit attendre que tous les éléments du document soient analysés et avant que l'événement DOMContentLoaded soit déclenché.
3. Pourquoi est-il généralement recommandé de placer CSS entre et JS