Häufige Interviewfragen in großen Fabriken, Sie machen versehentlich Fehler auf niedriger Ebene, die neuesten allgemeinen Java-Interviewfragen im Jahr 2020, grundlegende Fragen (mit detaillierten Antworten)

2020 neueste Java-Sammlung allgemeiner Interviewfragen + detaillierte Antworten (6)

 

Die Interviewfragen wurden auf das sechste Modul aktualisiert. Vor kurzem erkundige ich mich auch nach ihren Interviewerfahrungen mit jüngsten Partnern in großen Fabriken, um alle über die neuesten Nachrichten auf dem Laufenden zu halten und umfassendere Interviewinformationen zu sammeln. Wenn Sie die ersten Sammlungen sehen möchten, können Sie sie auf meiner Homepage finden.

Einige der Antworten werden von mir selbst zusammengefasst, andere werden im Internet gesammelt. Keine Panik nach diesen Interviews! Wenn Sie mehr Erfahrung haben, können Sie diese in den Kommentaren teilen. Wenn Sie Fehler haben, können Sie gerne darauf hinweisen. Bitte lassen Sie es mich wissen, danke ~

abnormal

61. Der Unterschied zwischen Wurf und Wurf?

 

Throws wird verwendet, um alle Ausnahmeinformationen zu deklarieren, die eine Methode auslösen kann. Throws deklariert die Ausnahme, behandelt sie jedoch nicht, lädt jedoch die Ausnahme hoch. Wer auch immer sie aufruft, ich werde sie behandeln. Und throw bezieht sich auf eine bestimmte Art von ausgelöster Ausnahme.

 

62. Was ist der Unterschied zwischen final, final und finalize?

 

  • Final kann Klassen, Variablen und Methoden ändern. Geänderte Klassen zeigen an, dass die Klasse nicht vererbt werden kann, geänderte Methoden zeigen an, dass die Methode nicht überschrieben werden kann, und geänderte Variablen zeigen an, dass die Variable eine Konstante ist und nicht neu zugewiesen werden kann.

  • Schließlich wird im Allgemeinen im Try-Catch-Codeblock verwendet. Wenn es um Ausnahmen geht, müssen wir normalerweise die Codemethode im finally-Codeblock ausführen. Dies bedeutet, dass der Codeblock unabhängig davon ausgeführt wird, ob eine Ausnahme vorliegt oder nicht, und im Allgemeinen zum Speichern einiger geschlossener Ressourcen verwendet wird Code.

  • Finalize ist eine Methode, eine Methode der Object-Klasse, und die Object-Klasse ist die übergeordnete Klasse aller Klassen. Diese Methode wird im Allgemeinen vom Garbage Collector aufgerufen. Wenn wir die gc () -Methode des Systems aufrufen, ruft der Garbage Collector finalize auf (),Wiederverwertbarer Müll. 

 

63. Welcher Teil von try-catch-finally kann weggelassen werden?

 

Antwort: Fang kann weggelassen werden

 

der Grund:

Eine strengere Aussage lautet tatsächlich: try ist nur für die Behandlung von Laufzeitausnahmen geeignet, try + catch ist für die Behandlung von Laufzeitausnahmen + normalen Ausnahmen geeignet. Mit anderen Worten, wenn Sie nur versuchen, gewöhnliche Ausnahmen zu behandeln, ohne sie abzufangen, wird die Kompilierung nicht bestanden, da der Compiler streng festlegt, dass Sie die Deklaration zur weiteren Verarbeitung verwenden müssen, wenn Sie gewöhnliche Ausnahmen abfangen möchten. Und Laufzeitausnahmen sind zur Kompilierungszeit nicht so festgelegt, sodass catch weggelassen werden kann und Sie den catch-Compiler hinzufügen können.
 

Theoretisch betrachtet der Compiler jeden Code, der für das Auge nicht angenehm ist, und ist der Ansicht, dass möglicherweise Probleme auftreten. Selbst wenn Sie dem gesamten Code einen Versuch hinzufügen, ist der Code auf der Grundlage des normalen Betriebs während der Laufzeit nur eine Hautschicht. Wenn Sie jedoch einem Code einen Versuch hinzufügen, entspricht dies einem expliziten Versprechen an den Compiler, Ausnahmen abzufangen, die dieser Code möglicherweise auslöst, anstatt ihn nach oben zu werfen. Wenn es sich um eine normale Ausnahme handelt, muss der Compiler für die weitere Verarbeitung mit catch abgefangen werden. Wenn es zur Laufzeit abnormal ist, wird es abgefangen und dann verworfen und schließlich mit + verarbeitet, oder catch wird zur weiteren Verarbeitung hinzugefügt.
 

Was das endgültige Hinzufügen betrifft, muss die "Endbearbeitung" ausgeführt werden, unabhängig davon, ob die Ausnahme abgefangen wird oder nicht.

 

64. Wird in try-catch-finally endlich ausgeführt, wenn der catch zurückgegeben wird?

 

Antwort: Es wird vor der Rückkehr ausgeführt und ausgeführt.

 

Codebeispiel 1:

/*
 * java面试题--如果catch里面有return语句,finally里面的代码还会执行吗?
 */
public class FinallyDemo2 {
    public static void main(String[] args) {
        System.out.println(getInt());
    }

    public static int getInt() {
        int a = 10;
        try {
            System.out.println(a / 0);
            a = 20;
        } catch (ArithmeticException e) {
            a = 30;
            return a;
            /*
             * return a 在程序执行到这一步的时候,这里不是return a 而是 return 30;这个返回路径就形成了
             * 但是呢,它发现后面还有finally,所以继续执行finally的内容,a=40
             * 再次回到以前的路径,继续走return 30,形成返回路径之后,这里的a就不是a变量了,而是常量30
             */
        } finally {
            a = 40;
        }

//      return a;
    }
}
 

Implementierungsergebnisse: 30

 

Codebeispiel 2:

package com.java_02;

/*
 * java面试题--如果catch里面有return语句,finally里面的代码还会执行吗?
 */
public class FinallyDemo2 {
    public static void main(String[] args) {
        System.out.println(getInt());
    }

    public static int getInt() {
        int a = 10;
        try {
            System.out.println(a / 0);
            a = 20;
        } catch (ArithmeticException e) {
            a = 30;
            return a;
            /*
             * return a 在程序执行到这一步的时候,这里不是return a 而是 return 30;这个返回路径就形成了
             * 但是呢,它发现后面还有finally,所以继续执行finally的内容,a=40
             * 再次回到以前的路径,继续走return 30,形成返回路径之后,这里的a就不是a变量了,而是常量30
             */
        } finally {
            a = 40;
            return a; //如果这样,就又重新形成了一条返回路径,由于只能通过1个return返回,所以这里直接返回40
        }

//      return a;
    }
}
 

Implementierungsergebnisse: 40

Allgemein bekannte Punkte sind leicht zu übersehen. Haben Sie sie alle beantwortet?

65. Was sind die häufigsten Ausnahmetypen?

 

  • NullPointerException: Diese Ausnahme wird ausgelöst, wenn die Anwendung versucht, auf ein Nullobjekt zuzugreifen.

  • SQLException: Bietet Ausnahmen zu Datenbankzugriffsfehlern oder anderen Fehlerinformationen.

  • IndexOutOfBoundsException: Geben Sie an, dass ein Sortierindex (z. B. das Sortieren eines Arrays, einer Zeichenfolge oder eines Vektors) außerhalb des Bereichs liegt. 

  • NumberFormatException: Diese Ausnahme wird ausgelöst, wenn die Anwendung versucht, eine Zeichenfolge in einen numerischen Typ zu konvertieren, die Zeichenfolge jedoch nicht in ein geeignetes Format konvertiert werden kann.

  • FileNotFoundException: Diese Ausnahme wird ausgelöst, wenn ein Versuch, die durch den angegebenen Pfadnamen angegebene Datei zu öffnen, fehlschlägt.

  • IOException: Diese Ausnahme wird ausgelöst, wenn eine bestimmte E / A-Ausnahme auftritt. Diese Klasse ist eine allgemeine Klasse von Ausnahmen, die durch fehlgeschlagene oder unterbrochene E / A-Vorgänge generiert werden.

  • ClassCastException: Diese Ausnahme wird ausgelöst, wenn versucht wird, ein Objekt in eine Unterklasse umzuwandeln, die keine Instanz ist.

  • ArrayStoreException: Eine Ausnahme, die ausgelöst wird, wenn versucht wird, ein Objekt des falschen Typs in einem Objektarray zu speichern.

  • IllegalArgumentException: Die ausgelöste Ausnahme gibt an, dass ein unzulässiger oder falscher Parameter an die Methode übergeben wurde.

  • ArithmeticException: Diese Ausnahme wird ausgelöst, wenn ein abnormaler Betriebszustand auftritt. Wenn beispielsweise eine Ganzzahl "durch Null geteilt" wird, wird eine Instanz dieser Klasse ausgelöst. 

  • NegativeArraySizeException: Wenn die Anwendung versucht, ein Array mit einer negativen Größe zu erstellen, wird diese Ausnahme ausgelöst.

  • NoSuchMethodException: Diese Ausnahme wird ausgelöst, wenn eine bestimmte Methode nicht gefunden werden kann.

  • SecurityException: Eine vom Sicherheitsmanager ausgelöste Ausnahme, die darauf hinweist, dass eine Sicherheitsverletzung vorliegt.

  • UnsupportedOperationException: Diese Ausnahme wird ausgelöst, wenn die angeforderte Operation nicht unterstützt wird.

  • RuntimeExceptionRuntimeException: Dies ist die Oberklasse der Ausnahmen, die während des normalen Betriebs der virtuellen Java-Maschine ausgelöst werden können.

Zu guter Letzt

Der Inhalt der Interviewfragen ist hier vorbei, ich hoffe es wird für alle hilfreich sein.

Zum Schluss möchte ich Ihnen noch etwas sagen. Ich habe so viele Jahre gearbeitet und einige Leute für andere interviewt. Ob aus der Sicht des Interviewers oder des Leiters, neben den Interviewfähigkeiten und -erfahrungen des Interviewers sind exzellente Technologie und gute Projekterfahrung auch ihre Trümpfe und ihr Vertrauen. Kerntechnologieaustausch von First-Tier-Herstellern

 Ich habe lange gebraucht, um einige Lernmaterialien zu sortieren. Was ich oben gepostet habe, ist die Spitze des Eisbergs in den Materialien. Ich hoffe, ich kann Ihnen helfen! Klicken Sie hier, um gemeinsam die Chiffre zu lernen: csdn

                         

  Ich werde in der Folge weitere Artikel über reine Trockenwaren veröffentlichen und hoffe, Ihnen wirklich helfen zu können. Ihre Unterstützung ist meine größte Motivation!

Ich denke du magst

Origin blog.csdn.net/weixin_50333534/article/details/108784326
Empfohlen
Rangfolge