1. Java-Grundlagen
1.1 Sammlung und Karte
(1) Beherrschen Sie das Vererbungssystem von Sammlung und Karte.
(2) Beherrschen Sie die Eigenschaften und Implementierungsprinzipien von ArrayList, LinkedList, Vector, Stack, PriorityQueue, HashSet, LinkedHashSet, TreeSet, HashMap, LinkedHashMap, TreeMap, WeakHashMap, EnumMap, TreeMap und HashTable.
(3) Beherrschen Sie die Implementierungsprinzipien und anwendbaren Szenarien von CopyOnWriteArrayList, CopyOnWriteArraySet und ConcurrentHashMap.
1.2 IO
(1) Beherrschen Sie das Vererbungssystem von InputStream, OutputStream, Reader und Writer.
(2) Beherrschen Sie Byteströme (FileInputStream, DataInputStream, BufferedInputStream, FileOutputSteam, DataOutputStream, BufferedOutputStream) und Zeichenströme (BufferedReader, InputStreamReader, FileReader, BufferedWriter, OutputStreamWriter, PrintWriter, FileWriter) und verwenden Sie diese geschickt.
(3) Beherrschen Sie die Implementierungsprinzipien und die Verwendung von NIO.
1.3 Ausnahmen
(1) Beherrschen Sie das Throwable-Vererbungssystem.
(2) Beherrschen Sie das Funktionsprinzip von Ausnahmen.
(3) Verstehen Sie häufige geprüfte Ausnahmen (z. B. FileNotFoundException), ungeprüfte Ausnahmen (z. B. NullPointerException) und Fehler (z. B. IOError).
1.4 Multithreading
(1) Beherrschen Sie die Eigenschaften und den Anwendungsbereich der drei Arten von Thread-Pools, die Executors erstellen können (JAVA8 fügt zum Beispiel einen hinzu). insgesamt vier).
(2) Beherrschen Sie den Multithread-Synchronisationsmechanismus und nutzen Sie ihn geschickt.
1.5 Socket
(1) Beherrschen Sie das Prinzip der Socket-Kommunikation.
(2) Beherrscht die Verwendung von Multithreading in Kombination mit Socket für die Programmierung.
2. Java Virtual Machine
2.1 JVM-Speicherbereichsaufteilung
(1) Beherrschen Sie den Programmzähler, den Heap, virtuell Die Funktionen und Grundprinzipien des Maschinenstapels, des lokalen Methodenstapels, des Methodenbereichs (in JAVA8 entfernt) und des Metaspace (neu in JAVA8).
(2) Beherrschen Sie die Aufteilung des Haufens: die Funktionen und Arbeitsprinzipien der neuen Generation (Eden, Survivor1, Survivor2) und der alten Generation.
(3) Einstellung und Optimierung der Master-JVM-Speicherparameter.
2.2 Laden von Klassen
(1) Beherrschen Sie die Ladephasen von Klassen: Laden, Verknüpfen (Überprüfung, Vorbereitung, Analyse), Initialisierung, Verwendung und Entladen.
(2) Beherrschen Sie die Klassifizierung von Klassenladern und ihren Anwendungen: Startklassenlader, Erweiterungsklassenlader, Anwendungsklassenlader, benutzerdefinierter Lader.
3. J2EE
(1) Beherrschen Sie die in JSP integrierten Objekte, Aktionen und zugehörigen Funktionen und Arbeitsprinzipien.
(2) Beherrschen Sie die Eigenschaften und Arbeitsprinzipien von Servlet.
(3) Beherrschen Sie die IOC- und AOP-Implementierungsprinzipien des Spring-Frameworks (Reflexion und dynamischer Proxy).
(4) Beherrschen Sie die Arbeitsprinzipien von mindestens einem MVC-Framework (Spring MVC, Struts usw.) und setzen Sie es geschickt ein.
(5) Beherrschen Sie die Arbeitsprinzipien mindestens eines ORM-Frameworks (Hibernate, MyBatis usw.) und setzen Sie es geschickt ein.
4. Datenstrukturen und Algorithmen
(1) Beherrschen Sie die Eigenschaften von linearen Tabellen und Bäumen und nutzen Sie sie geschickt.
(2) Beherrschen Sie gängige Sortier- und Suchalgorithmen:
①Einfügungssortierung (direkte Einfügungssortierung, Hill-Sortierung),
②Auswahlsortierung (direkte Auswahlsortierung, Heap-Sortierung),
③Exchange-Sortierung (Blasensortierung, Schnellsortierung),
④Merge-Sortierung,
⑤Sequentielle Suche,
⑥Binäre Suche,
⑦Hash suchen.
(3) Beherrscht die Verwendung gängiger Ideen für Sortier- und Suchalgorithmen zur Lösung von Programmierproblemen.
(4) Verstehen Sie mehrere grundlegende Algorithmen: Gieriger Algorithmus, Teile-und-herrsche-Strategie, dynamische Programmierung.
5. Computernetzwerk
(1) Beherrschen Sie die Schichtstruktur des Netzwerks und die funktionalen Eigenschaften jeder Schicht.
(2) Beherrschen Sie die Kommunikationsprinzipien von TCP/IP (drei Handshakes, vier Wellen)
6. Datenbank
(1) Beherrschen Sie die Komplexität Schreiben von SQL-Anweisungen.
(2) Master-Datenbankoptimierung (SQL-Ebene und Tabellendesign-Ebene).
(3) Beherrschen Sie mindestens ein Datenbankprodukt.
(4) Machen Sie sich mit der Datenbankentwicklung unter Bedingungen hoher Parallelität und Big Data vertraut.
7. Web-Technologie
(1) Beherrschen Sie das Funktionsprinzip von AJAX.
(2) Seien Sie mit mindestens einem JS-Framework (z. B. JQuery) vertraut.
8. Designmuster
(1) Machen Sie sich mit gängigen Designmustern vertraut.
(2) Wendet die Entwurfsmustertheorie auf die tatsächliche Entwicklung an.
9. Linux
(1) Beherrscht die Verwendung gängiger Linux-Befehle.
(2) Machen Sie sich mit den grundlegenden Konzepten und Funktionen des Linux-Betriebssystems vertraut.
(3) Vertraut mit Shell-Skripten.
10. Betriebssystem
(1) Beherrschen Sie die Prozessverwaltung des Betriebssystems.
(2) Verstehen Sie die E/A des Betriebssystems.
11. Reguläre Ausdrücke
(1) Beherrschen Sie gängige Symbole für reguläre Ausdrücke.
(2) Beherrschen Sie die Verwendung regulärer Ausdrücke zur Lösung praktischer Probleme (z. B. Zuordnung von Telefonnummern, E-Mail-Adressen, Domänennamen usw.).
Verwandte Artikel:
8 Vorstellungsgespräche für Java Senior Development Engineer
Lehrpläne für Vorstellungsgespräche für Java Senior Software Engineers
Ähnliche Videos:
Video-Tutorial für erweiterte objektorientierte und Komponentenentwicklung von js
Das obige ist der detaillierte Inhalt vonDie neueste Zusammenfassung des Interview-Lehrplans für Java-Entwicklungsingenieure (Sammlung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!