BETA

Java Silver(1Z0-815-JPN Java SE 11 Programmer I)に合格した(正答率70%)

投稿日:2020-06-26
最終更新:2020-06-26

前置き

70%でイキってるわけではないです、許して。
SE8の合格体験記は多いけど、SE11になるとほとんど見かけない。
11が比較的新しいというのもあって、検索結果のトップに出てきていない感が強い。
これから受けようと思ってる人に、ちょっとでも参考になれば幸い。

通称黒本の総仕上げ問題2つをそれぞれ週替りで4週くらいしておくと吉。

プログラムの動きがどうとかはほとんど解説しないので
試験範囲はそんなものか程度に留めてほしい。

受検当時のスペック

  • 入社3年5カ月目
  • C#メイン、それまでJavaはほぼノータッチ(Bronzeは取った)
  • 美術大学卒の文系

なぜ今取ったの

例 の 自 粛 で 暇 に な っ た か ら。
それまで毎日10時間労働していたから受けようにも体力的にキツかった。

具体的に何を重点的に勉強したところ

(表記は黒本に合わせてる)

  • インスタンスとメソッド
  • クラスの継承、インターフェース、抽象クラス
  • 例外処理
  • モジュールシステム ←11で追加された要素

所感として、Bronze試験とほぼ同程度か延長線上の内容。
オーバーライドとオーバーロードがどっちがどっちだったか忘れて焦った。

あと、Bronzeでクラスの継承でミスりまくっていたので、ここは特に力を入れた。
実試験でもかなりの割合で出てきて試験1回目は無事に死亡した。
(再試験キャンペーン保険は必須

どういう問題が出たか

割とソースを上から下までちゃんと読まないと引っかかる系が多かった。
自分がまんまと引っかかった内容が下記。

インスタンスとメソッド
継承が若干絡むけど、親クラスの型で生成した子クラスのインスタンスを元に
変数やメソッドを使うと、何が呼び出されるかを問われるものが多かった。

クラスの継承、インターフェース、抽象クラス
Bronzeではインターフェースでは具体的な処理を書いたものは
実装できないニュアンスなこと言ってた気がする。
defaultという修飾子を付けることで具体的な処理の記述が可能になったことを
言及するような問題もあったりした。

interface Hoge {  
    public void aaa();  
    default void bbb()  
    {  
        // システムコンソール・・・とか  
    }  
}  

例外処理
catch句に例外クラスを複数並べるときは順番が大事。
エラーの親クラスを先に宣言すると、子クラスにはどうあがいても到着できない
という状況になっているとコンパイルエラーが発生する。
地味にどうあがいても到着できないコード問題が他にも出てくることがあるので注意。

パッケージ宣言の有無
この記述を見かけたら、クラスが所属しているパッケージ要確認。
実はパッケージが違っているせいで、親子関係にあっても修飾子がない変数やメソッドは
使えませんよということもある。

コンパイルエラーと実行時エラー
見分けるのがちょっと難しい気がする。
こういうのが実行時エラーになる。

class A {  
    // 色々処理がある  
}  

class B extends A {  
    // 色々処理がある  
}  

public class Main {  
    public static void main(String args[]){  
        A a = new A();  
        B b = new B();  
        a = b;  
    }  
}  

親Aクラス型のAインスタンスに、子Bクラス型のインスタンスを
代入しようとすると実行エラーになるというやつ。
文法自体に誤りはないけど、実際にやろうとすると実行エラーが発生する。
詳しくはggって。

モジュール関係
暗記ゲー、黒本に出ていないような設問もあってそこは捨てた。

地味に引っかかったからそこそこ勉強した

  • 配列(多次元配列)
  • 制御構造(for、dowhile、switch)
  • API

配列(多次元配列)
ループ処理と合わせて出てくる、ちゃんと脳内で動かそう。

制御構造(for、dowhile、switch)
実務経験者は引っかかると思った。
defaultの位置が変なところにあったときの挙動は確認した方が良い。

API
MathとかDateTime系、特にList系やマイナーなMap系が頻出。

あとがき

紫色の本は窓から投げ捨てよう。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

実務で培ったことを整理してまとめておく戒め 設計ミスるとぷろぐらんまはしぬ C#メイン

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう