1️⃣ Kotlin Fundamentals (Beginner Level)
👉 Used for fresher / junior interviews
- What is Kotlin?
- Kotlin vs Java
- Statically typed language
varvsvalconst val- Data types
- Type inference
funkeyword- Comments
- String templates
- Control flow (
if,when,for,while) - Ranges
- Packages & imports
📌 Interview focus: syntax, readability, Java comparison
2️⃣ Null Safety (Very High Priority 🔥)
👉 Asked in almost every Kotlin interview
- Nullable vs non-nullable types (
?) - Safe call operator (
?.) - Elvis operator (
?:) - Not-null assertion (
!!) - Safe casts (
as?) lateinitlazy- Smart casts
- NPE scenarios in Kotlin
📌 Interview focus: preventing NullPointerException
3️⃣ Functions & Functional Programming
👉 Core Kotlin strength
- Function declaration
- Default arguments
- Named arguments
- Single-expression functions
- Higher-order functions
- Lambda expressions
- Inline functions
noinline&crossinline- Function types
- Anonymous functions
- Recursion & tail recursion
📌 Interview focus: lambdas, inline, higher-order functions
4️⃣ Object-Oriented Programming in Kotlin
👉 Java developers are tested heavily here
- Classes & constructors
- Primary vs secondary constructor
open,final,abstract- Inheritance
- Interfaces
overridekeyword- Visibility modifiers
- Polymorphism
- Composition vs inheritance
📌 Interview focus: differences from Java OOP
5️⃣ Special Kotlin Classes
👉 Very frequently asked
data classsealed classenum classobject(Singleton)companion object- Value classes (
@JvmInline) - Inner vs nested classes
📌 Interview focus: data vs sealed vs enum
6️⃣ Collections & Generics
👉 Used in backend + Android interviews
- Immutable vs mutable collections
- List, Set, Map
- Collection operations (
map,filter,reduce) mapvsflatMapassociate- Sequences
- Generics
- Variance (
in,out) - Star projection (
*)
📌 Interview focus: immutability & performance
7️⃣ Extension Functions & Properties
👉 Kotlin-specific feature
- Extension functions
- Extension properties
- Static resolution
- Limitations
- Use cases
📌 Interview focus: how extensions work internally
8️⃣ Coroutines & Concurrency (Advanced 🔥🔥)
👉 Must for senior roles
- What are coroutines?
suspendfunctions- Coroutine builders (
launch,async) - Coroutine scopes
- Dispatchers
- Structured concurrency
withContextJob&Deferred- Exception handling
- Cancellation
- Flow vs Channel
📌 Interview focus: coroutines ≠ threads
9️⃣ Error Handling
👉 Frequently combined with coroutines
try-catch-finallythrow- Custom exceptions
- Checked vs unchecked (Java vs Kotlin)
runCatching- Exception handling in coroutines
🔟 Kotlin + Java Interoperability
👉 Critical for real-world projects
- Calling Java from Kotlin
- Calling Kotlin from Java
@JvmStatic@JvmField@JvmOverloads@JvmName- SAM conversions
- Platform types
📌 Interview focus: mixed codebases
1️⃣1️⃣ Kotlin Standard Library Internals
👉 Senior-level interviews
- Scope functions (
let,run,apply,also,with) - Inline functions
- Contracts
- Delegation (
by) - Property delegation
- Lazy initialization
📌 Interview focus: let vs apply vs also
1️⃣2️⃣ Android-Specific Kotlin (If Applicable)
👉 Android interviews
- ViewBinding / DataBinding
- ViewModel + Kotlin
- LiveData
- StateFlow vs LiveData
- Coroutines in Android
- Kotlin DSL
- Jetpack Compose basics
1️⃣3️⃣ Backend Kotlin (Spring / Ktor)
👉 Backend developer interviews
- Kotlin with Spring Boot
- Null safety in REST APIs
- Data classes in APIs
- Coroutines with Spring WebFlux
- Ktor basics
1️⃣4️⃣ Kotlin Performance & JVM Internals
👉 Architect / Staff-level
- JVM bytecode generation
- Inline vs non-inline
- Memory optimization
- Tail recursion
- Boxing & unboxing
- Kotlin vs Java performance
1️⃣5️⃣ Design Patterns in Kotlin
👉 System design rounds
- Singleton (
object) - Factory
- Builder
- Observer
- Strategy
- Functional patterns
🎯 How to Use This for Interview Questions
You can create:
- Beginner: Sections 1–4
- Intermediate: Sections 5–7
- Advanced: Sections 8–11
- Senior/Architect: Sections 12–15
Read other awesome articles in Medium.com or in akcoding’s posts.
OR
Join us on YouTube Channel
OR Scan the QR Code to Directly open the Channel 👉

