Baidus erste 200 Seiten von "Java -Interviewfragen" ausgewählt im nächsten Artikel
Designmuster
Was sind Designmuster? Welches Designmuster haben Sie verwendet? In welchen Gelegenheiten wissen Sie, welche kommerziellen Designmodelle Sie verwenden?
Welche Entwurfsmuster können die Skalierbarkeit des Systems erhöhen
Singleton -Modus
Welche anderen Designmodi haben Sie in einer Produktionsumgebung verwendet?
Schreiben von Singleton Singleton-Modus Singleton-Modus Check-Schloss Lock So erstellen Sie ein Thread-Safe Singleton
Was ist das Singleton -Muster einer Klasse? Schreiben Sie drei Implementierungen des Singleton -Musters
Adaptermodus
Wann verwenden Sie den Xiangyuan -Modus, wann der Kombinationsmodus verwendet werden soll. Wann nutzen Sie den Besuchermodus. Was ist der Vorlagenmethodenmodus? Bitte geben Sie ein Beispiel für einen Entwurfsmodus, der dem Prinzip des Öffnens und Schließens entspricht.
Offene Frage
Fassen Sie die Eigenschaften der Webprogrammierung in einem Satz zusammen
Wie kehrt Google Suchergebnisse in einer Sekunde an Benutzer zurück? Welche Abhängigkeitsinjektionsmethode empfehlen Sie mithilfe der Konstruktorinjektion oder der Setter -Methode -Injektionsbaum (binär oder anderer), um die Grundlage für viele gewöhnliche Datenstrukturen zu bilden. Bitte beschreiben Sie einige solche Datenstrukturen und wann Sie sie verwenden können. Wie man ein Online -System entwirft, wird plötzlich extrem langsam. Wie finden Sie das Problem? Welche Art von Projekt eignet sich nicht für die Verwendung des Frameworks? Wie führt Sina Weibo zum Schieben von Weibo zu Abonnenten? Kurze Einführung. Was passiert in Java -Webanwendungen vom Browser bis zum Zeitpunkt der Eingabe der URL an die Anforderungsschnittstelle. Bitte sprechen Sie darüber, wie Sie die gleiche Datenzeile unter SSH -Integration unter hoher Genauigkeit sicher ändern können.
So implementieren Sie das Ticketbuchungssystem der 12306 -Website, wie Sie sicherstellen, dass Tickets nicht überverkauft sind, wie die Leistungsoptimierung der Website optimiert werden. Sprechen wir über die Serverarchitektur, die am Design beteiligt war. Bitte denken Sie an eine Lösung zur Implementierung von Countdownlatch in einer verteilten Umgebung.
Denken Sie an eine Lösung, um eine automatische Anpassung des lokalen Cache zu entwerfen, der die Gesamtgröße des Cache steuern kann. Die schwierigste technische Herausforderung in Ihrer Karriere besteht darin, wie man ein Designdokument schreibt. Geben Sie ein paar Beispiele an, wie Sie einige Designprinzipien für die Programmierung berücksichtigen, z. B. die Eröffnungs- und Abschlussprinzipien und die Anwendung bei der Arbeit. Erläutern Sie das Modell und die Eigenschaften von Netzwerkanwendungen. Entwerfen Sie ein Online -Dokumentsystem. Das Dokument kann bearbeitet werden. So verhindern Sie, dass mehrere Personen gleichzeitig das gleiche Dokument bearbeiten und aktualisieren. Sagen Sie den Arbeitsmechanismus des Datenverbindungspools. So erhalten Sie die höchste Häufigkeit von Wörtern, die in einer Datei erscheinen. Beschreiben Sie Ihren am häufigsten verwendeten Programmierstil. Wenn Sie die Möglichkeit haben, Ihr Produkt neu zu gestalten, wie können Sie dann ein sehr verfügbares System erstellen? So beginnen Sie, ohne einen Benutzernamen und ein Passwort einzugeben. So hochladen und herunterladen Sie Dateien in einem Java-basierten Webprojekt. So implementieren Sie ein Flash Sale -System, um sicherzustellen, dass nur wenige Benutzer ein bestimmtes Produkt kaufen können.
Wie kann man Lastausgleich erzielen, mit welchen Algorithmen kann zum Entwerfen eines Einkaufswagens verwendet werden? Denken Sie darüber nach, wie der Einkaufswagen von Taobao implementiert ist, um eine Reihe von Zahlungslösungen mit hoher Konfessionen zu entwerfen, die Architektur zu entwerfen, wie eine lange Verbindung von 100 W entwirft und aufbewahrt wird und wie man Browser-Cache vermeidet.
Wie man Cache Avalanche verhindern Wenn AB und zwei Systeme voneinander abhängen, wie man die Abhängigkeit rückgängig macht, wenn jemand bösartig illegale Verbindungen herstellt, wie man das Problem löst, wenn es Milliarden von Whitelisten gibt, sind tagsüber hohe gleichzeitige Anfragen erforderlich und aktualisieren sie nachts. So entwerfen Sie diese Funktion. Wenn das System Super-große Ganzzahlen verwenden möchte (mehr als den langen Längenbereich), entwerfen Sie bitte eine Datenstruktur, um solche super großen Zahlen zu speichern und einen Algorithmus zur Implementierung super-großer Ganzzahl-Additionsvorgänge zu entwerfen).
Wenn Sie ein Grafiksystem entwerfen möchten, entwerfen Sie bitte eine einfache Implementierung grundlegender Grafikkomponenten (Punkt, Linie, Rechteck, Dreieck). Wenn Sie eine gleichzeitige und sichere verlinkte Liste implementieren dürfen, wie werden Sie dann den Unterschied zwischen einem Anwendungsserver und einem Webserver machen? Wie kann ich die Leistung von Anwendungsservern und die Unterschiede zwischen verschiedenen Methoden überwachen? Welche großen Websites haben Sie für die Anwendungsserver -Optimierungstechnologie verwendet? Welche Architektur sollte von großen Websites berücksichtigt werden? Haben Sie sich mit Online -Problemen befasst? Speicherlecks, CPU -Nutzung ist hoch, welche Bücher tun Sie Ihrer Meinung nach, wenn die Anwendung nicht mehr reagiert? Was sind die beeindruckendsten Bücher? Was sind die gängigen Rekonstruktionstechniken, die Sie unter der Beschreibung der Versionsmanagement -Tools verwenden, die Sie verwenden? Was ist der Unterschied zwischen Zweig und Tag? Haben Sie erfahren, welche Anti-Muster existiert? Was sind die Techniken für die Front-End-Optimierung von Websites, die Sie verwendet haben? So analysieren Sie den Thread -Dump
Wie verstehen Sie die Konzepte von Joinpoint, Pointcut, Verbesserung, Einführung, Weben und Abschnitt in AOP. Wie gehen Sie mit Speicherlecks oder Stapelüberlaufproblemen um? Was werden die JVM -Parameter online verwendet? Wie verbessert man die QPS und den Durchsatz des Systems?
Wissen
Erklären Sie, was das MESI -Protokoll ist (Cache -Kohärenz)
Sprechen Sie über das Reaktormodell
Welche neuen Funktionen bringen Java 9 mit
Unter dem Vergleich von Java und C ++ sprechen die einfachen Prinzipien und Anwendungen von Ausnahmebehandlungsmechanismen in C ++ oder Java kurz über die Tomcat -Struktur und die virtuelle Erinnerung an den Prozess des Klassenladers. Bitte erläutern Sie kurz Ihr Verständnis der testgetriebenen Entwicklung (TDD)
CDN -Implementierungsprinzip
Was ist der Unterschied zwischen Maven und Ant
Was sind die häufig verwendeten Bilder in UML?
Linux
Was ist N+1 Puzzle Was ist Paxos -Algorithmus, was ist erholsam? Sag mir, was du erholsam verstehst
Was ist das ZAB -Protokoll und was ist das Domänenmodell? Was ist der Unterschied zwischen Anämiemodell und einem Überlastungsmodell? Was ist domänengesteuerte Entwicklung?
Einführung in das Web -Service -Framework im Bereich Java, das Sie verstehen
Was ist der Unterschied zwischen Webserver, Webcontainer und Anwendungsserver? Wo beschreibt der Unterschied zwischen Microservices und monolithischen Anwendungen die Rolle von Cookies und Sitzungen, die Unterschiede und deren jeweiligen Anwendungsbereiche, das Arbeitsprinzip der Sitzung Was sind die Tools für kontinuierliche Integration und statische Codeanalyse, die Sie kurz beschreiben, die Datenbank -Regularisierung (Normalisierungen) kurz beschreiben (Normalisierungen).
Was bedeuten die Prinzipien von Kuss, Trocken, Yagni usw. die Prinzipien verteilter Transaktionen, Vor- und Nachteile und wie können Sie verteilte Transaktionen verwenden?
So erreichen Sie eine eindeutige Seriennummer in einem verteilten Cluster
Netzwerk
Haben Sie einige der Code -Persistenzschichtdesigns des Frameworks gesehen. Was müssen die Probleme berücksichtigen? Was sind die numerischen Verbesserungen des Rahmens für Persistenzschicht? Können Sie das LISZC -Ersatzprinzip erklären? Wie haben Sie eine Anwendung getestet? Was sind die gängigen Programmierprotokolle für die Transportschicht der Testframeworks? Und erzählen Sie ihre eigenen Eigenschaften
Programmierfragen
Überstundengebühren berechnen
Überstundenbezahlung für Überstunden beträgt unter 10 Stunden das 1,5 -fache des Stundengehalts. Die Überstunden für 10 Stunden oder mehr wird als 4 Yuan pro Stunde berechnet. Tipp: (26 Tage im Monat arbeiten und 8 Stunden am Tag arbeiten)
Berechnen Sie das monatliche Gehalt von 1000, berechnen Sie die Überstundenzahl für 9 Stunden Überstunden, berechnen Sie 2500 monatliches Gehalt von 11 Stunden Überstunden, berechnen Sie 1000 monatliches Gehalt von 15 Stunden Überstunden
Dinge verkaufen
Ein Einkaufszentrum verfügt über rote Äpfel und grüne Äpfel zum Verkauf. (Rote Äpfel sind 5 Yuan pro Stück, grüne Äpfel sind 4 Yuan pro Stück).
Simulieren Sie einen Kauf. Jeweils 200 rote Äpfel und grüne Äpfel wurden hinzugefügt.
Simulieren Sie einen zum Verkauf. Ich habe jeweils 10 rote Äpfel und grüne Äpfel gekauft. Jeder verkaufte Apfel erfordert Statistiken.
Tipp: Ein Apfel ist eine separate Einheit.
Datumsextraktion
Es gibt eine solche Zeitzeichenfolge: 2008-8-8 20:08:08, bitte schreiben Sie einen regulären Ausdruck, der mit ihm übereinstimmt, und schreiben Sie Java-Code, um die Stunden, Minuten und Sekunden nach dem Datum zu extrahieren, das ist: 20:08:08
Faden
8 Design 4 Threads, zwei Threads erhöhen sich jeweils um 1 für J und die anderen beiden Fäden nehmen für J jeweils um 1 ab. Schreiben Sie das Programm auf.
Schreiben Sie ein Multi-Thread-Programm in Java, wie z. B. vier Themen, zwei plus eins, zwei nacheinander und die Ausgabe
Wartenbewegungen schreibt einen Code, um Produzenten-Verbraucherprobleme zu lösen
Nummer
Bestimmen Sie, wie viele Primzahlen zwischen 101 und 200 liegen, und geben Sie alle Primzahlen aus. Verwenden Sie die effizienteste Methode, um die 2 -mal 17 bis zu 100 Millionen Zahlen zu berechnen. 2 von ihnen werden wiederholt. Finden Sie es schnell, und Zeit und Raum müssen optimal sein.
200 Millionen zufällig erzeugte ungeordnete ganze Ganzzahlen, um den Wert der Zwischengröße zu ermitteln
Finden Sie die kleinsten 10 von 1 Milliarde Zahlen
Natürliche Zahlen von 1 bis 100 Millionen, finden Sie die Summe der geteilten Anzahl aller Zahlen, wie z.
Wenn eine Zahl genau gleich der Summe ihrer Faktoren ist, wird diese Zahl als "fertige Zahl" bezeichnet. Zum Beispiel 6 = 1+2+3. Programmieren, um alle Elemente innerhalb von 1000 und alle Elemente in einem Array zu ermitteln, erscheinen dreimal, und nur ein Element erscheint einmal. Finden Sie dieses Element, ein Ball fällt frei von einer Höhe von 100 Metern und rückt nach jeder Landung auf die Hälfte der ursprünglichen Höhe zurück. Wenn Sie wieder fällen, finden Sie heraus, wie viele Meter es passiert, wenn es am 10. Mal landet? Wie hoch ist der 10. Rebound?
Ermitteln Sie die Summe der Primzahlen innerhalb von 100-1000 und finden Sie die durchschnittliche Anzahl von Summen von 1 bis 100, um den Wert von S = A+A+AAA+AAAA+AAA zu ermitteln, wobei a eine Zahl ist. Beispielsweise 2+22+222+2222+2222 (insgesamt 5 Zahlen werden hinzugefügt) und die Zugabe mehrerer Zahlen wird durch die Tastatur gesteuert. Finden Sie die Summe von 1 bis 100
Berechnen Sie die Primzahlen von 1 bis 40 und legen Sie sie in das Array
Es gibt 3n+1 -Zahlen, von denen 3n wiederholt werden und nur 1 wiederholt wird, wie man es findet.
Es gibt eine Reihe von Zahlen 1.1.2.3.5.8.13.21.34. Schreiben Sie ein Programm und geben Sie nach Belieben eine Nummer ein, um die faktorielle Entwicklung der ersten 5 Zahlen mit den gleichen Regeln wie die vorherige Anzahl von Zahlen zu geben. Fizz Summen
Finden Sie bei einem Array, das N -Zahlen enthält, die fehlenden Zahlen heraus und sortieren Sie das Array, finden Sie alle Kombinationen mit der Summe der beiden Zahlen M, um eine positive ganze Zahl zum Prime -Faktor zu zersetzen. Zum Beispiel: Geben Sie 90 ein und drucken Sie 90 = 2*3*3*5 aus.
Drucken Sie die gesamte "Narcissus-Nummer" aus, die sogenannte "Narzissennummer" bezieht sich auf eine dreistellige Zahl, deren Ziffern die Kubikum sind, die der Zahl selbst entspricht. Zum Beispiel: 153 ist eine "schillernde Zahl", da 153 = 1 Kubikleistung +5 Kubikleistung +3 Kubikleistungstauschwerte von zwei vorhanden
Netzwerk
Programmierung mit Java Socket, Lesen einiger Zeichen auf dem Server und dann an die lokale Anzeige schreiben
Spiegelung
Welche Funktionen bietet der Reflexionsmechanismus?
Wie kann ich Reflexion implementieren, wo der Reflexionsmechanismus verwendet wird? Spiegelung. Class.forname und classloader. Die drei Möglichkeiten zur Unterscheidung der Reflexion. Was sind die drei Möglichkeiten, Klasseninstanzen zu erstellen? Wie man ein Objekt durch Reflexion aufruft. So erhalten und festlegen Sie den Wert der privaten Felder des Objekts durch Reflexion. Vor- und Nachteile des Reflexionsmechanismus.
Datenbank
Schreiben Sie ein JDBC an das Oracle -Programm und implementieren Sie Datenabfrage
Algorithmus
50 Personen sitzen in einem Kreis herum, wenn die Zahl ein Vielfaches von drei oder drei erreicht, fragen Sie, wer die verbleibende Person ist. Was ist die ursprüngliche Position? Implementieren Sie einen Aufzugssimulator. Schreiben Sie eine Blase -Sortierung und schreiben Sie eine Falten und halb nach zufällig 20 Zeichen, die nicht wiederholt und sortiert werden können. Schreiben Sie eine Funktion, geben Sie 2 bestellte Ganzzahlarrays über, geben Sie ein geordnetes Ganzzahl -Array zurück und schreiben Sie ein Stück Code, um ein Element zu entfernen, wenn Sie die ArrayList durchqueren. Klassische Frage: Es gibt ein Paar Kaninchen, und ab dem dritten Monat nach der Geburt werden jeden Monat zwei Kaninchen geboren. Das kleine Kaninchen wächst bis zum vierten Monat und hat jeden Monat ein weiteres Paar Kaninchen. Wenn die Kaninchen nicht sterben, fragen Sie, wie viele Kaninchen im Monat insgesamt sind.
Regulär
Bitte schreiben Sie einen regulären Ausdruck, der der IP -Adresse entspricht, und schreiben Sie einen regulären Ausdruck, um festzustellen, ob eine Zeichenfolge eine Nummer ist
Saite
Schreiben Sie eine Methode, geben Sie einen Dateinamen und eine Zeichenfolge ein und zählen Sie die Anzahl, mit der diese Zeichenfolge in dieser Datei angezeigt wird.
Schreiben Sie ein Programm, um die Kombination aller Saiten herauszufinden, und prüfen Sie, ob es sich um Palindrome -Saiten handelt. Schreiben Sie eine String-Inversionsfunktion, geben Sie ABCDE ein, um sie in das EDCBA-Code-Mini-Spiel umzuwandeln, und kehren Sie die Wörter im Satz um, um den codierten String von GB2312 in die codierte String von ISO-8859-1 umzuwandeln. Bitte schreiben Sie ein Stück Code, um die Anzahl der Zeichen "A" in einem bestimmten Text zu berechnen. Schreiben Sie eine Funktion, die Strings in Iteration bzw. Rekursion abfängt. Die Eingabe ist eine Zeichenfolge und eine Byte -Zahl, und die Ausgabe ist eine von Bytes abgefangene Zeichenfolge. Sie müssen jedoch sicherstellen, dass die chinesischen Charaktere nicht zur Hälfte abgeschnitten werden. Zum Beispiel sollte "I ABC" 4 als "I AB" abgeschnitten werden, eingeben "I ABC Chinese Def", 6 sollte als "I ABC" anstelle von "I ABC+Hälfte des Chinesisch" ausgegeben werden.
Geben Sie 2 Dateien mit einer Wortliste (eine pro Zeile) an, listen Sie programmgesteuert die Kreuzung auf und drucken Sie alle Permutationen einer Zeichenfolge aus, um die Eingabe der Nummern durch eine Tastatur in die chinesische Ausgabe umzuwandeln (z. B. Eingabe 1234567, Ausgabe: 122 Pick 34566 Pick 7)
Während der Entwicklung der Webanwendung begegnen wir häufig Zeichen, die eine Art codierte Zeichen ausgeben, wie z.
Datum
Berechnen Sie die Lücke zwischen zwei Daten
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.