Fragen zum neuen Java-Interview 2020 – Netzwerk
1. Was bedeuten die HTTP-Antwortcodes 301 und 302? Was ist der Unterschied?
Antwort: 301 und 302 sind beide HTTP-Statuscodes und beide bedeuten, dass eine bestimmte URL übertragen wurde.
Unterschied:
301-Weiterleitung: 301 steht für „Permanent verschoben“.
302-Weiterleitung: 302 steht für „Vorübergehend verschoben“.
(Empfohlenes Tutorial: Java-Eingabeprogramm)
2. Was ist der Unterschied zwischen Weiterleiten und Umleiten?
Weiterleiten und Umleiten stellen zwei Methoden zur Anforderungsweiterleitung dar: direkte Weiterleitung und indirekte Weiterleitung.
Direkte Weiterleitungsmethode (Forward), der Client und der Browser geben nur eine Anforderung aus, Servlet, HTML, JSP oder andere Informationsressourcen, die zweite Informationsressource antwortet auf die Anforderung und speichert sie im Anforderungsobjekt Das Objekt wird mit jeder Informationsressource geteilt.
Die indirekte Weiterleitungsmethode (Redirect) besteht eigentlich aus zwei HTTP-Anfragen. Wenn der Server auf die erste Anfrage antwortet, kann der Browser eine Anfrage an eine andere URL senden, um den Zweck der Weiterleitung zu erreichen.
Um ein beliebtes Beispiel zu nennen:
Direkte Weiterleitung ist äquivalent zu: „A bittet B, sich Geld zu leihen, B sagt, dass er es nicht hat, B geht zu C, um es zu leihen, und Wenn er es nicht ausleihen kann, gibt er die Nachricht weiter: „Geben Sie es A.“
Indirekte Weiterleitung ist äquivalent zu: „A hat B gebeten, sich Geld zu leihen, aber B sagte, er hätte es nicht.“ Also bat er A, sich Geld von C zu leihen.
(Empfohlene verwandte Video-Tutorials: Java-Video-Tutorial)
3. Beschreiben Sie kurz den Unterschied zwischen TCP und UDP.
TCP ist verbindungsorientiert (wenn Sie einen Anruf tätigen möchten, müssen Sie zuerst wählen, um eine Verbindung herzustellen); UDP ist verbindungslos, d. h. es ist nicht erforderlich, vorher eine Verbindung herzustellen Senden von Daten.
TCP bietet zuverlässige Dienste. Das heißt, die über die TCP-Verbindung übertragenen Daten sind fehlerfrei, gehen nicht verloren, werden nicht wiederholt und kommen in der richtigen Reihenfolge an. UDP bemüht sich nach besten Kräften um die Zustellung, d. h. eine zuverlässige Zustellung kann nicht garantiert werden.
Tcp erreicht eine zuverlässige Übertragung durch Prüfsumme, Neuübertragungskontrolle, Sequenznummernidentifizierung, Schiebefenster und Bestätigungsantwort. Beispielsweise kann die Neuübertragungskontrolle bei Paketverlust auch zur Steuerung der Reihenfolge von Paketen verwendet werden, die nicht in der richtigen Reihenfolge sind.
UDP bietet eine bessere Echtzeitleistung und eine höhere Arbeitseffizienz als TCP. Es eignet sich für Kommunikation oder Broadcast-Kommunikation, die eine Hochgeschwindigkeitsübertragung und Echtzeitleistung erfordert.
Jede TCP-Verbindung kann nur Punkt-zu-Punkt sein; UDP unterstützt die interaktive Eins-zu-eins-, Eins-zu-viele-, Viele-zu-eins- und Viele-zu-viele-Kommunikation.
TCP benötigt mehr Systemressourcen, während UDP weniger Systemressourcen benötigt.
4. Warum muss TCP dreimal die Hand schütteln, aber nicht zweimal? Warum?
Um eine zuverlässige Datenübertragung zu erreichen, müssen beide Parteien, die mit dem TCP-Protokoll kommunizieren, eine Sequenznummer pflegen, um zu identifizieren, welche der gesendeten Datenpakete von der anderen Partei empfangen wurden. Der Drei-Wege-Handshake-Prozess ist ein notwendiger Schritt für beide kommunizierenden Parteien, um sich gegenseitig über den Startwert der Sequenznummer zu informieren und zu bestätigen, dass die andere Partei den Startwert der Sequenznummer erhalten hat.
Wenn es nur zwei Handshakes gibt, kann höchstens nur die Startsequenznummer des Verbindungsinitiators bestätigt werden, und die von der anderen Partei ausgewählte Sequenznummer kann nicht bestätigt werden.
5. Sagen Sie mir, wie TCP-Sticky-Pakete generiert werden?
(1) Der Absender generiert Sticky-Pakete
Clients und Server, die das TCP-Protokoll zum Übertragen von Daten verwenden, behalten oft einen langen Verbindungsstatus bei (Daten werden einmal pro Verbindung gesendet und es gibt keine Sticky-Pakete), beide Parteien können weiterhin Daten übertragen, solange die Verbindung nicht getrennt wird; wenn die gesendeten Datenpakete jedoch zu klein sind, ermöglicht das TCP-Protokoll dem Nagle-Algorithmus standardmäßig, diese kleineren Datenpakete zusammenzuführen und zu senden ( Puffer Das Senden von Daten ist ein Stapelprozess. Dieser Zusammenführungsprozess wird im Sendepuffer ausgeführt, was bedeutet, dass sich die Daten beim Senden bereits in einem Sticky-Zustand befinden.
(2) Der Empfänger generiert Sticky-Pakete
Der Vorgang, wenn der Empfänger das TCP-Protokoll zum Empfangen von Daten verwendet, ist wie folgt: Die Daten gehen an den Empfänger, vom Netzwerk Der untere Teil des Modells wird an die Transportschicht übergeben. Die TCP-Protokollverarbeitung der Transportschicht besteht darin, es im Empfangspuffer abzulegen, und dann ruft die Anwendungsschicht es aktiv ab (C-Sprache verwendet recv, read). und andere Funktionen); zu diesem Zeitpunkt tritt ein Problem auf, das heißt, wir sind Die im Programm aufgerufene Funktion zum Lesen von Daten kann die Daten im Puffer nicht rechtzeitig herausnehmen, und die nächsten Daten kommen und ein Teil davon wird abgelegt das Ende des Puffers. Wenn wir die Daten lesen, handelt es sich um ein Sticky-Paket. (Geschwindigkeit beim Einfügen von Daten > Geschwindigkeit beim Abrufen von Daten auf der Anwendungsebene)
Wenn Sie mehr wissen möchten Fragen zu Vorstellungsgesprächen finden Sie unter Java-Interviewfragen.
Das obige ist der detaillierte Inhalt vonFragen zum neuen Java-Interview 2020 – Netzwerk. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

