AI-assisted — how our quizzes are made
Null safety, type system, data classes, destructuring, ranges, string templates, and core language features.
20 questionsClasses, interfaces, inheritance, data classes, sealed classes, object declarations, companion objects, and visibility modifiers.
20 questionsCoroutine builders, scopes, contexts, dispatchers, suspend functions, channels, and structured concurrency.
Lambda expressions, higher-order functions, extension functions, function types, inline functions, and the standard library HOFs.
20 questionsList, Set, Map operations, sequences, lazy evaluation, collection transformations, and performance considerations.
20 questionsJetpack Compose, ViewModel, LiveData, Flow, Hilt, and Android-specific Kotlin patterns.
20 questionsKotlin with Spring Boot: beans, REST controllers, Spring WebFlux with coroutines, Kotlin DSLs, and Jackson/serialization.
20 questionsexpect/actual declarations, source sets, shared code, platform targets, and KMP project structure.
20 questionsWhat is the purpose of a companion object in Kotlin?
To create anonymous instances of a class
To hold members tied to the class rather than instances, similar to Java's static members
To implement the Singleton pattern automatically
To provide default constructor arguments
What is the difference between run and with in Kotlin?
run is an extension function; with is not — it takes the receiver as an argument
with returns the receiver; run returns the block result
run creates a new scope; with does not
They are identical
What does windowed(size, step) do?
Slides a fixed-size window over a collection, returning overlapping or non-overlapping sub-lists
Returns elements at every nth position
Groups elements into windows of exactly size elements
Limits collection to a sliding time window