35 Java 8 Interviewfragen und Antworten (2026)
Ob Techniker oder ein anderer Fachmann, Interviews kurbeln immer das Adrenalin aus der Nervositรคt heraus. Um sich jedoch von der Masse abzuheben, ist es wichtig, Ihre Fรคhigkeiten zu verbessern und auf Ihre Fรคhigkeiten zu setzen. Darรผber hinaus ist es wichtig, die hรคufig gestellten Fragen zu kennen. Java 8 Fragen und Antworten im Vorstellungsgesprรคch kรถnnen Ihnen weiterhelfen.
Tauchen Sie daher tief in diese Java 8-Interviewfragen fรผr Erfahrene und Anfรคnger ein, um Ihre bevorstehenden Interviews erfolgreich zu meistern.
Java 8 Interviewfragen fรผr Berufsanfรคnger und Berufserfahrene
1) Java 8 fรคllt in welches Programmierparadigma?
Java 8 fรคllt in das folgende Programmierparadigma:
- Objekt- oder klassenorientierte Programmiersprache.
- Funktionale Programmiersprache.
- Spezifizierte prozedurale Programmiersprache.
- Logische Programmiersprache.
2) Warum sollte man die optionale Klasse verwenden?
Die optionale Klasse ist eine neu eingefรผhrte Containerklasse, die zur Demonstration vorhandener oder nicht vorhandener optionaler Werte nรผtzlich ist. Sein Hauptvorteil besteht darin, Null- und Void-Prรผfungen zu vermeiden und Methoden zu ermรถglichen, die zur รberprรผfung der Existenz eines Werts fรผr eine bestimmte Variable nรผtzlich sind.

3) Nennen Sie einige neue Funktionen, die in Java 8.
Nachfolgend sind die neuesten Funktionen aufgefรผhrt, die eingefรผhrt wurden in Java 8:
- Lambda-Ausdrรผcke: Es ist ein Java Funktion, die Sie als Objekt freigeben oder referenzieren kรถnnen.
- Methodeninterferenz: Es verwendet die Funktion als Kriterium fรผr die Implementierung einer Methode.
- Funktionelle Beeintrรคchtigung: Jede funktionale Stรถrung ist mit einer einzigen abstrakten Methode verbunden, die als funktionale Methode bezeichnet wird.
- Standardmethode: Es ist nรผtzlich bei der Implementierung von Methoden in den Schnittstellen, die dabei helfen, das Potenzial der โSchnittstellenentwicklungโ zu ermรถglichen.
- Datum-Uhrzeit-API: Es handelt sich um eine verbesserte und dennoch inspirierte Version der Java-Time-APIs, um die Nachteile der letzten Version zu beseitigen.
- Stream-API wird als abstrakte Schicht bezeichnet, die dabei hilft, die Verarbeitungsdaten weiterzuleiten.
- Optional: Die Wrapper-Klasse ist nรผtzlich, um die Nullwerte zu รผberprรผfen und die weiteren Daten zu verarbeiten.
- JavaSkript und Nashorn-Engine: Es ist die verbesserte Version des JavaScript Engine, die nรผtzlich ist, um die Funktionalitรคt in Java, ersetzt Rhino.
4) Spezifizieren Sie die Vorteile der Verwendung von Java 8
Hier sind einige Vorteile der Verwendung Java 8:
- Es hilft dabei, Anwendungen viel schneller und einfacher zu erstellen.
- Es bietet den Entwicklern eine sehr stabile Umgebung.
- Prรคgnante, wiederverwendbare und leicht verstรคndliche Codes.
- Verbesserte und effektive Unterstรผtzung.
- Einfache Portierung auf verschiedene Betriebssysteme.
- Mindeststandardcodes.
5) Was ist eine Sammlung und wie unterscheidet sie sich von einem Stream?
Eine Sammlung ist eine In-Memory-Datenbank, die alle Werte gemรคร der aktuellen Datenstruktur aufzeichnet. Daher ist es wichtig, jeden einzelnen Wert zu berechnen, bevor Sie ihn zur Sammlung hinzufรผgen. Ein Stream hingegen ist eine visuell festgelegte Datenstruktur, in der wir die Elemente entsprechend unseren Anforderungen berechnen kรถnnen.
6) Was ist der Lambada-Ausdruck?
Der Lambada-Ausdruck ist eine Art Funktion, die keinen Namen hat und manchmal als anonyme Funktion bezeichnet wird, da sie keine eigene Art von Informationen hat. Sie kรถnnen es je nach Bedarf verwenden und es ist sehr nรผtzlich beim Wiederholen, Filtern und Extrahieren von Daten aus der Sammlung.
Ejemplo:
import java. util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class LambdaExpressionExample {
public static void main(String[] args) {
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "Dave");
List<String> filteredNames = names.stream()
.filter(name -> name.startsWith("C"))
.map(name -> name.toUpperCase())
.collect(Collectors.toList());
System.out.println(filteredNames);
}
}
Ausgang:
Charlie
7) Definieren Sie Stream-Pipelining
Stream-Pipelining ist eine Methode, verschiedene Vorgรคnge zu gruppieren. Sie kรถnnen dies erreichen, indem Sie die Stream-Vorgรคnge in zwei Teile kategorisieren. Zwischen- und Endvorgรคnge.
Wenn eine Zwischenoperation ausgefรผhrt wird, wird eine Instanz an die Stream-Pipeline zurรผckgesendet. Daher kann jeder Benutzer eine beliebige Anzahl von Zwischenoperationen einrichten, um Daten zu rationalisieren und letztendlich eine Verarbeitungspipeline zu bilden.
Darรผber hinaus ist zum Beenden der Pipelines am Ende des Prozesses ein Terminalvorgang erforderlich.
8) Was sind Prรคdikat und Konsument in Java 8?
Ein Prรคdikat ist eine funktionale Schnittstelle, die normalerweise Argumente empfรคngt und einen booleschen Wert abruft. Sie kรถnnen damit einen Filter fรผr eine Sammlung von Objekten anwenden.
Auf der anderen Seite wird der Verbraucher als eingebaute funktionale Schnittstelle bezeichnet, die sich in Java.util.function-Paket. Sie kรถnnen es verwenden, um jedes beliebige Objekt zu verwenden. Es nimmt den Eingabewert und gibt nichts aus.
9) Warum wird die Methode peek() verwendet in Java 8?
Die peek()-Methode hilft beim Debuggen, wenn man die Elemente bemerken mรถchte, wenn sie dazu neigen, von einem bestimmten Punkt in einer Pipeline zu flieรen. Es ist eine Darstellung unserer Beobachtung, wie jedes Element durchlรคuft.
Syntax: public Object peek()
10) Was macht Sie zum idealen Kandidaten fรผr die Java Entwicklerrolle?
Hier sind einige wichtige Eigenschaften, die Sie zum idealen Kandidaten machen kรถnnen fรผr die Java Entwicklerrolle:
- Sie sollten in der Lage sein, klare, leicht verstรคndliche und effiziente Codes zu schreiben.
- Ein tiefes Verstรคndnis der Muster und Konzepte von โOOP oder objektorientierte Programmierung"
- Gute Kenntnisse verschiedener Architektur- und Designmuster.
- Vertrautheit mit Java Parallelitรคtsmuster.
- Erfahrung und Kenntnisse in der Arbeit mit verschiedenen Webanwendungs-Frameworks wie z Spark und Spiel.
- Grundlegende Kenntnisse รผber Java Virtuelle Maschine oder JVM, ihre Nachteile, Problemumgehung usw.
- Gute Erfahrung im Umgang mit eingebetteten und externen Datenbanken.
11) Erklรคren Sie die โfunktionale Schnittstelleโ.
Eine Schnittstelle mit nur einem Abstract wird als funktionale Schnittstelle bezeichnet. Sie ist auch als Single Abstract Method oder SAM bekannt. Die Annotation @FunctionalInterface ist jedoch optional und kann auch dann verwendet werden, wenn sie nicht vorhanden ist. Es erstreckt sich auf die andere Schnittstelle, wenn diese keine Zusammenfassung hat.
12) Warum werden statische Methoden benรถtigt in Java 8?
Eine statische Methodenreferenz wird als Dienstprogramm oder Hilfsmethode bezeichnet, die mit einer Schnittstelle verknรผpft ist. Es ist auch eine Klasse, die mit keinem Objekt verknรผpft ist.
Hier sind Grรผnde fรผr die Verwendung der statischen Methode in Java:
- Nรผtzlich fรผr die Wartung und Erweiterung der API.
- Bringt eine klare und prรคzise Aufteilung der Verantwortlichkeiten mit sich, und Sie benรถtigen nicht eine Dienstprogrammklasse, um รผber die Dienstprogrammsammlungen zu verfรผgen.
- Nรผtzlich, um alle Schnittstellen in einer gemeinsamen Schnittstelle und nicht in bestimmten Schnittstellen zu speichern.
13) Was sind die Vorteile von Nashorn?
Nashorn ist das fortschrittlichste und neuste JavaSkript Verarbeitungs-Engine eingefรผhrt in Java 8. Frรผher basierte es auf Mozilla Rhino. Es bietet eine verbesserte Konformitรคt mit ECMA JavaSkript. Es ist schneller als seine Vorgรคngerversionen.
14) Wie unterscheiden sich die Collection API und die Stream API?
Hier sind einige wichtige Unterschiede zwischen der Collection API und der Stream API
| Sammlungs-API | Stream-API |
|---|---|
| Collection API wurde erstmals verwendet in Java 1.2 | Stream API wurde erstmals eingefรผhrt in Java SE8. |
| Sie kรถnnen damit unbegrenzt Daten speichern. | Sie kรถnnen damit unbegrenzt viele Daten berechnen. |
| Mit der Collection API kรถnnen Sie Iterator und Spilterator zum Iterieren der Daten verwenden. | Mit der Stream-API kรถnnen Sie Iterator und Spilterator zum Iterieren der Daten verwenden. |
| Der Zugriff auf die Sammlungs-API ist einfach. | In-Stream-API gibt es keine direkte Mรถglichkeit, bestimmte Elemente zu erreichen. |
| Es erleichtert auch die Verarbeitung entsprechend Ihren Anforderungen. | Die Stream-API kann nur einmal verarbeitet werden. |
15) Beschreiben Sie PermGenSpace und MetaSpace.
PermGen oder Permanent Generation Space ist ein einzigartiger Typ von Hektospeicher, der zur Nachverfolgung gespeicherter Metadaten verwendet wird und nun entfernt wird in Java 8.
Mit dieser neuen Version erfolgt die Speicherung der Metadaten in einem รคhnlichen Speicher namens โMetaSpaceโ. Es handelt sich nicht um ein รผbertragbares Java Heap-Speicher und ist eine verbesserte Version von PermGen in Bezug auf Auto-Tuning, Garbage Collection usw.
16) Wie entsteht eine funktionale Schnittstelle in Java 8?
Sie kรถnnen Lambda-Ausdrรผcke verwenden, um die abstrakte Methode der funktionalen Schnittstelle in Java 8. Unten sehen Sie ein entsprechendes Codierungsbeispiel:
Beispiel
import java.util.function.Consumer;
public class FunctionalInterfaceExample {
public static void main(String[] args) {
Consumer<String> printer = System.out::println;
printer.accept("Hello, world!");
}
}
Ausgang:
Hello, world!
17) Was sind die Unterschiede und รhnlichkeiten zwischen Funktion und Prรคdikat in Java 8?
Hier sind die Unterschiede zwischen Funktion und Prรคdikat in Java 8:
- Die Funktion ist bei der Transformation nรผtzlich, wรคhrend das Prรคdikat zum Testen jeder Bedingung verwendet werden kann.
- Eine Funktion kann ein Argument empfangen und ein Ergebnis ausgeben, wohingegen ein Prรคdikat ebenfalls ein Argument empfangen kann, aber nur den booleschen Wert ausgibt.
- Die Funktion wird mit bezeichnet , und Prรคdikat wird nur mit bezeichnet , wobei T der Funktionstyp und R das Ergebnis ist.
Nachfolgend sind die รhnlichkeiten zwischen Funktion und Prรคdikat aufgefรผhrt:
- Sowohl Funktion als auch Prรคdikat sind funktionale Schnittstellen.
- Sowohl Funktion als auch Prรคdikat sind Einzelargumentfunktionen.
18) Erklรคren Sie den Unterschied zwischen Skip(long) und Limit(long) anhand eines Beispiels.
Der Skip (lang) ist eine Zwischenoperation, die die รผbrig gebliebenen Elemente abruft, nachdem die ersten n Elemente eines bestimmten Streams eliminiert wurden.
Ejemplo:
import java.util.Arrays;
import java.util.List;
public class SkipExample {
public static void main(String[] args) {
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "Dave", "Eve");
// Create a stream from the names list
names.stream()
// Skip the first two elements of the stream
.skip(2)
// Print the remaining elements to the console
.forEach(System.out::println);
}
}
Ausgang:
Charlie Dave Eve
Das Limit (long) ruft den Strom von Elementen einer bestimmten Grรถรe ab
Ejemplo:
import java.util.Arrays;
import java.util.List;
public class LimitExample {
public static void main(String[] args) {
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "Dave", "Eve");
// Create a stream from the names list
names.stream()
// Limit the stream to the first three elements
.limit(3)
// Print the elements to the console
.forEach(System.out::println);
}
}
Ausgang:
AliceBob Charlie
19) Welche Situation eignet sich am besten fรผr die Verwendung der Stream-API in Java 8?
Sie kรถnnen die Stream-API in Java 8. Die folgenden Vorgรคnge sind erforderlich:
- Sie kรถnnen eine Parallelverarbeitung durchfรผhren.
- Zur verzรถgerten Ausfรผhrung von Operationen
- So fรผhren Sie Datenbankvorgรคnge aus
- Fรผr interne Iterationen verwenden.
- Zum Schreiben funktionaler Programmierung
- Sie kรถnnen es fรผr die Verwendung von Pipeline-Operationen verwenden.
20) Welche Funktion hat die Typinferenz?
Typinferenz unterstรผtzt den Compiler beim Identifizieren oder Erkennen der Argumenttypen, indem er lediglich einen รberblick รผber die entsprechende Deklaration und den Methodenaufruf hat.
21) Wie lassen sich doppelte Elemente in einer Liste am einfachsten identifizieren und eliminieren? Java 8?
Die einfachste Mรถglichkeit zum Identifizieren und Entfernen doppelter Elemente besteht in der Verwendung der Stream-Operation und dem Durchfรผhren einer Sammlung, gefolgt von der Verwendung der Methode Collections.toSet().
22) Was sind die Richtlinien fรผr die funktionale Schnittstelle?
Nachfolgend finden Sie die Richtlinien fรผr eine funktionale Schnittstelle, die zu den am hรคufigsten gestellten Java 8 Programmierfragen:
- Es sollte nur eine abstrakte Methode haben.
- Sie kรถnnen bis zu mehrere Standardmethoden haben, da diese nicht abstrakt sind und die Implementierung frรผher durch dieselben erfolgt.
- Eine abstrakte Methode, das Hauptelement รถffentlicher Methoden aus Java.lang, ist in einer funktionalen Schnittstelle bekannt. Objekt wird immer noch als nรผtzliche Schnittstelle angesehen.
Hinweis: Die Erklรคrung dafรผr ist, dass jede Implementierungsklasse fรผr diese Schnittstelle eine Implementierung fรผr diese abstrakte Methode haben kann, die entweder von der Implementierungsklasse selbst definiert oder einer Oberklasse entnommen wird.
23) Unterscheiden Sie zwischen Spliterator und Iterator.
Hier sind einige Unterschiede zwischen Spliterator und Iterator:
| Splitter | Iteratoren |
|---|---|
| Es wurde eingefรผhrt in Java 1.2 | Es wurde eingefรผhrt in Java 1.8 |
| Es werden nur alle Elemente einzeln iteriert. | Es durchquert alle Elemente sowohl einzeln als auch in groรen Mengen. |
| Es fungiert als Iterator fรผr eine vollstรคndige Sammlung von APIs. | Es fungiert als Iterator sowohl fรผr die Stream- als auch fรผr die Sammlungs-API. |
| Es wird keine parallele Programmierung unterstรผtzt. | Es unterstรผtzt die parallele Programmierung. |
24) Wie kann man eine Standardmethode einer Schnittstelle in einer Klasse aufrufen?
Das Schlรผsselwort default, das am Anfang der Methodensignatur steht, wird verwendet, um eine Methodendeklaration in einer Schnittstelle als Standardmethode zu kennzeichnen. Sie kรถnnen den รถffentlichen Modifikator รผberspringen, da jede Methodendeklaration in einer Schnittstelle, einschlieรlich Standardmethoden, automatisch รถffentlich ist.
25) Definieren Sie die Standardmethode. Wann kรถnnen Sie es verwenden?
Die Standardmethode ist in der Schnittstelle vorhanden und enthรคlt eine Implementierung. Diese Methode ist hilfreich, um einer bestimmten Schnittstelle neue Funktionen hinzuzufรผgen und gleichzeitig die Abwรคrtskompatibilitรคt mit den bereits in einer Schnittstelle implementierten Klassen aufrechtzuerhalten.
26) Wie entstehen Streams in Java, und gehรถrt es zu den am hรคufigsten gestellten Fragen in Java-8-Stream-Interviews?
Strรถme ein Java Beschreiben Sie die Sequenz von Objekten aus einer bestimmten Quelle, z. B. eine Sammlung, die Aggregatoperationen unterstรผtzt. Sie kรถnnen sie zum Sammeln, Filtern, Drucken und รndern einer Datenstruktur in eine andere verwenden.
Hier sind Beispiele fรผr die Erstellung von Streams in Java:
import java.util.stream.Stream;
public class StreamExample {
public static void main(String[] args) {
Stream<String> stream = Stream.of("Alice", "Bob", "Charlie", "Dave", "Eve");
stream.forEach(System.out::println);
}
}
Ausgang:
Alice Bob Charlie Dave Eve
27) Was sind Map- und FlatMap-Stream-Operationen?
Map und FlatMap werden als Stream- und Zwischenstreamoperationen betrachtet, die eine Funktion akzeptieren. Sie helfen auch dabei, die angegebene Funktion auf die รผbrigen Elemente anzuwenden.
28) Warum mรผssen wir die Java Programmiersprache hรคufig?
Wir mรผssen die Java Programmiersprache hรคufig aus den folgenden Grรผnden:
- Sie kรถnnen die Funktionen von nutzen Funktionsprogrammierung.
- Um die neueste Technologie von Multi-Core-CPUs effektiv zu nutzen.
29) Nennen Sie einige funktionale Schnittstellen in Java 8.
Nachfolgend sind einige funktionale Schnittstellen aufgefรผhrt, die in Java 8:
- BinรคrOperaDo.
- Privatkunden
- Funktion
- Anbieter
- EinstelligOperaDo.
- BiFunktion
- Prรคdikat
30) Was sind die wichtigsten API-Klassen fรผr Uhrzeit und Datum?
Nachfolgend sind die wichtigsten API-Klassen fรผr Zeit und Datum aufgefรผhrt, die in Java 8:
- Ortszeit
- LocalDateTime
- Lokales Datum
31) Geben Sie die Grundstruktur/Syntax des Lambda-Ausdrucks an.
Die Grundstruktur/Syntax des Lambda-Ausdrucks ist:
(arugument - list) - > {body}
Dabei steht:
- Argument โ โโListe: Sie kรถnnen es gefรผllt oder leer halten.
- Pfeil-Token: Es ist nรผtzlich beim Verknรผpfen von Kรถrperausdrรผcken und Argumenten โ Liste.
- Karosserie: Es besteht aus Anweisungen und Ausdrรผcken fรผr den Lambda-Ausdruck.
32) Was sind die Hauptmerkmale von Stream?
Nachfolgend sind die Hauptmerkmale von Stream aufgefรผhrt:
- Pipelining
- Quelle
- Aggregat Operations
- Reihenfolge der Elemente
- Automatische Iterationen
33) Was sind die hรคufigsten Zwischenoperationen?
Einige der hรคufigsten Arten von Zwischenausdrรผcken sind:
- Unterscheidbar ()
- รberspringen (langes n)
- Filter (Prรคdikat)
- Grenze (langes n)
- Karte (Funktion)
34) Was sind die hรคufigsten Arten von Terminalvorgรคngen?
Nachfolgend sind die gรคngigsten Arten von Terminalvorgรคngen aufgefรผhrt:
- Zu Zรคhlen
- Reduziert
- Min.
- AllMatch
- Max
- AnyMatch
- Zum Anordnen
35) Was ist eine Methodenreferenz in Java 8?
Methodenreferenz in Java 8 ist eine Mรถglichkeit, auf die funktionale Schnittstelle zu verweisen. Es ist als viel einfachere und effizientere Form des Lambda-Ausdrucks bekannt. Wenn Sie Lambda-Ausdrรผcke verwenden, um auf eine Methode zu verweisen, kรถnnen Sie diese durch die Methodenreferenz ersetzen.
36) Wie unterscheiden sich interne und externe Iterationen?
Nachfolgend sind die Unterschiede zwischen interner und externer Iteration aufgefรผhrt:
| Interne Iteration | Externe Iteration |
|---|---|
| Er wird auch als passiver oder impliziter Iterator bezeichnet. | Er wird auch als aktiver oder expliziter Iterator bezeichnet. |
| Es wird intern auf verschiedenen Objekten getragen. | Es wird รคuรerlich an verschiedenen Gegenstรคnden getragen. |
| Es wird in der funktionalen Programmierung verwendet. | Es wird in der objektorientierten Programmierung verwendet. |
| Es verursacht sehr wenig Fehler. Allerdings ist Codierung dafรผr ein Muss. | Es verursacht mehr Fehler. Eine Codierung ist jedoch nicht erforderlich. |
37) Wurde in frรผheren Versionen von Java?
Java eingefรผhrte Typinterferenz in Java 5, aber mit sehr eingeschrรคnktem Zugang. Aber im Laufe der Jahre haben die Mรถglichkeiten der Typinterferenz zugenommen, und es ist am besten in Java 8.
38) Schreiben Sie ein Java 8 Programm, das die minimale und maximale Zahl eines Streams ermitteln kann.
import java.util.Arrays;
import java.util.stream.IntStream;
public class MinMaxExample {
public static void main(String[] args) {
int[] numbers = {9, 3, 8, 1, 5, 7, 2, 6, 4};
int min = IntStream.of(numbers).min().getAsInt();
int max = IntStream.of(numbers).max().getAsInt();
System.out.println("Minimum number: " + min);
System.out.println("Maximum number: " + max);
}
}
Ausgang:
Minimum number: 1 Maximum number: 9
39) Wie verbindet man mehrere Strings รผber die StringJoiner-Klasse?
StringJoiner hilft beim Verbinden eines oder mehrerer Strings und kann รผber einen bestimmten Verbinder oder Trenner erfolgen. Beispielsweise kann man mehrere Strings verbinden, indem man sie mit einem Komma (,) trennt.
Um einen CSV-String zu erstellen, kann man unter Linux einen vollstรคndigen Pfad fรผr ein bestimmtes Verzeichnis generieren, indem man den String mit Hilfe des Schrรคgstrichs โ/โ verbindet.
40) Was ist die beste Alternative zu Lambda-Ausdrรผcken in Java 8?
Im Allgemeinen verwenden wir Lambda-Ausdrรผcke, um anonyme Methoden zu erstellen, die dabei helfen, die gewรผnschte Ausgabe zu erhalten. Es gibt jedoch Fรคlle, in denen Lambda-Ausdrรผcke nicht funktionieren und nur eine vorhandene Methode verwenden.
Um dies zu vermeiden, kรถnnen Sie eine Methodenreferenz verwenden, die dabei helfen kann, die gewรผnschte Ausgabe zu erhalten. Die Methodenreferenz wird mit dem Symbol: (Doppelpunkt) dargestellt.
