magicmarcy.de | Java Interview-Fragen: #1 Java Grundlagen

Java Interview-Fragen: #1 Java Grundlagen

7. April 2025 - Lesezeit: 22 Minuten

Kürzlich habe ich einen Artikel gelesen, in dem es um Fragen in einem Vorstellungsgespräch als Java-Entwickler ging. Es wurden einige Fragen vorgestellt und die These aufgestellt, dass die meisten Bewerber diese Fragen nicht beantworten können.

Aus diesem Grund möchte ich in dieser Serie auf diese Java Fragen im Vorstellungsgespräch eingehen und sie beantworten.

In meinem Blog schreibe ich häufig Artikel, die sich an Java Anfänger richten, daher sind diese Fragen vielleicht auch für dich von besonderem Interesse. Ich möchte diese und weitere Fragen in einer Serie vorstellen, damit auch du besser auf dein nächstes Bewerbungsgespräch vorbereitet bist. Die Serie wird insgesamt 5 Themenbereiche umfassen: Java Grundlagen, Objektorientierte Programmierung (OOP), Datenstrukturen und Algorithmen, Exception Handling und Multithreading und ich werde auf die wichtigsten Fragen zu diesen Themen eingehen, die Antworten und falls nötig auch weitere Informationen dazu geben. Wenn du am Ende noch Fragen dazu hast oder etwas unklar ist, kannst du gerne einen Kommentar unter diesem Beitrag hinterlassen.

Im heutigen Beitrag geht es nun um Fragen zu den Java Grundlagen.

#1 Was ist der Unterschied zwischen JDK und JRE?
JDK steht für Java Development Kit welches die Software Entwicklungsumgebung ist um Java Anwendungen zu entwickeln. JRE steht für die Java Runtime Enviroment welche benötigt wird um Java Anwendungen auszuführen.

#2 Warum ist Java eine plattformunabhängige Sprache?
Da Java auf einer virtuellen Maschine basiert, ist es plattformunabhängig. In der Praxis bedeutet dies, dass sowohl die Java-Programmiersprache als auch die zugehörigen APIs zunächst in Bytecodes kompiliert werden, die auf mehreren Plattformen ausgeführt werden können. Anschließend kümmert sich die virtuelle Maschine um alle Unterschiede bei der Ausführung dieser Bytecodes auf den verschiedenen Plattformen.

#3 Was ist der Unterschied zwischen einer abstrakten Klasse und einem Interface?
Eine abstrakte Klasse ist eine Klasse, die nicht instanziiert werden kann und nur vererbt werden kann. Eine
Schnittstelle ist ein Entwurf einer Klasse, der nur abstrakte Methoden und Konstanten enthält.

#4 Was ist der Unterschied zwischen final, finally und finalise?
Final wird verwendet, um eine Variable oder Methode konstant zu machen, so dass sie später nicht mehr geändert werden kann. finally wird in try-catch-Blöcken verwendet, um einen Codeblock auszuführen, unabhängig davon, ob eine Exception
ausgelöst wird oder nicht. finalise ist eine Methode, die vom Garbage Collector aufgerufen wird, wenn ein Objekt nicht mehr verwendet wird.

#5 Was ist der Unterschied zwischen stack und heap Speicher?
Der stack-Speicher wird für die Speicherung lokaler Variablen und Funktionsaufrufe verwendet, während der Heap-Speicher für die Speicherung von Objekten und deren Instanzvariablen verwendet wird.

#6 Was ist der Unterschied zwischen Überladen und Überschreiben einer Methode?
Unter Methodenüberladung versteht man die Erstellung mehrerer Methoden in einer Klasse mit demselben Namen, aber unterschiedlichen Parametern, während Methodenüberschreibung die Erstellung einer Methode in einer Unterklasse mit demselben Namen und denselben Parametern wie eine Methode in ihrer Oberklasse bedeutet.

#7 Was ist der Unterschied zwischen dem privat und protected Modifikator?
Ein private-Modifikator macht ein Mitglied nur innerhalb der gleichen Klasse zugänglich, während ein protected-Modifikator ein Mitglied innerhalb der gleichen Klasse und ihrer Unterklassen zugänglich macht.

#8 Was ist Konstruktor-Überladung in Java?
Konstruktorüberladung ist ein Konzept in der objektorientierten Programmierung, bei dem eine Klasse mehrere Konstruktoren mit unterschiedlichen Parameterlisten haben kann. Jeder Konstruktor bietet eine andere Möglichkeit, Objekte dieser Klasse zu initialisieren.

#9 Was bedeutet das super-Schlüsselwort in Java?
Das super-Schlüsselwort wird verwendet, um auf Datenelemente der Elternklasse zuzugreifen, wenn die Datenelemente der Elternklasse und ihrer untergeordneten Klassen gleich sind, um den Standard- und parametrisierten Konstruktor der Elternklasse innerhalb der untergeordneten Klasse aufzurufen und um auf Methoden der Elternklasse zuzugreifen, wenn die untergeordneten Klassen sie überschrieben haben.

#10 Was ist der Unterschied zwischen statitschen Methoden, statischen Variablen und statischen Klassen in Java?
Statische Methoden und statische Variablen sind die Methoden und Variablen, die zur Klasse des Java-Programms gehören, nicht zum Objekt der Klasse. Ihnen wird Speicher zugewiesen, wenn die Klasse geladen wird und sie können direkt mit Hilfe der Klassennamen aufgerufen werden.

#11 Was genau ist das System.out.println in Java?
System.out.println() ist eine Methode, um eine Nachricht auf der Konsole zu drucken. System - das ist eine Klasse, die im java.lang-Paket vorhanden ist. Out ist die statische Variable des Typs PrintStream, die in der Klasse System vorhanden ist. println() ist die Methode, die in der Klasse PrintStream vorhanden ist

#12 Welcher Teil des Speichers - Stack oder Heap - wird durch den Garbage Collector bereinigt?
Die Garbage Collection wird auf dem Heap-Speicher durchgeführt, um den Speicher freizugeben, der von Objekten verwendet wird, auf die kein Verweis besteht. Jedes im Heap-Speicher erstellte Objekt hat globalen Zugriff und kann von überall in der Anwendung referenziert werden

Hand aufs Herz: Wie viele dieser Fragen hättest du ohne langes Nachdenken beantworten können? Lass es mich in den Kommentaren wissen!

Es wurden noch keine Kommentare verfasst, sei der erste!

Support

Wenn du mich und meine Arbeit unterstützen möchtest, freue ich mich sehr über eine kleine Aufmerksamkeit in Form eines Kaffees ;-)



Weitere Informationen, wie du mich und meine Arbeit unterstützen kannst, findest du hier.