KommentarinjavareignedByTheCompilerandusedForExplanation, Notizen, ordisablingcode.therearethreetypes: 1) Single-Linde-Deals startwith // und Lastuntiltheendoftheline; 2) Multi-Linde-Bingin-Dokumentation und-undcantranmultipline; 3) Dokumentation

Thebestjavaidein2024Dependyourneeds: 1.CHOOSEINTELLIJIDEAFORPROFESSIONAL, ENTERPRISE, Orull-StackDevelopmentDuetoitsSuperiorCodeIntelligence, Frameworkintegration, andtooling.2. Useclipseforhoxhensibilsibsibilität, LegacyPro-Eigenschaften, oderweigte, oderweigende, oderweilen, oderweilen, orwhenopenen-seourzatioten, legacyprojekts, orwhenopenen-seourzatioten, legacyprojekts, orwhenopenen-seourcatiatiox

Der Kern der Verwendung des Javahttpclientapi besteht darin, einen Httpclient zu erstellen, einen httprequest zu erstellen und httPesponse zu verarbeiten. 1. Verwenden Sie httpclient.newhttpclient () oder httpclient.newbuilder (), um Zeitüberschreitungen, Proxy usw. zu konfigurieren, um Clients zu erstellen. 2. Verwenden Sie httprequest.newbuilder (), um URI, Methode, Kopfzeile und Körper zu setzen, um Anfragen zu erstellen. 3.. Senden Sie synchrone Anfragen über Client.send () oder asynchrone Anfragen über Client.sendasync (); 4. Verwenden Sie Bodyhandlers.Ofstr

Verwenden Sie .Equals (), um den String -Inhalt zu vergleichen, da == nur Objektreferenzen und nicht tatsächliche Zeichen vergleichen; 2. Verwenden Sie .EqualSignoreCase () beim Vergleich des Ignorierens; 3.. Verwenden Sie .Compareto () bei alphabetisch sortierender und comparetoignorecase (), wenn Sie den Fall ignorieren; 4. Vermeiden Sie es, Strings anzurufen, die möglicherweise null sein können. Equals () sollte verwendet werden, um "buchstäblich" .Eequals (Variable) oder Objekte zu verwenden. Ausgleiche (STR1, STR2), um Nullwerte sicher zu verarbeiten; Kurz gesagt, achten Sie immer eher auf den Vergleich des Inhalts als auf Referenz,

LinkedList ist eine bidirektionale verknüpfte Liste in Java, die Liste und Deque -Schnittstellen implementiert. Es ist für Szenarien geeignet, in denen häufig Elemente eingefügt und gelöscht werden. Insbesondere beim Betrieb an beiden Enden der Liste hat es eine hohe Effizienz, aber die Zufallszugriffsleistung ist schlecht und die Zeitkomplexität ist O (N). Einfügen und Löschen können O (1) an bekannten Stellen erreichen. Daher ist es geeignet, Stapel, Warteschlangen oder Situationen zu implementieren, in denen Strukturen dynamisch modifiziert werden müssen, und eignet sich nicht für readintensive Operationen, die häufig nach Index zugreifen. Die endgültige Schlussfolgerung ist, dass die LinkedList besser als ArrayList ist, wenn sie häufig geändert wird, aber weniger Zugriffe hat.

Erstens, check "clearBrowsingDataonclose" isturnedoninsettingsandTurnitofftoensurehistoryISSAVE.2.

CheckSearchsets -ähnliche "MatchentirecellContents" und "Matchcase" ByexpandingOptionssinfindandReplace, sorgen für "Lookin" IssettoValuesand "Innere" toCorrectScope;

RestartyourRouterandComputertoresolvetemporaryglitches.2.RunthenetworkrouBleshooterviathesystemTraytoAutomaticFixCommonissues.3.RewhewIpadDressusesusesusesusesuSuseingCommandpromptasadMinistratorByRunningipconfig/Release, Ipconfig/Reufreset und Netshwinset und Netschon/Rufe, Netshwinset und Netshwinset und NETSHNE und NETSETH und NETSETH und NETHN
