JavaRush /Java-Blog /Random-DE /Kaffeepause Nr. 101. 19 wichtige Java-Interviewfragen und...

Kaffeepause Nr. 101. 19 wichtige Java-Interviewfragen und kurze Beispielantworten

Veröffentlicht in der Gruppe Random-DE
Quelle: Hackernoon Hier sind einige Fragen und Antworten, die häufig in Java-Interviews auftauchen.

1. Was ist das Java Development Kit (JDK)?

Das JDK ist ein Software-Entwicklungskit, das die für die Entwicklung von Java-Anwendungen erforderlichen Tools und Bibliotheken enthält.

2. Was macht die Java Runtime Environment (JRE)?

JRE bezieht sich auf die Laufzeitumgebung, in der Java-Bytecode ausgeführt wird. Die JRE verwaltet Dateien und Bibliotheken für die Laufzeit.

3. Was macht die Java Virtual Machine (JVM)?

Die JVM ist eine abstrakte Maschine, die eine Laufzeitumgebung bereitstellt, in der Java-Bytecode ausgeführt werden kann.

4. Java ist plattformunabhängig. Warum?

In jeder anderen Programmiersprache wird der Quellcode in ausführbaren Code kompiliert und der Code läuft möglicherweise nicht auf allen Plattformen. Durch die Verwendung von JVM können wir den Bytecode für jede Plattform verständlich machen und dieser Bytecode ist plattformunabhängig. Obwohl die JVM für jede Plattform unterschiedlich ist, ist Java plattformunabhängig, da keine Abhängigkeit von irgendeiner Plattform besteht.

5. Java ist nicht zu 100 % objektorientiert. Warum?

Weil Java acht primitive Datentypen wie Boolean, Byte, Char, Int, Float, Double, Long und Short verwendet, die keine Objekte sind.

6. Was sind Konstruktoren in Java?

Ein Konstruktor ist ein Codeblock, der zum Initialisieren von Objekten verwendet wird. Syntax:
class DemoClass
{
   // constructor name is same as class name
   DemoClass()
   {
      ....
   }
}
// calls DemoClass() constructor
DemoClass obj = new DemoClass();
Beispiel:
public class ConstructorDemo
{
   int a; // class attribute
   // create constructor for class ConstructorDemo
   ConstructorDemo()
   {
      a = 26; // initial value for class attribute 'a'
   }
   public static void main(String[] args)
   {
      // creating object for ConstructorDemo class
      // here we're calling constructor ConstructorDemo()
      ConstructorDemo obj = new ConstructorDemo();
      System.out.println(obj.a);
   }
}
Ergebnis:
26

7. Was macht eine Singleton-Klasse?

Singleton-Klassen können jeweils nur ein Objekt (Klasseninstanz) haben. Nachdem das Objekt erstellt wurde und wir versuchen, die Singleton- Klasse zu instanziieren , zeigt die neue Variable auch auf das erste erstellte Objekt.

8. Was sind Wrapper-Klassen in Java?

Wrapper-Klassen ermöglichen die Konvertierung primitiver Datentypen in ein Objekt und umgekehrt. Beispiel:
int a = 7; // using primitive datatype
Integer a = new Integer(7); // using wrapper class

9. Was ist der Unterschied zwischen dem ==-Operator und der Gleichheitsmethode in Java?

Im Allgemeinen ist == ein Operator und equal() eine Methode. Wir verwenden den ==- Operator , um Vergleichsobjekte auf dem Heap zu referenzieren. In Java gibt es kein Konzept der Operatorüberladung. Trotzdem wird der ==- Operator verwendet, um zu prüfen, ob die Adresse zweier Objekte gleich ist oder nicht. Das heißt, der ==- Operator prüft, ob beide Objekte auf denselben Speicherort verweisen oder nicht. Der ==- Operator wird auch zum Vergleich von Objekttypen und primitiven Typen wie Boolean verwendet. Während die Methode equal() der String- Klasse den Inhalt zweier Objekte vergleicht.

