Language
Core Kotlin concepts, taught from a Go background — read top to bottom if you're newval/var, type inference, string templates, when, ranges, loops, functions, default and named args.
?., ?:, !!, safe casts, smart casts, lateinit vs lazy, platform types, nullable collections.
Higher-order functions, lambda syntax, trailing lambdas, extension functions, inline, operator overloading.
Constructors, data classes, sealed classes, enums, object and companion object, delegation with by.
Type parameters, variance with in/out, star projection, reified type parameters, type erasure.
List/Set/Map, read-only vs mutable interfaces, construction, iteration, destructuring, Array vs List.
suspend, launch/async, structured concurrency, scopes, dispatchers, cancellation, channels, Flow intro.
kotlin.test and JUnit 5, parameterized tests, MockK basics, runTest for coroutines.
Calling Java from Kotlin, platform types, @JvmStatic/@JvmOverloads, SAM conversions, checked exceptions.
Inline functions, value classes, boxing on the JVM, sequences vs collections, tailrec, const.
== vs ===, data class copy with var, mutable state behind read-only interfaces, non-local returns, and more.
Standard Library
The stdlib you'll reach for dailySearching, splitting, replacing, trimming, padding, buildString, raw strings, Regex.
map/flatMap, filter, fold/reduce/sum, groupBy/associate, sortedBy, zip/windowed/chunked.
Lazy evaluation, asSequence, generateSequence, intermediate vs terminal ops, when sequences win.
let, run, with, apply, also: receiver vs argument, return value, a decision table.
.., ..<, downTo, step, in checks, ranges over chars and comparables.
lazy, observable, vetoable, map-backed properties, writing a custom delegate.
File extensions: readText, readLines, useLines, writeText, buffered streams, Path API.
Exceptions in Kotlin, try as expression, require/check/error, Result and runCatching.
kotlin.time.Duration, measureTime, kotlinx-datetime, java.time interop.