GMOインターネットグループ ブース企画
「Java クイズチャレンジ 監修 GMOペイメントゲートウェイ」
Q1. 以下は書籍Effective Javaのカバーイラストの一部です。 Effective Java 第2版はどれでしょう?
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. 上記どちらも当てはまらない。