10. Was sind die Konzepte von OOP in Java?

  • Unter Abstraktion versteht man das Verbergen der internen Implementierung und das Anzeigen nur der notwendigen Informationen.
  • Bei der Vererbung werden alle Eigenschaften und Verhaltensweisen einer übergeordneten Klasse (Superklasse) in eine untergeordnete Klasse (Unterklasse) umgewandelt.
  • Bei der Kapselung handelt es sich um den Vorgang, bei dem Daten oder Variablen und Methoden miteinander verbunden werden.
  • Polymorphismus bedeutet wörtlich viele Formen. Polymorphismus ist die Fähigkeit einer Methode, verschiedene Aufgaben auszuführen. Dies kann mit Methoden erreicht werden.

11. Warum ist die main()-Methode in Java immer statisch?

Weil es nicht erforderlich ist, eine statische Methode für ein Objekt aufzurufen. Wenn main() eine nicht statische Methode wäre, muss die Java Virtual Machine zuerst ihr Objekt erstellen und dann die Methode main() aufrufen , wodurch zusätzlicher Speicher zugewiesen wird.

12. Warum sind Strings in Java unveränderlich?

Strings in Java sind unveränderlich, da String- Objekte im String-Konstantenpool zwischengespeichert werden .

13. Was sind Arrays und ArrayList in Java?

Ein Array ist ein Objekt, das eine feste Anzahl von Elementen eines ähnlichen Typs enthält.
  1. ArrayList ist Teil der Sammlungsstruktur.

  2. ArrayList implementiert die Listenschnittstelle.

  3. Eine ArrayList ist ein skalierbares Array, das beim Hinzufügen von Elementen dynamisch wächst und beim Entfernen von Elementen kleiner wird.

  4. Für häufige Abrufvorgänge ist Java ArrayList die beste Wahl . Weil die Elemente einer ArrayList an aufeinanderfolgenden Speicherorten gespeichert werden.

  5. ArrayList darf keine primitiven Datentypen wie int, double, char und long enthalten.

  6. ArrayList kann String- und Wrapper-Klassenobjekte ( Double , Integer ) enthalten .

  7. Mit ArrayList können Sie Elemente duplizieren.

  8. ArrayList behält die Einfügereihenfolge bei.

  9. ArrayList wird aufgrund seiner Funktionalität und Flexibilität häufig verwendet. Es ist für die Speicherung heterogener Objektsammlungen konzipiert.

  10. Eine ArrayList kann eine beliebige Anzahl von Nullwerten haben.

14. Was ist der Unterschied zwischen HashSet und HashMap in Java?

Im HashSet :
  1. Wir können Objekte in einem HashSet speichern . Beispiel: HashSet: {"Hello", "World"} .

  2. Die Einfügungsreihenfolge wird nicht beibehalten. Es basiert auf Hash-Code.

  3. Verfügt über eine add()- Methode .

  4. Implementiert die Set- Schnittstelle .

  5. Erlaubt keine doppelten Elemente.

  6. Erlaubt einen einzelnen Nullwert.

In HashMap :
  1. In HashMap können wir Schlüssel-Wert-Paare speichern. Beispiel: {1 -> „Hallo“, 2 -> „Welt“} .

  2. Unterstützt keine Einfügungsreihenfolge. Es basiert auf der Hashing-Funktion.

  3. Verfügt über eine put()- Methode .

  4. Implementiert die Kartenschnittstelle.

  5. Ermöglicht doppelte Werte. Erlaubt keine doppelten Schlüssel.

  6. Ermöglicht einen einzelnen Nullschlüssel und eine beliebige Anzahl von Nullwerten.

16. Was ist der Unterschied zwischen this und super in Java?

Das Schlüsselwort this in Java:
  1. Hierbei handelt es sich um ein Schlüsselwort, bei dem es sich um eine Referenzvariable handelt, die auf das aktuelle Objekt verweist.

  2. Kann verwendet werden, um die aktuelle Klassenmethode implizit aufzurufen.

  3. Das Schlüsselwort this() wird zum Aufrufen des Konstruktors der aktuellen Klasse verwendet.

  4. Dies kann zur Übergabe als Argument beim Aufruf einer Methode verwendet werden.

Super- Schlüsselwort in Java:
  1. Das Schlüsselwort super ist eine Referenzvariable, mit der auf das unmittelbare Objekt der übergeordneten Klasse verwiesen wird.

  2. super kann verwendet werden, um eine Methode einer übergeordneten Klasse oder einen Konstruktor einer übergeordneten Klasse direkt aufzurufen und auf Methoden einer Basisklasse zuzugreifen.

17. Was ist die Break- und Continue-Anweisung in Java?

Wenn eine break- Anweisung in einer Schleife auftritt, wird die Schleife beendet und die Steuerung geht an die nächste Anweisung in derselben Schleife über. Beispiel:
public class Example
{
   public static void main(String[] args)
   {
      for(int a = 1; a <= 10; a++)
      {
         if(a == 3)
         {
            // breaking loop
            break;
         }
         System.out.println(a);
      }
   }
}
Ergebnis:
12
Die continue- Anweisung wechselt abhängig von einer bestimmten Bedingung zur nächsten Iteration der Schleife. Beispiel:
public class Example
{
   public static void main(String[] args)
   {
      for(int a = 1; a <= 10; a++)
      {
         if(a % 2 != 0)
         {
            continue;
         }
         System.out.println(a + " ");
      }
   }
}
Ergebnis:
2 4 6 8 10

18. Was sind Zugriffsmodifikatoren in Java?

Zugriffsmodifikatoren definieren die Grenze oder den Umfang einer Variablen, eines Konstruktors, einer Klasse oder einer Methode. In Java gibt es vier Arten von Zugriffsmodifikatoren:
  1. Modifikator für privaten Zugriff.
  2. Geschützter Zugriffsmodifikator.
  3. Freigabemodifikator.
  4. Standardzugriffsmodifikator.

19. Was ist der Unterschied zwischen for-Schleife und for every-Schleife in Java?

for -Schleife :
  1. Verfügt über keine ausführbare Sequenz. In der for-Schleife können wir den Zähler nach Belieben ändern.
  2. Erschien ganz am Anfang in JDK 1.
  3. Es ist nicht erforderlich, die Schnittstelle zu implementieren.
  4. Kann Zugriff auf den Index haben. Daher ist es möglich, ein Element in einem Array zu ersetzen.
  5. Der Zähler kann steigen und fallen.
Für jede Schleife :
  1. Nacheinander durchgeführt. Der Zähler erhöht sich um eins.
  2. Erschien erstmals in JDK 5.
  3. Um mit einer for-each-Schleife über Container zu iterieren, muss der Container die Iterable-Schnittstelle implementieren.
  4. Es ist nicht möglich, das Element an diesem Index zu ersetzen, da auf den Array-Index nicht zugegriffen werden kann.
  5. Kann nur in aufsteigender Reihenfolge iterieren, nicht absteigend.
Beispiel für den Unterschied zwischen for every- und for- Schleifen :
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class DifferenceBetween
{
   public static void main(String[] args)
   {
      List<String> players = new ArrayList<>(Arrays.asList("Virat", "Rohit", "Dhoni"));
      // iterate over List using for loop
      System.out.println("using for loop: ");
      for(int a = 0; a < players.size(); a++)
      {
         System.out.println(players.get(a));
      }
      // iterate over List using enhanced for loop
      System.out.println("using for each loop: ");
      for(String str : players)
      {
         System.out.println(str);
      }
   }
}
Ergebnis für for- und for every-Schleifen:
Virat Rohit Dhoni.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION