Wenn Sie auf der Suche nach einem Java-Job sind, müssen Sie sich auf die Java-Interviewfragen für Studienanfänger vorbereiten. Obwohl jedes Vorstellungsgespräch anders ist und auch der Aufgabenbereich unterschiedlich ist, können wir Ihnen mit den besten Fragen und Antworten zum Java-Interview 2023 helfen, die Ihnen dabei helfen, den Sprung zu wagen und Ihr Java-Interview erfolgreich zu bestehen.
Teil 1 – Java-Interviewfragen (Grundkenntnisse)
Dieser erste Teil behandelt grundlegende Fragen und Antworten im Vorstellungsgespräch.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
1. Unterschied zwischen String Buffer und String Builder in Java
Antwort:
Dies ist eine der Lieblingsfragen von Interviewern; Allerdings von den Kandidaten häufig miserabel beantwortet.
Hier sind einige bemerkenswerte Unterschiede zwischen String Buffer und String Builder zum besseren Verständnis.
2. StringBuilder ist eine nicht synchronisierte Version der StringBuffer-Klasse. Methoden in StringBuilder
Z. B. ist die gesamte überladene Version der append()-Methode nicht synchronisiert.
- StringBuilder arbeitet schneller als StringBuffer, da kein Mehraufwand für das Erfassen und Freigeben von Sperren im Zusammenhang mit synchronisierten Methoden entsteht.
- StringBuffer gilt als threadsicher, StringBuilder hingegen nicht. Es wird empfohlen, die StringBuffer-Klasse zu verwenden, wenn eine Synchronisierung erforderlich ist. Instanzen von StringBuilder sollten nicht von mehreren Threads gemeinsam genutzt werden.
- StringBuffer ist die alte Klasse; Es ist seit seiner ersten Veröffentlichung in JDK integriert, während StringBuilder eine relativ neuere Klasse ist.
3. Java-Programm zum Finden der prominentesten und kleinsten Zahl in einem Ganzzahl-Array
Antwort:
Ein einfacher 5-Punkte-Hinweis zur Beantwortung dieser Frage
- Erstellen Sie eine Java-Quelldatei mit dem Namen MaximumMinimumArrayDemo.java und kopieren Sie den Code, um ihn in Ihrer bevorzugten IDE zu kompilieren und auszuführen.
- Erstellen Sie eine Methode namens „größte und kleinste (int [] Zahlen“), um die prominenteste und kleinste Zahl des an das Programm übergebenen int-Arrays auszugeben.
- Verwenden Sie die größten und kleinsten Variablen, um die Maximal- und Minimalwerte aus dem Array zu speichern. Zunächst wird der größte mit Integer.MIN_VALUE und der kleinste mit Integer.MAX_VALUE initialisiert.
- Vergleichen Sie für alle Iterationen der Schleife die aktuelle Zahl mit der größten mit der kleinsten und aktualisieren Sie sie entsprechend.
- Wenn eine Zahl signifikanter als die größte ist, kann sie nicht kleiner als die kleinste sein, was bedeutet, dass Sie nicht prüfen müssen, ob die erste Bedingung korrekt ist; Aus diesem Grund haben wir einen if-else-Codeblock verwendet, bei dem der else-Teil nur ausgeführt wird, wenn die erste Bedingung ungültig ist.
Die Logik zum Finden des größten Elements aus einem Array in Java ist unten angegeben.
Anstatt eine Variable mit Integer.MAX_VALUE zuzuweisen, haben wir das erste Element aus dem Array zugewiesen.
3. Was ist der Unterschied zwischen C++ und Java?
Antwort:
C++ und Java ähneln sich nur im syntaktischen Vergleich. Nachfolgend sind die Unterschiede aufgeführt:
- Java ist multithreaded
- Java hat keine Zeiger
- Java verfügt über eine automatische Speicherverwaltung (Garbage Collection)
- Java ist plattformunabhängig
- Java verfügt über eine integrierte Unterstützung für die Kommentardokumentation
- In Java gibt es keine Operatorüberladung
Java bietet keine Mehrfachvererbungen
- In Java gibt es keine Destruktoren
Teil 2 – Java-Interviewfragen (Fortgeschritten)
Werfen wir nun einen Blick auf die erweiterten Interviewfragen.
4. Was ist der Unterschied zwischen der abstrakten Klasse und der Schnittstelle?
Antwort:
-
Mehrfachvererbung: Eine abstrakte Klasse kann nur eine abstrakte Klasse erben; Allerdings kann eine Klasse mehrere Schnittstellen in der Schnittstelle implementieren. Dies beweist, dass Interface Mehrfachvererbung unterstützt, während dies bei der Abstract-Klasse nicht der Fall ist.
-
Implementierung: Eine abstrakte Klasse kann Standardcode bereitstellen, da sie unvollständige und vollständige Mitglieder enthält, wohingegen eine Schnittstelle keinen Code bereitstellen kann, da sie ein unvollständiges Mitglied enthält.
-
Felder: Wir können Felder und Einschränkungen in einer abstrakten Klasse definieren, wohingegen in einer Schnittstelle keine Felder definiert werden können.
-
Geschwindigkeit: Eine abstrakte Klasse ist im Vergleich zu einer Schnittstelle schnell, da letztere mehr Zeit benötigt, um die Methode zu ihrer entsprechenden Klasse zu finden.
-
Verwendung: Eine abstrakte Klasse kommt ins Spiel, wenn wir eine gemeinsame Funktionalität in einer Eltern-Kind-Beziehung teilen möchten, während Interface zum Definieren und Durchsetzen von Polymorphismus, Entkopplung und Standardisierung verwendet wird
5. Unterschied zwischen privaten, geschützten, öffentlichen und Paketmodifikatoren oder Schlüsselwörtern in Java
Antwort:
privat vs. öffentlich vs. geschützt vs. Paket in Java
Java verfügt über vier Zugriffsmodifikatoren, nämlich privat, geschützt, öffentlich und Paketebene.
Diese Zugriffsmodifikatoren schränken den Zugriff auf eine Klasse, Methode oder Variable ein, auf die sie angewendet werden. Im Folgenden werden die Funktionen der einzelnen Zugriffsmodifikatoren und ihre Unterschiede zueinander beschrieben
Privates Schlüsselwort in Java
- Der private Modifikator in Java kann auf das Mitgliedsfeld, die Methode oder die verschachtelte Klasse in Java angewendet werden.
- Der private Modifikator kann nicht für eine Klasse der obersten Ebene verwendet werden.
- Private Variablen, Methoden und Klassen sind nur in der Klasse zugänglich, in der sie deklariert sind.
- Privates ist die höchste Form der Kapselung, die die Java-API bietet und sollte so oft wie möglich verwendet werden.
Es ist die beste Codierungspraxis in Java, eine Variable standardmäßig als privat zu deklarieren. Eine private Methode kann nur von der Klasse aufgerufen werden, in der sie deklariert wurde.
Paket oder Standardzugriffsebene in Java
- Das Paket ist ein Schlüsselwort, das zum Deklarieren eines Pakets in Java verwendet wird. Ein Paket ist ein Verzeichnis, zu dem eine Klasse in Java gehört.
- Paket- oder Standardzugriffsebene ist der zweithöchste restriktive Zugriffsmodifikator nach „privat“, und alle Variablen, Methoden oder Klassen, die als „paketprivat“ deklariert sind, sind nur für das Paket zugänglich, zu dem sie gehören.
Das Gute am Standardmodifikator ist, dass die Klasse der obersten Ebene auch paketprivat sein kann, wenn es keinen Zugriffsmodifikator auf Klassenebene gibt.
Geschütztes Schlüsselwort in Java
Wenn Sie ein variablengeschütztes Mittel deklarieren, kann es jeder verwenden, der Ihre Klasse erweitert. Die oberste Klasse kann nicht ebenfalls geschützt werden.
Öffentliches Schlüsselwort in Java
Öffentlich ist der am wenigsten restriktive Zugriffsmodifikator in der Programmiersprache Java, und es ist eine schlechte Praxis, ein Feld, eine Methode oder eine Klasse standardmäßig als öffentlich zu deklarieren, da es sehr schwierig ist, Änderungen im Inneren vorzunehmen, sobald man es öffentlich gemacht hat Struktur der Klasse, da sie sich auf alle Clients auswirkt, die sie verwenden.
Durch die Erstellung von Klassen- oder Instanzvariablen hat die Öffentlichkeit auch gegen das Prinzip der Kapselung verstoßen, was überhaupt nicht gut ist und sich negativ auf die Wartung auswirkt.
Empfohlener Artikel
Wir hoffen, dass diese EDUCBA-Informationen zu „Java-Interviewfragen“ für Sie hilfreich waren. Weitere Informationen finden Sie in den von EDUCBA empfohlenen Artikeln.
- Fragen im Vorstellungsgespräch für Java-Entwickler
- Java Multithreading-Interviewfragen
- J2EE-Interviewfragen
- Java String-Interviewfrage
Das obige ist der detaillierte Inhalt vonFragen zum Java-Interview. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!