GMOインターネットグループ ブース企画
「Java クイズチャレンジ 監修 GMOペイメントゲートウェイ」

Q1. 以下は書籍Effective Javaのカバーイラストの一部です。 Effective Java 第2版はどれでしょう?

Joshua Bloch(原著) 柴田 芳樹(翻訳) 発行: 丸善出版

Q2. 次のコードを実行した場合、どういう結果になるでしょう?Javaのバージョンは23です。

void main() {
    try {
        List<String> list = new ArrayList<>();
        list.add("P");
        list.add("G");
        list.removeFirst();
        list.get(0);
        println("p");

        list.addLast("M");
        list.getFirst();
        println("a");

        list.removeFirst();
        list.get(0);
        println("y");

        list.removeLast();
        list.getLast();
        list.get(0);
        println("ment");
    } catch (IndexOutOfBoundsException e) {
        println("gateway");
    } finally {
        println("!");
    }
}

1. "payment!"

2. "paygateway!"

3. "pay!"+実行時例外

4. コンパイルエラー

Q3. 次のコードを実行した場合、どういう結果になるでしょう?Javaのバージョンは23です。

void main(){
    Object a = 0;
    Object b = null;
    Object c = "pg";
    switch(a){
        case int x when x < 5 -> println("M");
        case Integer x -> println("G");
        case null,default -> println("O");
    }
    switch(b){
        case String x -> println("-");
        case Integer x -> println("P");
        case null,default -> println("G");
    }
    switch(c){
        case String x when x.length() < 3 -> x.toUpperCase();
        case String x -> println("PAY");
        default -> println("MENT");
    }
    println(c);
}

1. "G","G","PG"

2. コンパイルエラー

3. "G","G","pg"

4. "M","G","pg"

Q4. 500GBの非構造化テキストデータを分析するため、テキストを数値化します。この時、ファイルを分割しVirtual Threadsを用いて並列処理する事にしました。この技術選択において最も当てはまるものを選択してください。

1. 元のファイルサイズが大きいため、分割してもファイルI/Oのブロッキングが頻繁に発生し、スループット向上は望めない。

2. データの数値化はC(G)PUを利用するため、JVM上で仮想化スレッドを用いてもスループットの向上効果は小さい。

3. 上記どちらも当てはまらない。

GMOインターネットグループのSNSをフォローして最新情報をチェック