|
|
Veröffentlicht am 08.01.2019 09:17:25
|
|
|

Die diesjährige Jobsuche ist fast vorbei, tatsächlich gab es seit ein oder zwei Monaten kein Vorstellungsgespräch, ich habe darüber nachgedacht oder die folgenden Unternehmen aufgezeichnet, nur an die erinnert, an die ich mich erinnern kann. Meine Position ist Java-F&E-Ingenieur, daher sind alle Wissenspunkte in diesem Bereich relevant.
Praktikum
1. Morgan Stanley
Das erste Interview war Morgan... Der Interviewer ist sehr nett, und die Hauptfragen wurden gestellt: (1) Das Projekt vorstellen und über den Teil sprechen, den du gemacht hast (nach der Einführung wurde mir klar, dass das, was ich gemacht habe, zu niedrig war und ich mich noch vorbereiten muss) (2) Polymorphismus. In C++, virtuelle Funktionen, das Umschreiben virtueller Funktionen in abgeleiteten Klassen – wie weiß ich zur Laufzeit, in welcher Unterklasse ich spiele? (3) Was sind die am häufigsten verwendeten Sammlungen in Java? A: Liste, einschließlich ArrayList und LinkedList. ArrayList wird intern durch Arrays implementiert, die die Länge ändern können. LinkedList ist eine verkettete Listen-Implementierung und kann in der Länge nicht geändert werden. F: Meinen Sie, dass Sie im Allgemeinen die Länge einer LinkedList, sagen wir 10, definieren und diese dann überschreiten? A: Nein, es ist nicht notwendig, die Länge der LinkedList anzugeben; wenn sie nicht definiert ist, sollte die Maschine bestimmen, wie viel Speicherplatz Ihre LinkedList maximal freimachen kann. Ich füge einfach Daten hinzu, soweit ich es brauche. F: Wenn es viele, viele Add-Operationen gibt, welche Probleme werden Sie haben? Es ist unmöglich, Ihnen unbegrenzten Speicherplatz hinzuzufügen A: Ja... Es gibt also einen bestimmten Bereich, ich denke, es sollte von der Maschine bestimmt werden, wie viel Speicherplatz die maximale LinkedList haben kann, 32-Bit- und 64-Bit-Maschinen sollten unterschiedlich sein (Meng, eigentlich weiß ich es nicht). F: Gibt es noch andere Sammlungen, die Sie regelmäßig verwenden? Antwort: Set, hauptsächlich HashSet, TreeSet, LinkedHashSet, und erkläre dann die Unterschiede zwischen diesen drei F: Analysieren Sie die Komplexität von HashSets und TreeSets, Inserts, Nachschlagefunktionen usw. Antwort: HashSet sollte mit seinem Hash zusammenhängen. Wenn es sich nur um einen gewöhnlichen Hashcode handelt, kann das viele Konflikte verursachen, sodass die verklinkte Liste länger ist und es langsamer ist, die verklinkte Liste beim Durchlaufen zu durchlaufen, aber du verwendest Optimierungsmethoden, um Konflikte zu lösen, wie zum Beispiel sekundäre Erkennung oder Ähnliches, um Konflikte zu reduzieren, es sollte schneller sein, der rote und schwarze Baum, der in TreeSet verwendet wird, die Reihenfolge der Suche und des Einfügens sollte O(log(N)) sein... Dann kommt noch eine Frage... Ich habe nicht mehr gefragt.
|
|