Maison  >  Article  >  Java  >  questions d'entretien javaweb (3)

questions d'entretien javaweb (3)

(*-*)浩
(*-*)浩original
2019-12-13 15:31:372179parcourir

questions d'entretien javaweb (3)

Quels sont les avantages et les inconvénients d'AJAX ?

Avantages :

1. Le plus gros point est que la page ne s'actualise pas, et l'expérience utilisateur est très bonne. (Apprentissage recommandé : Questions d'entretien Java )

2. Utilisez des moyens asynchrones pour communiquer avec le serveur, qui a une capacité de réponse plus rapide.

3. Une partie du travail précédemment chargé par le serveur peut être transférée au client, en utilisant la capacité inactive du client pour le traiter, réduisant ainsi la charge sur le serveur et la bande passante, et économisant de l'espace et de la location du haut débit. frais. Et pour réduire la charge sur le serveur, le principe d'ajax est de « récupérer les données à la demande », ce qui peut minimiser la charge sur le serveur causée par les requêtes et réponses redondantes.

4. Basé sur une technologie standardisée et largement prise en charge, il n'est pas nécessaire de télécharger des plug-ins ou de petits programmes.

Inconvénients :

1. Ajax ne prend pas en charge le bouton Précédent du navigateur.

2. Problèmes de sécurité AJAX expose les détails de l'interaction avec le serveur.

3. Le support des moteurs de recherche est relativement faible.

4. Détruit le mécanisme d'exception du programme.

5. Pas facile à déboguer.

Quelle est la différence entre les applications AJAX et les applications Web traditionnelles ?

Dans la programmation Javascript traditionnelle, si vous souhaitez obtenir des informations à partir d'une base de données ou d'un fichier côté serveur, ou envoyer des informations client au serveur, vous devez créer un formulaire HTML, puis GET ou POSTez les données sur le serveur.

Les utilisateurs doivent cliquer sur le bouton « Soumettre » pour envoyer ou recevoir des informations sur les données, puis attendre que le serveur réponde à la demande et que la page se recharge.

Étant donné que le serveur renvoie une nouvelle page à chaque fois, les applications Web traditionnelles peuvent être lentes et peu conviviales.

Grâce à la technologie AJAX, Javascript peut interagir directement avec le serveur via l'objet XMLHttpRequest.

Grâce à la requête HTTP, une page Web peut envoyer une requête au serveur Web et accepter les informations renvoyées par le serveur Web (sans recharger la page). La même page est affichée à l'utilisateur. la page est actualisée. Voir aussi Il n'est pas nécessaire d'accéder à l'arrière-plan Javascript pour envoyer des requêtes et recevoir des réponses, et l'expérience est très bonne.

Quel est le processus de mise en œuvre d'Ajax ?

(1) Créez un objet XMLHttpRequest, qui consiste à créer un objet d'appel asynchrone

(2) Créez une nouvelle requête HTTP et spécifiez la méthode, l'URL et vérifiez les informations.

(3) Définir la fonction pour répondre aux changements d'état de la requête HTTP.

(4) Envoyer la requête HTTP.

(5) Récupérer les données renvoyées par l'appel asynchrone .

(6) Utilisez JavaScript et DOM pour implémenter une actualisation partielle.

Pour être plus précis :

1, créez un objet XNLHttpRequest

(不考虑ie)XMLHttpRequest request = new XMLHttprequest();

2. Créez une nouvelle requête Http

XMLHttprequest.open(method,url,flag,name,password);

3, définissez la fonction pour répondre aux modifications de la requête Http

XMLHttprequest.onreadystatechange=getData;
function getData(){
    if(XMLHttprequest.readyState==4){
        //获取数据
    }
}

4, envoyez une requête http

XMLHttprequest.send(data);

5, et récupérez l'objet renvoyé par l'appel asynchrone,

function(data){
//异步提交后,交互成功,返回的data便是异步调用返回的对象,该对象是一个string类型的
}

6, utilisez js et DOM pour obtenir un rafraîchissement partiel

myDiv.innerHTML=''Ceci sont les données actualisées''

Une brève introduction à la base de données Les trois paradigmes ?

Première forme normale : chaque champ de la table de base de données est indivisible

Deuxième forme normale : les attributs non primaires de la table de base de données dépendent uniquement de la clé primaire

Troisième forme normale : Il n'y a pas de dépendance fonctionnelle transitive des attributs non primaires sur les mots-clés

Qu'est-ce que le framework de collection Java ? Nommez quelques avantages du cadre de collecte ?

Il existe des collections dans chaque langage de programmation. La version initiale de Java comprenait plusieurs classes de collection : Vector, Stack, HashTable et Array.

Avec l'utilisation généralisée des collections, Java 1.2 a proposé un cadre de collection qui inclut toutes les interfaces, implémentations et algorithmes de collection. Java suit depuis longtemps le processus d'utilisation de classes génériques et de classes de collection concurrentes tout en garantissant la sécurité des threads. Il inclut également le blocage des interfaces et leurs implémentations dans le package de concurrence Java.

Certains des avantages du cadre de collection sont les suivants :

(1) Utilisez des classes de collection de base pour réduire les coûts de développement au lieu de mettre en œuvre nos propres classes de collection.

(2) La qualité du code sera améliorée grâce à l'utilisation de classes de framework de collection rigoureusement testées.

(3) En utilisant les classes de collection incluses avec le JDK, les coûts de maintenance du code peuvent être réduits.

(4) Réutilisabilité et opérabilité.

Quelles sont les interfaces de base du framework de collection Java ?

Collection est l'interface racine du niveau collection. Une collection représente un ensemble d'objets qui sont ses éléments. La plateforme Java ne fournit aucune implémentation directe de cette interface.

Set est un ensemble qui ne peut pas contenir d'éléments en double. Cette interface modélise une abstraction mathématique d'ensembles et est utilisée pour représenter des ensembles, comme un jeu de cartes.

List est une collection ordonnée qui peut contenir des éléments répétés. Vous pouvez accéder à n’importe quel élément par son index. La liste ressemble plus à un tableau dont la longueur change dynamiquement.

Map est un objet qui mappe des clés à des valeurs. Une Map ne peut pas contenir de clés en double : chaque clé ne peut mapper qu'une seule valeur.

Certaines autres interfaces sont Queue, Dequeue, SortedSet, SortedMap et ListIterator.

Quels sont les avantages des génériques dans le cadre d'une collection ?

Java1.5 a introduit les génériques, et toutes les interfaces et implémentations de collection les utilisent largement. Les génériques nous permettent de fournir à une collection un type d'objet qu'elle peut contenir.

Donc, si vous ajoutez un élément d'un autre type, une erreur sera générée lors de la compilation. Cela évite ClassCastException au moment de l'exécution, puisque vous recevrez un message d'erreur au moment de la compilation.

Les génériques rendent également le code plus propre, nous n'avons pas besoin d'utiliser des conversions explicites et des opérateurs instanceOf. Cela apporte également des avantages au runtime car aucune instruction de bytecode de type vérifié n'est générée.

Quelle est la différence entre les interfaces Enumeration et Iterator ?

L'énumération est deux fois plus rapide qu'Iterator et utilise moins de mémoire. Le dénombrement est très basique et répond à des besoins fondamentaux.

Cependant, comparé à Enumeration, Iterator est plus sûr car il empêche d'autres threads de modifier la collection pendant qu'une collection est parcourue.

Iterator remplace Enumeration dans le framework de collection Java. Les itérateurs permettent à l'appelant de supprimer des éléments d'une collection, contrairement à l'énumération. Les noms des méthodes itératives ont été améliorés pour rendre leurs fonctionnalités plus claires.

Quelle est la différence entre Iterater et ListIterator ?

1. Nous pouvons utiliser Iterator pour parcourir les collections Set et List, tandis que ListIterator ne peut parcourir que List.

2. Iterator ne peut traverser que vers l'avant, tandis que LIstIterator peut traverser dans les deux sens.

3. ListIterator hérite de l'interface Iterator, puis ajoute quelques fonctions supplémentaires, telles que l'ajout d'un élément, le remplacement d'un élément et l'obtention de la position d'index de l'élément précédent ou suivant.

Comment trier un ensemble d'objets ?

Si nous devons trier un tableau d'objets, nous pouvons utiliser la méthode Arrays.sort(). Si nous devons trier une liste d’objets, nous pouvons utiliser la méthode Collection.sort().

Les deux classes ont une méthode surchargée sort() pour le tri naturel (en utilisant Comparable) ou le tri basé sur des critères (en utilisant Comparator).

Les collections utilisent en interne la méthode de tri des tableaux, donc les deux ont les mêmes performances, c'est juste que les collections prennent du temps pour convertir la liste en tableau.

Quelles sont les meilleures pratiques liées à Java Collections Framework ?

1. Choisissez le bon type de collecte en fonction de vos besoins. Par exemple, si la taille est spécifiée, nous utiliserons Array au lieu de ArrayList. Si nous voulons parcourir une carte selon l'ordre d'insertion, nous devons utiliser TreeMap. Si nous ne voulons pas répéter, nous devons utiliser Set.

2. Certaines classes de collection permettent de spécifier la capacité initiale, donc si on peut estimer le nombre d'éléments stockés, on peut l'utiliser et éviter de ressasser ou de redimensionner.

3. Basé sur la programmation d'interface plutôt que sur la programmation d'implémentation, cela nous permet de modifier facilement l'implémentation ultérieurement.

4. Utilisez toujours des génériques de type sécurisé pour éviter ClassCastException au moment de l'exécution.

5. Utilisez la classe immuable fournie par JDK comme clé de Map pour éviter d'implémenter vous-même hashCode() et equals().

6. Utilisez la classe d'outils Collections autant que possible, ou obtenez une collection en lecture seule, synchronisée ou vide au lieu d'écrire votre propre implémentation. Il permettra la réutilisabilité du code et aura une meilleure stabilité et maintenabilité.

Qu'est-ce qu'une transaction ?

La transaction est l'unité de base de la récupération et du contrôle de la concurrence

Les quatre caractéristiques de base de la transaction

Atomicité, cohérence, isolement, durabilité

L'atomicité est presque la même chose que la cohérence, ce qui signifie que tous réussissent ou échouent

La cohérence signifie passer d'un état de cohérence à un autre état de cohérence

L'isolement est On dit que l'exécution d'une transaction ne peut pas être interféré par une autre transaction

La persistance signifie qu'une fois qu'une transaction est soumise, ses modifications dans les données de la base de données doivent être permanentes et ne peuvent pas être modifiées (ce n'est qu'une brève explication de l'entretien) Comprenez-la immédiatement , demandez à Du Niang une compréhension détaillée)

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn