Heim  >  Artikel  >  Java  >  Javaweb-Interviewfragen (3)

Javaweb-Interviewfragen (3)

(*-*)浩
(*-*)浩Original
2019-12-13 15:31:372265Durchsuche

Javaweb-Interviewfragen (3)

Was sind die Vor- und Nachteile von AJAX?

Vorteile:

1. Der größte Punkt ist, dass die Seite nicht aktualisiert wird und die Benutzererfahrung sehr gut ist. (Empfohlenes Lernen: Java-Interviewfragen )

2. Verwenden Sie asynchrone Methoden zur Kommunikation mit dem Server, der schneller reagieren kann.

3. Ein Teil der zuvor vom Server belasteten Arbeit kann auf den Client übertragen werden, wodurch die ungenutzte Kapazität des Clients für die Verarbeitung genutzt wird, wodurch die Belastung des Servers und der Bandbreite verringert und Platz und Breitbandmiete gespart werden Kosten. Und um die Belastung des Servers zu verringern, besteht das Prinzip von Ajax darin, „Daten bei Bedarf abzurufen“, wodurch die Belastung des Servers durch redundante Anforderungen und Antworten minimiert werden kann.

4. Basierend auf standardisierter und weithin unterstützter Technologie ist es nicht erforderlich, Plug-Ins oder kleine Programme herunterzuladen.

Nachteile:

1. Ajax unterstützt die Zurück-Schaltfläche des Browsers nicht.

2. Sicherheitsprobleme AJAX legt die Details der Interaktion mit dem Server offen.

3. Die Unterstützung für Suchmaschinen ist relativ schwach.

4. Der Ausnahmemechanismus des Programms wurde zerstört.

5. Nicht einfach zu debuggen.

Was ist der Unterschied zwischen AJAX-Anwendungen und herkömmlichen Webanwendungen?

Wenn Sie bei der herkömmlichen Javascript-Programmierung Informationen aus einer serverseitigen Datenbank oder Datei abrufen oder Clientinformationen an den Server senden möchten, müssen Sie ein HTML-Formular erstellen und dann GET oder posten Sie die Daten an den Server.

Benutzer müssen auf die Schaltfläche „Senden“ klicken, um Dateninformationen zu senden oder zu empfangen, und dann warten, bis der Server auf die Anfrage antwortet und die Seite neu geladen wird.

Da der Server jedes Mal eine neue Seite zurückgibt, können herkömmliche Webanwendungen langsam und benutzerfreundlich sein.

Mithilfe der AJAX-Technologie kann Javascript über das XMLHttpRequest-Objekt direkt mit dem Server interagieren.

Über eine HTTP-Anfrage kann eine Webseite eine Anfrage an den Webserver senden und die vom Webserver zurückgegebenen Informationen akzeptieren (ohne die Seite neu zu laden). Die Seite wird aktualisiert. Es ist nicht nötig, zum Javascript-Hintergrund zu gehen, um Anfragen zu senden und Antworten zu empfangen, und die Erfahrung ist sehr gut.

Was ist der Implementierungsprozess von Ajax?

(1) Erstellen Sie ein XMLHttpRequest-Objekt, das ein asynchrones Aufrufobjekt erstellen soll.

(2) Erstellen Sie eine neue HTTP-Anfrage und geben Sie die Methode, die URL und die Überprüfungsinformationen an.

(3) Stellen Sie die Funktion so ein, dass sie auf Änderungen des HTTP-Anfragestatus reagiert.

(4) HTTP-Anfrage senden.

(5) Rufen Sie die vom asynchronen Aufruf zurückgegebenen Daten ab .

(6) Verwenden Sie JavaScript und DOM, um eine teilweise Aktualisierung zu implementieren.

Um genauer zu sein:

1, erstellen Sie ein XNLHttpRequest-Objekt

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

2. Erstellen Sie eine neue HTTP-Anfrage

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

3, stellen Sie die Funktion ein, um auf Änderungen in der HTTP-Anfrage zu reagieren

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

4, senden Sie eine http-Anfrage

XMLHttprequest.send(data);

5, und erhalten Sie das vom asynchronen Aufruf zurückgegebene Objekt

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

6, verwenden Sie js und DOM, um eine teilweise Aktualisierung zu erreichen

myDiv.innerHTML=''Dies sind die aktualisierten Daten''

Eine kurze Einführung in die Datenbank Die drei Paradigmen?

Erste Normalform: Jedes Feld in der Datenbanktabelle ist unteilbar

Zweite Normalform: Nicht-primäre Attribute in der Datenbanktabelle hängen nur vom Primärschlüssel ab

Dritte Normalform: Es gibt keine transitive funktionale Abhängigkeit nicht-primärer Attribute von Schlüsselwörtern

Was ist das Java Collection Framework? Nennen Sie einige Vorteile des Sammlungs-Frameworks?

Es gibt Sammlungen in jeder Programmiersprache. Die ursprüngliche Version von Java enthielt mehrere Sammlungsklassen: Vector, Stack, HashTable und Array.

Mit der weit verbreiteten Verwendung von Sammlungen schlug Java 1.2 ein Sammlungsframework vor, das alle Sammlungsschnittstellen, Implementierungen und Algorithmen umfasst. Java durchläuft seit langem den Prozess der Verwendung von Generika und gleichzeitigen Sammlungsklassen bei gleichzeitiger Gewährleistung der Thread-Sicherheit. Es umfasst auch blockierende Schnittstellen und ihre Implementierungen im Java-Parallelitätspaket.

Einige der Vorteile des Sammlungsframeworks sind wie folgt:

(1) Verwenden Sie Kernsammlungsklassen, um die Entwicklungskosten zu senken, anstatt unsere eigenen Sammlungsklassen zu implementieren.

(2) Die Codequalität wird durch die Verwendung streng getesteter Collection-Framework-Klassen verbessert.

(3) Durch die Verwendung der im JDK enthaltenen Sammlungsklassen können die Kosten für die Codepflege gesenkt werden.

(4) Wiederverwendbarkeit und Bedienbarkeit.

Was sind die grundlegenden Schnittstellen des Java Collection Frameworks?

Collection ist die Root-Schnittstelle der Collection-Ebene. Eine Sammlung stellt eine Menge von Objekten dar, die ihre Elemente sind. Die Java-Plattform bietet keine direkte Implementierung dieser Schnittstelle.

Set ist ein Set, das keine doppelten Elemente enthalten darf. Diese Schnittstelle modelliert eine mathematische Mengenabstraktion und wird zur Darstellung von Mengen wie einem Kartenspiel verwendet.

Liste ist eine geordnete Sammlung, die wiederholte Elemente enthalten kann. Sie können auf jedes Element über seinen Index zugreifen. Die Liste ähnelt eher einem Array, dessen Länge sich dynamisch ändert.

Map ist ein Objekt, das Schlüssel zu Werten zuordnet. Eine Map kann keine doppelten Schlüssel enthalten: Jeder Schlüssel kann höchstens einen Wert zuordnen.

Einige andere Schnittstellen sind Queue, Dequeue, SortedSet, SortedMap und ListIterator.

Was sind die Vorteile von Generika im Sammlungsrahmen?

Java1.5 führte Generika ein und alle Sammlungsschnittstellen und Implementierungen nutzen sie in großem Umfang. Mit Generika können wir einer Sammlung einen Objekttyp zur Verfügung stellen, den sie aufnehmen kann.

Wenn Sie also ein Element eines anderen Typs hinzufügen, kommt es beim Kompilieren zu einem Fehler. Dies vermeidet ClassCastException zur Laufzeit, da Sie zur Kompilierungszeit eine Fehlermeldung erhalten.

Generika machen den Code auch sauberer, wir müssen keine expliziten Konvertierungen und Instanz-Operatoren verwenden. Es bringt auch Vorteile für die Laufzeit, da keine typgeprüften Bytecode-Anweisungen generiert werden.

Was ist der Unterschied zwischen Enumeration- und Iterator-Schnittstellen?

Aufzählung ist doppelt so schnell wie Iterator und benötigt weniger Speicher. Die Aufzählung ist sehr einfach und erfüllt grundlegende Bedürfnisse.

Im Vergleich zur Enumeration ist Iterator jedoch sicherer, da es verhindert, dass andere Threads die Sammlung ändern, während eine Sammlung durchlaufen wird.

