CodeGym /Java-Blog /Random-DE /Bei Vorstellungsgesprächen werden häufig knifflige Java-F...
John Squirrels
Level 41
San Francisco

Bei Vorstellungsgesprächen werden häufig knifflige Java-Fragen gestellt

Veröffentlicht in der Gruppe Random-DE
Wenn Sie sich schon einmal auf ein Vorstellungsgespräch für eine Stelle als Java-Programmierer vorbereitet haben oder eine Zertifizierungsprüfung bestanden haben (nicht unbedingt zum Programmieren), dann ist Ihnen wahrscheinlich schon aufgefallen, dass die dort gestellten Fragen sehr spezifisch sind. Viele von ihnen zwingen Sie zum Nachdenken über das Design der Sprache. Einige sind dazu gedacht, die Tiefe Ihres Wissens zu erforschen. Es gibt Fragen, die eher wie Rätsel als alles andere aussehen, während andere sich auf Nuancen der Sprache beziehen, die ohne Übung nur sehr schwer zu erkennen sind. In diesem Artikel stellt Entwickler Sarans Sing einige solcher Fragen zu Java vor. Natürlich mit Antworten. Knifflige Java-Fragen, die häufig bei Vorstellungsgesprächen gestellt werden – 11. Was passiert, wenn ich eine Return-Anweisung oder System.exit() in einen Try/Catch-Block einfüge? Dies ist eine sehr beliebte und subtile Java-Frage. Der Trick besteht darin, dass viele Programmierer glauben, dass der finallyBlock immer ausgeführt wird. Indem man eine returnAussage in einen try/catchBlock einfügt oder System.exit()aus einem try/catchBlock heraus aufruft, wirft die Frage Zweifel an dieser Überzeugung auf. Die Antwort auf diese knifflige Frage lautet: Der finallyBlock wird ausgeführt, wenn eine returnAnweisung in einem Block platziert wird try/catch, aber nicht, wenn System.exit()sie aus einem try/catchBlock heraus aufgerufen wird. 2. Unterstützt Java Mehrfachvererbung? Das ist eine sehr knifflige Frage. Interviewer fragen oft: „Wenn C++ die direkte Mehrfachvererbung unterstützt, warum kann Java das dann nicht?“ Die Antwortist etwas komplizierter als es scheint, da Java die Vererbung mehrerer Typen unterstützt. Schließlich kann eine Java-Schnittstelle andere Schnittstellen erweitern. Allerdings unterstützt Java keine Mehrfachvererbung von Implementierungen. 3. Wenn eine Methode in einer übergeordneten Klasse NullPointerExceptions auslöst, kann sie dann von einer Methode überschrieben werden, die RuntimeExceptions auslöst? Dies ist eine weitere knifflige Frage im Zusammenhang mit Überladung und Überschreibung. Antwort: Eine überschriebene Methode kann sicher NullPointerExceptiondie übergeordnete Klasse von auslösen – RuntimeException, aber Sie können das Gleiche nicht mit einem aktivierten Ausnahmetyp wie tun Exception. 4. Wie stellen Sie sicher, dass NThreads Nohne Deadlock auf Ressourcen zugreifen können? Wenn das Schreiben von Multithread-Code nicht Ihre Stärke ist, könnten Sie wirklich über diese Frage stolpern. Es kann sogar für einen erfahrenen Programmierer schwierig sein, der noch nie auf Deadlocks und Rennbedingungen gestoßen ist. Der ganze Trick liegt hier in der Reihenfolge: Sie können Deadlocks verhindern, indem Sie Ressourcen in der umgekehrten Reihenfolge freigeben, in der sie erworben wurden. 5. Was ist der Unterschied zwischen den Klassen StringBufferund StringBuilderin Java? Dies ist eine klassische Java-Sprachfrage, die einige Entwickler als knifflig empfinden und andere als sehr einfach. Die StringBuilderKlasse erschien in JDK 1.5. Der einzige Unterschied zwischen diesen Klassen besteht darin, dass StringBufferdie Methoden von , wie length(), capacity()und append(), synchronisiert sind, während die entsprechenden Methoden inStringBuildersind nicht. Dieser grundlegende Unterschied bedeutet, dass die Zeichenfolgenverkettung mit schneller ist StringBuilderals mit StringBuffer. Tatsächlich wird die Verwendung StringBuffernicht empfohlen, da die Zeichenfolgenverkettung in 99 % der Fälle im selben Thread erfolgt. 6. Was ist das Ergebnis der Auswertung des Ausdrucks 1,0/0,0? Wird es eine Ausnahme oder einen Kompilierungsfehler erzeugen? Dies ist eine weitere knifflige Frage zur Klasse. Java-Entwickler sind sich der Existenz eines primitiven doppelten Datentyps und einer Klasse bewusst, aber wenn sie Gleitkommaoperationen durchführen, schenken sie , , und den Regeln, die die damit verbundenen arithmetischen Berechnungen regeln, nicht genügend Aufmerksamkeit. Die Antwort auf diese Frage ist einfach: anKnifflige Java-Fragen, die häufig bei Vorstellungsgesprächen gestellt werden – 2DoubleDoubleDouble.POSITIVE_INFINITYDouble.NEGATIVE_INFINITYNaN-0.0ArithmeticExceptionwird nicht geworfen; Der Ausdruck ergibt Double.POSITIVE_INFINITY. 7. Was passiert, wenn Sie versuchen, einen Schlüssel in eine Datei einzufügen, HashMapdie diesen Schlüssel bereits enthält? Diese knifflige Frage ist Teil einer anderen häufig gestellten Frage: Wie funktioniert das HashMapin Java? HashMapist eine beliebte Quelle für verwirrende und knifflige Fragen zu Java. Hier ist die Antwort: Wenn Sie versuchen, einen Schlüssel erneut in ein einzufügen HashMap, wird der alte Schlüssel ersetzt, da die HashMapKlasse keine doppelten Schlüssel zulässt. Und derselbe Schlüssel erhält den gleichen Hash-Code, was bedeutet, dass er an derselben Stelle im Hash-Bucket landet. Basierend auf Quora- Materialien
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION