平凡エンジニアによる平凡ブログ

平凡インフラエンジニアがスキルアップを目指してプログラミングやクラウドやサーバといったインフラのアウトプットをしていきます!

【java】Javaプログラマ Bronze SE試験(1Z0-818) 合格体験記

無事に資格取得をしたので本資格について振り返りする。

記事内容

1.試験概要

2.学習教材

3.学習方法

4.試験を受けた感想と対策

5.まとめ

試験概要

試験番号:1Z0-818
問題数:60問
試験時間:65分
出題形式:選択問題(記述問題なし)

試験範囲

1.java言語のプログラム流れ
2.データの宣言と使用
3.演算子と分岐文
4.ループ文
5.オブジェクト指向の概念
6.クラスの定義とオブジェクトの使用
7.継承とポリモフィズム

学習教材

私は2冊使用しました。

オラクル認定資格教科書 Javaプログラマ Bronze SE(試験番号1Z0-818)

オラクル認定資格教科書 Javaプログラマ Bronze SE(試験番号1Z0-818)

  • 作者:山本 道子
  • 発売日: 2020/07/20
  • メディア: 単行本(ソフトカバー)

テキスト+問題集
非常に良くできています。
テキストとしても良くまとめられていますし
一番いいのは章末にある模擬試験2回分の問題です。
実際の試験でも類似問題が何題か見受けられました。

純粋に問題集として購入しました。
しかし解答もしっかりしていて基本的な知識から
一から説明されているため教科書的にも使用できます。
上記紫本をやってから、より確実な合格を目指すために書きました。
eclipseでコードを書いたり、動画サイトでjavaを学習していれば
上記紫本一冊でも問題ないかと思いました。

学習方法

続いて私が実施した学習方法です。
学習時間は16日間で40時間ほどです。

テキスト・問題集で使用する。

・テキストを読み、該当章末の問題を解く
・問題集は2回実施する。
・間違えた問題だけチェックをしておき正解するまで実施する。

eclipseで間違った問題のコードを書いて実行してみる。

eclipeとはjavaでよく使用されている統合開発環境のことです。
詳細は省きますが、コンパイルから実行まで一つの画面で実施できます。
必ずインストールして学習に役立てましょう。

試験を受けた感想と対策

その日によって試験内容は変わると思いますが
私が受けた日の内容から試験を受けた感想と対策について記載します。

時間配分

65分で60題の問題を解く必要がありますので、一問1分弱くらいしかない計算です。 実際に試験を受けてみましたが、見直しの時間が5分ほどしか取れませんでしたので 悩む問題があれば、一回飛ばして後で見直す工夫は必要ではないかと感じました。

全体の出題形式

出題形式は選択肢から正解を選ぶ形式です。
また多くの問題はコードの記載があり、そのコードの実行結果について
選択式で答える形式が多いです。

問題によっては実行結果だけでなく、コンパイルエラーor実行エラーも選択肢に あるので、選択肢に惑わされずしっかりコードを読み解くことが重要になります。

私は以下のような解き方をしました。
①エラーがない場合の出力結果をまず考えてみる。
コンパイルエラー、実行エラーが出る文法の間違いなどがないか確認する。

「エラーが出ている箇所を間違い探しする」ように問題を解くと コードの間違いに気づきやすく問題を解きやすいです。

①の段階で間違いに気づけば素早く解くことができますが
本番試験では間違いを探しすぎ時間がかかりました。
そのため①でエラーが出ず正常に実行された場合の出力結果を考えると
選択肢が消すことが出き、そこから文法や構文の間違いを探しだすと
選択肢を絞りながら問題を解くことができると思います。

各分野の重要事項

試験範囲は全て網羅しておく必要がありますが
今回の試験で出題されていた重要項目を挙げておきます。

1.java言語のプログラム流れ

javaSE,javaEE,javaMEのプラットフォームの違い

こういった特徴のシステム開発の際は
どのプラットフォームを使用するかをキーワードでつかんでおきましょう。

2.データの宣言と使用

変数のデータ型
 byte、short、int、longに代入できる値
コマンドライン引数
配列の理解、コードの書き方

変数のデータ型はそれぞれ特徴を理解しておきましょう。
整数、小数を代入できる変数は何か 配列については配列の書き方や添字[0]から始まる点などが 理解しておくポイントです。
eclipeで自分で配列をつくってみましょう。

3.演算子と分岐文

前置インクリメント、後置インクリメントの理解
if文、if-else文の理解
switch文
breakの挙動について

分岐文については繰り返し問題を解いて自分で挙動を説明できるようにしましょう。

4.ループ文

while文
do-while文
for文(ネスト系)
拡張for文

こちらも分岐文と同じように実際の挙動を理解しましょう。
各構文の記載方法についても自分でコードを書けるようにしましょう。

条件式が一つしか書けないのに関わらず、二つ以上記載があったり 構文の文法が間違っていることを見分けられることが重要です。

5.オブジェクト指向の概念

直接的な出題はなかったですが オブジェクト指向の考え方はプログラミングを理解する上で 重要なので、理解しておきましょう。

6.クラスの定義とオブジェクトの使用

コンストラクタ、メソッドの定義方法
デフォルトコンストラク
static変数、staticメソッド
オーバーロード、オーバーライドの違い

特にオーバーロード、オーバーライドの条件を問う問題は複数出題あり staticメソッドからインスタンスメソッドを呼び出せないなどstaticの理解も必須です。

問題集に書いてあるコードをeclipeで自分で書いてみたりすることで
理解しましょう。

7.継承とポリモフィズム

継承のさせ方(extends)
final修飾子をつけた際のクラス、メソッド、変数
this,superを使用してコンストラクタを呼びだす
抽象クラスとインターフェースの特徴
サブクラスへのキャスト変換
inport文の記載方法
packege文

この分野は出題数が多く、難易度も高かったです。

同じクラスのコンストラクタ、スーパクラスのコンストラクタの呼び出し方
抽象クラスやインターフェースでの変数やメソッドの扱い方など スーパクラスへの型変換を行い、キャスト変換した場合の実行されるメソッド
packege文やimport文の記載方法や記載場所など

この分野は特にそれぞれのルールと挙動についてしっかり理解しなければ 難しく合格できるかはこの分野の正答率によると思います。 eclipseでコードを書いてみて実行することと繰り返し問題を解きましょう。

まとめ

以上、資格取得までをまとめた。

本資格の取得でまずは「javaのコードを見て、構造を理解できる」という スキルを身につけることができます。 ただし資格取得はあくまでこれからの開発スキルを身につけていくための 一歩目に過ぎないので、それを理解した上で学習を続けていきたいです。