# Kotlin Language Essentials for Android (Android) > var vs val, null safety, data classes, when expressions, extension functions, scope functions and fundamental Kotlin concepts - 24 interview questions - Junior - [Interview Questions: Android](https://sharpskill.dev/en/technologies/android/interview-questions.md) ## 1. What is the difference between 'var' and 'val' in Kotlin? **Answer** 'var' declares a mutable (modifiable) variable, while 'val' declares an immutable (read-only) variable. It's recommended to use 'val' by default to promote immutability and avoid bugs. ## 2. What does the '?' operator after a type mean in Kotlin? **Answer** The '?' operator indicates that the variable can contain null. For example, 'String?' means the variable can be a String or null. This is the basis of Kotlin's null safety system. ## 3. What does the '!!' operator do in Kotlin? **Answer** The '!!' operator (not-null assertion) forces the compiler to treat a nullable value as non-null. If the value is null, a NullPointerException is thrown. Only use when you're certain the value is not null. ## 21 more questions available - What is the Elvis operator '?:' used for in Kotlin? - What is a data class in Kotlin? Sign up for free: https://sharpskill.dev/en/login ## Other Android interview topics - [Android Fundamentals](https://sharpskill.dev/en/technologies/android/interview-questions/android-fundamentals.md): 24 questions, Junior - [Android UI and Resources](https://sharpskill.dev/en/technologies/android/interview-questions/android-ui-and-resources.md): 30 questions, Junior - [Android Lifecycle](https://sharpskill.dev/en/technologies/android/interview-questions/android-lifecycle.md): 30 questions, Junior - [Android Navigation](https://sharpskill.dev/en/technologies/android/interview-questions/android-navigation.md): 26 questions, Junior - [Android Data Management](https://sharpskill.dev/en/technologies/android/interview-questions/android-data-management.md): 29 questions, Junior - [Android Networking](https://sharpskill.dev/en/technologies/android/interview-questions/android-networking.md): 29 questions, Junior - [Android Testing](https://sharpskill.dev/en/technologies/android/interview-questions/android-testing.md): 28 questions, Junior - [Android Gradle](https://sharpskill.dev/en/technologies/android/interview-questions/android-gradle.md): 26 questions, Junior - [Room Database](https://sharpskill.dev/en/technologies/android/interview-questions/android-room-database.md): 25 questions, Mid-Level - [Background Work](https://sharpskill.dev/en/technologies/android/interview-questions/android-background-work.md): 18 questions, Mid-Level - [Jetpack Compose](https://sharpskill.dev/en/technologies/android/interview-questions/android-compose.md): 28 questions, Mid-Level - [Permissions and Device Features](https://sharpskill.dev/en/technologies/android/interview-questions/android-permissions-and-device.md): 21 questions, Mid-Level - [Firebase for Android](https://sharpskill.dev/en/technologies/android/interview-questions/android-firebase.md): 23 questions, Mid-Level - [Android MVVM Architecture](https://sharpskill.dev/en/technologies/android/interview-questions/android-mvvm-architecture.md): 18 questions, Mid-Level - [Advanced Android Networking](https://sharpskill.dev/en/technologies/android/interview-questions/android-networking-advanced.md): 13 questions, Mid-Level - [Kotlin Collections and Operators](https://sharpskill.dev/en/technologies/android/interview-questions/android-kotlin-collections-operators.md): 20 questions, Mid-Level - [Kotlin Coroutines and Flow](https://sharpskill.dev/en/technologies/android/interview-questions/android-kotlin-coroutines-flow.md): 20 questions, Mid-Level - [Android Dependency Injection](https://sharpskill.dev/en/technologies/android/interview-questions/android-dependency-injection.md): 15 questions, Mid-Level - [Android MVI Architecture](https://sharpskill.dev/en/technologies/android/interview-questions/android-mvi-architecture.md): 17 questions, Mid-Level - [Android Clean Architecture](https://sharpskill.dev/en/technologies/android/interview-questions/android-clean-architecture.md): 21 questions, Senior - [Android Compose Advanced](https://sharpskill.dev/en/technologies/android/interview-questions/android-compose-advanced.md): 17 questions, Senior - [Android Performance and Monitoring](https://sharpskill.dev/en/technologies/android/interview-questions/android-performance-monitoring.md): 13 questions, Senior - [Android Security and Privacy](https://sharpskill.dev/en/technologies/android/interview-questions/android-security-privacy.md): 18 questions, Senior - [Android CI/CD and Release](https://sharpskill.dev/en/technologies/android/interview-questions/android-cicd-release.md): 15 questions, Senior - [Android UX and Form Factors](https://sharpskill.dev/en/technologies/android/interview-questions/android-ux-form-factors.md): 18 questions, Senior - [Android Testing Advanced](https://sharpskill.dev/en/technologies/android/interview-questions/android-testing-advanced.md): 18 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/en/technologies/android/interview-questions/android-kotlin-language-essentials