Iterator ersetzt Enumeration im Java Collection Framework. Iteratoren ermöglichen es dem Aufrufer, Elemente aus einer Sammlung zu entfernen, während dies bei Enumerationen nicht möglich ist. Die Namen der Iterator-Methoden wurden verbessert, um ihre Funktionalität klarer zu machen.

Was ist der Unterschied zwischen Iterator und ListIterator?

1. Wir können Iterator zum Durchlaufen von Set- und List-Sammlungen verwenden, während ListIterator nur List durchqueren kann.

2. Iterator kann nur vorwärts durchlaufen, während LIstIterator in beide Richtungen durchlaufen kann.

3. ListIterator erbt von der Iterator-Schnittstelle und fügt dann einige zusätzliche Funktionen hinzu, z. B. das Hinzufügen eines Elements, das Ersetzen eines Elements und das Abrufen der Indexposition des vorherigen oder folgenden Elements.

Wie sortieren wir eine Reihe von Objekten?

Wenn wir ein Array von Objekten sortieren müssen, können wir die Methode Arrays.sort() verwenden. Wenn wir eine Liste von Objekten sortieren müssen, können wir die Methode Collection.sort() verwenden.

Beide Klassen verfügen über eine überladene Methode sort() für natürliche Sortierung (mit Comparable) oder kriterienbasierte Sortierung (mit Comparator).

Collections verwenden intern die Array-Sortiermethode, sodass beide die gleiche Leistung haben. Collections braucht nur Zeit, um die Liste in ein Array umzuwandeln.

Was sind die Best Practices im Zusammenhang mit dem Java Collections Framework?

1. Wählen Sie den richtigen Sammeltyp entsprechend Ihren Anforderungen. Wenn beispielsweise die Größe angegeben ist, verwenden wir Array anstelle von ArrayList. Wenn wir eine Karte gemäß der Einfügereihenfolge durchqueren möchten, müssen wir TreeMap verwenden. Wenn wir keine Wiederholung wünschen, sollten wir Set verwenden.

2. Einige Sammlungsklassen ermöglichen die Angabe der anfänglichen Kapazität. Wenn wir also die Anzahl der gespeicherten Elemente schätzen können, können wir diese verwenden und ein erneutes Aufbereiten oder Ändern der Größe vermeiden.

3. Basierend auf der Schnittstellenprogrammierung und nicht auf der Implementierungsprogrammierung können wir die Implementierung später problemlos ändern.

4. Verwenden Sie immer typsichere Generika, um ClassCastException zur Laufzeit zu vermeiden.

5. Verwenden Sie die vom JDK bereitgestellte unveränderliche Klasse als Schlüssel der Karte, um die Implementierung von hashCode() und equal() selbst zu vermeiden.

6. Verwenden Sie die Toolklasse „Sammlungen“ so oft wie möglich oder erhalten Sie eine schreibgeschützte, synchronisierte oder leere Sammlung, anstatt Ihre eigene Implementierung zu schreiben. Es ermöglicht die Wiederverwendbarkeit des Codes und bietet eine bessere Stabilität und Wartbarkeit.

Was ist eine Transaktion?

Transaktion ist die Grundeinheit der Wiederherstellung und Parallelitätskontrolle

Die vier Grundmerkmale der Transaktion

Atomizität, Konsistenz, Isolation, Haltbarkeit

Atomarität ist fast dasselbe wie Konsistenz, was bedeutet, dass entweder alle erfolgreich sind oder scheitern

Konsistenz bedeutet, von einem Konsistenzzustand in einen anderen Konsistenzzustand zu wechseln

Isolation ist Man sagt, dass die Ausführung einer Transaktion nicht möglich ist durch eine andere Transaktion gestört werden

Persistenz bedeutet, dass die Änderungen an den Daten in der Datenbank nach der Übermittlung einer Transaktion dauerhaft sein sollten und nicht geändert werden können (dies ist nur eine kurze Erklärung für das Interview). Verstehen Sie es sofort , fragen Sie Du Niang nach detailliertem Verständnis)

Das obige ist der detaillierte Inhalt vonJavaweb-Interviewfragen (3). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn