P
prepair.app
Start interview →
EnglishУкраїнськаРусскийDeutsch
🟩

Junior Android (Kotlin)Android developer interview questions

Junior · no experience / under 1 year

Android interviews focus on Kotlin idioms, coroutines, and the platform lifecycle — most senior questions are really asking whether you understand that your process can be killed at any moment. Below are the questions asked most often, each with a model answer. Junior: core theory, definitions, and simple practical cases.

Try it — no account needed
Preparing your question…

Topics to prepare

Kotlin language features
Coroutines and Flow
Android lifecycle
Jetpack Compose
Architecture and DI
Room, Retrofit and testing

9 Junior-level questions with answers

1

What is the difference between `val` and `var`, and does `val` make something immutable?

Answer

val means the reference cannot be reassigned; var means it can. It does not make the object immutable — a val holding a MutableList can still have items added. For real immutability you need an immutable type, not just an immutable binding.

2

How does Kotlin's null safety work?

Answer

Types are non-null by default, and a nullable one is written String?. The compiler then forces you to handle the null case — with ?., ?: or a smart cast after a check. !! opts out and throws, which is why it should appear roughly never in code you own.

3

What is a data class and what does it give you?

Answer

A class whose purpose is to hold values. The compiler generates equals, hashCode, toString, copy and destructuring from the primary constructor properties. The catch is that only primary constructor properties are included, so a field declared in the body silently stays out of equals.

4

What is the difference between `==` and `===` in Kotlin?

Answer

== calls equals — structural comparison. === compares references — whether it is the same object. This is the reverse of Java, where == is the reference check, and it trips up people arriving from there.

5

What is the Activity lifecycle and which callbacks matter most?

Answer

onCreate once when it is built, onStart and onResume as it becomes visible and interactive, then onPause, onStop and onDestroy on the way out. The pairs matter: acquire in onStart, release in onStop. The frequent mistake is holding a resource across onStop, which keeps it alive while the app is in the background.

6

What happens to an Activity on rotation, and why is that a problem?

Answer

By default it is destroyed and recreated, so anything held in a field is gone and any in-flight work is orphaned. That is why state belongs in a ViewModel, which survives the recreation, and transient UI state in onSaveInstanceState. Rotation is just the visible case — the same thing happens on a locale change or a resize.

7

What is an Intent and what is the difference between explicit and implicit?

Answer

A message asking the system to start something. An explicit Intent names the exact component and is what you use inside your own app. An implicit one describes an action — share this, open this URL — and the system offers whatever can handle it, which may be nothing, so it needs a fallback.

8

What is an ANR and how do you avoid one?

Answer

Application Not Responding — the system kills the dialog-worthy case when the main thread is blocked for roughly five seconds on input, or a broadcast takes too long. It happens because someone did network, disk or database work on the main thread. The fix is structural: anything that can take time goes to a coroutine on Dispatchers.IO, and StrictMode in debug builds shouts at you before a user ever sees it.

9

What do you need to show a list in a `RecyclerView`?

Answer

A layout for one row, an adapter that creates and binds view holders, and a layout manager. The ViewHolder exists so that findViewById runs once per recycled row instead of once per bind, which is the whole reason the widget replaced ListView. DiffUtil then computes the minimal set of changes between old and new lists, so you get item animations and avoid notifyDataSetChanged redrawing everything.

🦎

Reading answers is not enough

In a real interview you speak under pressure. Cam asks these same questions, scores every answer, and shows exactly what to fix.

Practice a Junior Android (Kotlin) interview →
Free · 3 interviews per month

Other levels — Android (Kotlin)

Middle Android (Kotlin)Senior Android (Kotlin)All Android (Kotlin) questions

Other specializations

🔍Junior Manual QA🤖Junior QA AutomationJunior Java Backend🐍Junior Python Backend🐘Junior PHP Backend🦫Junior Go Backend🟢Junior Node.js Backend💎Junior Ruby on Rails🟣Junior .NET Backend Developer🔷Junior C++