📑

Kotlin脳内ランタイムクイズ

2024/06/22に公開

Kotlin 問題集

この記事は Kotlin Fest 2024 のログラスブースでのクイズ企画です!
https://www.kotlinfest.dev/

ルール

  • 皆さんの脳内で Kotlin のコードを実行し、結果を回答してください!
  • PC で実行してはいけません

回答方法

全問回答できたらブースにお越しください!
https://x.com/LoglassPrdTeam/status/1804316646691213516

全問正解者には Anker の充電器や技術書などの景品をご用意しております。
※ 数に限りがあるため、先着順のお渡しになります

お願い

問題に回答したら、ぜひシェアをお願いします!

問 1 出力は?

  1. null
  2. NullPointerException が throw される
fun main() {
    print(null.toString())
}

問 2 main()実行時の出力は?

  1. fizz => buzz => 8 => fizzbuzz
  2. fizzbuzz => fizzbuzz => 8 => fizzbuzz
  3. 8
  4. buzz => 8
fun main() {
    fizzBuzz(3)
    fizzBuzz(5)
    fizzBuzz(8)
    fizzBuzz(15)
}

fun fizzBuzz(num: Int) {
    if (num % (3 * 5) == 0) {
        "fizzbuzz"
    } else if (num % 3 == 0) {
        "fizz"
    } else if (num % 5 == 0) {
        "buzz"
    } else {
        num
    }.let(::println)
}

問 3 戻り値は?

  1. 例外が投げられる
  2. Unit
  3. Nothing
fun test() {
    throw return
}

問 4 出力される順番は?

  1. 3 ⇒ 2 ⇒ 4 ⇒ 1
  2. 3 ⇒ 4 ⇒ 2 ⇒ 1
  3. 2 ⇒ 1 ⇒ 3 ⇒ 4
  4. 2 ⇒ 3 ⇒ 4 ⇒ 1
fun main() {
    runBlocking {
        async {
            runBlocking {
                async {
                    delay(300)
                    println(1)
                }
                listOf(
                    async { delay(100) },
                    async { delay(100) },
                    async { delay(100) },
                ).awaitAll()
                println(2)
            }
        }
        println(3)
        delay(200)
        println(4)
    }
}

問 5 出力は?

  1. 32
  2. 64
  3. 128
  4. 256
fun main() {
    2.test()
}

fun Int.test() {
    2.let {
        square(it) * square(this).run {
            this.also {
                (square(it) * this).apply {
                    square(this)
                }
            }.let(::square)
        }
    }.let(::println)
}

private fun square(n: Int): Int {
    return n * n
}

GitHubで編集を提案
株式会社ログラス テックブログ

Discussion