Java SE Bronze (1Z0-818) Erfahrung bestehen
Einführung
Dies ist Qiitas erster Beitrag.
Nachdem ich im Juli dieses Jahres aufgrund unerfahrener Entwicklungsarbeit den Job gewechselt habe, arbeite ich bei einer Entwicklungsfirma in Osaka.
In dieser Prüfung wollte ich auf sichtbare Weise beweisen, wie viel ich über Java gelernt habe, und ich habe die Qualifizierungsprüfung mit dem Ziel versucht, die Grundkenntnisse von Java zu verbessern.
Meine Angaben
- Ehemaliger Infrastrukturbetreiber
- Java unerfahren (natürlich keine Entwicklungspraxis)
- Ich habe PHP ein wenig berührt
Vorsichtsmaßnahmen für die Anwendung
- Das Bewerbungsverfahren ist ziemlich kompliziert
- Notieren Sie den Testnamen
Zunächst gibt es einen Artikel, der leichter zu verstehen ist, als ich über "das Bewerbungsverfahren ist ziemlich kompliziert" erkläre. Lesen Sie daher bitte diesen Artikel.
Dieser Artikel War auch sehr hilfreich bei der Prüfung, also werde ich es teilen.
In Bezug auf "Notieren Sie den Testnamen" wird, wenn Sie ihn bereits kennen, der Test "Java SE 7/8 Bronze (1Z0-814)" am 31.7.20 dieses Jahres (2020) ausgeliefert. Ist fertig. Sie können dies überprüfen, indem Sie [diesem Link] folgen (https://education.oracle.com/ja/java-se-7-8-bronze-japan-only-exam/pexam_1Z0-814).
** Bitte beachten Sie, dass der Testname der Nachfolgeversion "Java SE Bronze (1Z0-818)" lautet **. Im Suchfenster von Pearson VUE ** 1 wird nur Z0-818 die Suche treffen **
Zeitraum (Lernzeit)
--Ca. 2 Wochen
――6-9 Stunden an Wochentagen (Es gibt andere Aufgaben, daher gibt es einige Variationen)
- Etwa 5 Stunden an Feiertagen
- Insgesamt: ca. 80 bis 110 Stunden
An meinem schlechten Platz neige ich dazu, faul zu sein, weil ich Zeit habe. Er ist ein nutzloser Mensch, der endlich ungeduldig ist, wenn sich die Frist nähert. Es kann gut sein, den Zeitraum zuerst für alles zu bestimmen (Selbstdisziplin)
Mein Rat ist, dass 2 Wochen (1 Woche für Dekir) ausreichen, wenn Sie an Wochentagen und Feiertagen eine bestimmte Lernzeit sichern können.
Lassen Sie uns aus dem von Ihnen festgelegten Zeitraum zurückrechnen und jeden Tag stetig lernen!
Lernmethode
- [Nachschlagewerk (lila Buch)](https://www.amazon.co.jp/%E3%82%AA%E3%83%A9%E3%82%AF%E3%83%AB%E8%AA % 8D% E5% AE% 9A% E8% B3% 87% E6% A0% BC% E6% 95% 99% E7% A7% 91% E6% 9B% B8-Java% E3% 83% 97% E3% 83 % AD% E3% 82% B0% E3% 83% A9% E3% 83% 9E-Bronze-SE-% E5% B1% B1% E6% 9C% AC / dp / 4798142719)
- Lernen, bis Sie die Bereiche verstehen, in denen Sie nicht gut sind (Qiita-Artikel usw.)
- Schreiben Sie den Code tatsächlich, setzen Sie den Debugger und folgen Sie dem Prozess
Nur die oben genannten drei Punkte.
Ich habe insgesamt ungefähr 3 Runden lila Bücher gemacht, aber ich hätte ein Problem lösen sollen, das ich noch nicht gelöst habe, weil ich es für ungefähr 2 Runden behalten und ein anderes Buch im Netz verwenden könnte.
Außerdem hatte ich in meinem Fall Probleme mit "Überlastungsüberschreibung" und "Verschachtelung für Anweisungen". Jedes Mal, wenn ich auf ein Problem stieß, googelte ich und schrieb und debuggte den Code, um den Programmfluss zu verstehen. Ich habe es getan.
Letzte Überprüfung
- [ ] JVM
** Klassendatei lesen **
** In der Klassendatei geschriebenen Bytecode interpretieren und ausführen ** (Klassendatei ausführen)
** Speicherverwaltung **
- [] Kennung
Das erste Zeichen des Bezeichners (Variable, Methode, Klasse usw.) besteht nur aus ** alphabetischen Zeichen (a ~ z, A ~ Z), ($), (_) **
Zahlen sind nach 2 Zeichen möglich
Die Anzahl der Zeichen ist unbegrenzt
- [] Zeichentyp
Der Zeichentyp ist ein Zeichen, das durch Unicode (16 Bit) dargestellt werden kann, und unterscheidet sich ** von einer Zeichenfolge **
Der char-Typ kann vorzeichenlose Ganzzahlen (1 oder 5) verarbeiten.
** Wenn Sie einen Unicode-Wert im Zeichen-Typ speichern möchten, schließen Sie ihn in einfache Anführungszeichen (') ein **
Wenn Sie es in doppelte Anführungszeichen (") setzen, handelt es sich um eine Zeichenfolge.
- [] Standardwert des Basisdatentyps
Ganzzahliger Wert: 0
Gleitkommatyp: 0.0
Boolescher Typ: false
Zeichentyp: ** \ u0000 **
Referenztyp: null
- [] if-Anweisung
In der if-Anweisung kann {} weggelassen werden, wenn nur eine Zeile verarbeitet werden muss.
Wenn jedoch die Verarbeitung von zwei oder mehr Zeilen beschrieben wird, wird diese unabhängig vom Ergebnis des bedingten Ausdrucks ausgeführt.
- [] switch-Anweisung
Das Ergebnis des switch-Anweisungsausdrucks ist einer der Datentypen , ** short **, ** int **, ** enum **, ** char **, ** String **. Muss sein (es scheint besser, am Anfang des Problems zu überprüfen)
- [] while-Anweisung
Das Schreiben von while (false) führt zu einem Kompilierungsfehler
- [] Erweitert für Anweisung
Wenn die Datentypen der Variablendeklaration und der Name der Referenzvariablen nicht übereinstimmen, tritt ein Kompilierungsfehler auf.
** Die Variablendeklaration muss in der for-Anweisung deklariert werden **. Wenn Sie außerhalb deklarieren, wird ein Kompilierungsfehler angezeigt
- [] Konstruktor
Der Konstruktorname entspricht dem Klassennamen
Alle Zugriffsmodifikatoren können angegeben werden
** Rückgabewert **, ** void **, ** abstract **, ** static **, ** final ** kann nicht angegeben werden
** Wenn Sie einen Rückgabewert angeben, handelt es sich um eine Methode anstelle eines Konstruktors **
** Nicht von Unterklasse geerbt **
- [] Mitglied
Wenn die Klasse instanziiert wird, hat das Instanzmitglied ** einen individuellen Platz im case-Objekt **.
Selbst wenn mehrere statische Elemente instanziiert werden, ** ist ein Bereich an einem Ort gesichert **
- [] Zugang zwischen Mitgliedern
Der direkte Zugriff auf Instanzmitglieder-> statische Mitglieder ist OK
Statisches Mitglied-> Direkter Zugriff auf das Instanzmitglied ist NG
Muss für den statischen Zugriff instanziiert werden
- [] Zugriffsmodifikatoren / Modifikatoren
public und default: ** Klasse ** · ** Konstruktor ** · ** Variable ** · ** Methode **
geschützt und privat: ** Konstruktor ** / ** Variable ** / ** Methode ** (** Nicht verfügbar für abstrakte Methoden **. ** In Unterklasse überschreiben **.)
Lokale Variablen und Steueranweisungen (falls, für): ** Zugriffsmodifikatoren können nicht angegeben werden **
abstrakter Modifikator: Kann nicht für ** Konstruktor ** / ** Variable **
verwendet werden
statischer Modifikator: ** Variable ** / ** Nur Methode **
- [] letzter Modifikator
Variable-> Konstante
Methode-> Kann auf der Unterklassenseite nicht überschrieben werden
Klasse-> Nicht vererbbar
** Konstruktor-> Kann nicht verwendet werden **
- [] öffentliche Klasse
Eine öffentliche Klasse pro Datei
Wenn Sie eine öffentliche Klasse definieren, machen Sie den Dateinamen gleich
- [] Überlastung
** Methodenname (Konstruktorname) ** ist der gleiche
** Argumentfolge **, ** Argumenttyp **, ** Anzahl der Argumente ** muss unterschiedlich sein
- [] Überschreiben
** Die Signatur (Methodenname und Argumentliste) ** ist dieselbe
Wenn der Rückgabewert derselbe oder ** eine Unterklasse des Rückgabetyps ** ist, wird dies als Überschreibung betrachtet.
Der Zugriffsmodifikator muss ** derselbe wie die Oberklasse ** oder ** für die Öffentlichkeit offener sein **
** Instanzmethoden (nicht statische Methoden) können nicht durch statische Methoden überschrieben werden **
- [] Vererbung
Unterklassen können ** Variablen **, ** Methoden **
erben
Der Konstruktor wird nicht vererbt
Die Java-Sprache unterstützt nur die Einzelvererbung, sodass nach dem Schlüsselwort ** erweitert ** nur eine Klasse angegeben werden kann.
Wenn Sie eine Klasse (Unterklasse) instanziieren, die eine Vererbungsbeziehung hat, ** wird immer vom Superklassenkonstruktor ausgeführt ** und der Unterklassenkonstruktor wird ausgeführt
Wenn Sie den Konstruktor, den Sie auf der Unterklassenseite aufrufen möchten, nicht explizit angeben, wird ein Konstruktor, der implizit keine Argumente der Oberklasse enthält, mit ** super () ** aufgerufen.
- [] Abstrakte Klasse
** Eine abstrakte Klasse, die eine abstrakte Klasse erbt, verursacht keinen Fehler, selbst wenn die in der Oberklasse definierte abstrakte Methode nicht implementiert (überschrieben) ist **. Wenn das Vererbungsziel jedoch eine konkrete Klasse ist, muss es implementiert werden
** Kann nicht instanziiert werden **
- [] Schnittstelle
Wenn eine Variable in der Schnittstelle deklariert wird, wird sie zu einer statischen Konstante ** public static final **, sodass sie gleichzeitig mit der Deklaration initialisiert werden muss.
Sie müssen immer ** public ** hinzufügen, um abstrakte Methoden beim Implementieren einer Schnittstelle zu überschreiben.
Wenn Sie Extend und Implement zusammen verwenden, schreiben Sie zuerst ** Extended **
Abstrakte Methoden können keine statischen Modifikatoren haben
- [] Paket
Trennen Sie beim Hierarchisieren von Paketnamen die Hierarchienamen durch Punkte <.>
- [] Paketieren, kompilieren und ausführen
Backslash <> Beim Kompilieren der Quelldatei im Paket wird eine Verbindung
Punktverbindung bei der Ausführung
- [] Paket öffentlich
Um zuzulassen, dass andere Klassen als das Paket, zu dem Sie gehören, Ihre eigene Klasse verwenden, fügen Sie dem zulässigen Klassennamen und Methodennamen ** public ** hinzu.
Ein letztes Wort
Ich bin erleichtert, dass ich es bisher geschafft habe zu schreiben.
Während ich schrieb, hatte ich einige Gedanken über die Prüfung und das Lernen der Qualifikation, deshalb werde ich Ihnen am Ende davon erzählen.
Zunächst zum Qualifikationslernen
Es ist wichtig, sich an das Problem zu gewöhnen, indem Sie das Nachschlagewerk viele Male durchgehen, aber ich fand es wichtiger, das Problem in "1 Minute oder weniger (idealerweise 50 Sekunden)" (1 in der Prüfung) lösen zu können. Q 1 Minute Tempo ist erforderlich). Wie andere bereits gesagt haben, ist es keine Übertreibung zu sagen, dass der Grad des Verständnisses des Problems der "Überlastüberschreibung" direkt mit dem Bestehen / Nichtbestehen zusammenhängt.
In Bezug auf die Testproduktion
Ich bin nervöser als ich erwartet hatte, daher ist meine Lesefähigkeit viel geringer als gewöhnlich (ich war in den ersten 5 Minuten so nervös (lacht)) Es ist schwer zu sagen, nicht nervös zu sein, aber bitte entspannen Sie sich so weit wie möglich und hoffen Sie auf die Prüfung.
Das ist es.
Als nächstes kommt Java Silver.