Android Interview Questions: 2020
For the longest time, I have made it a habit to attend quite a lot of interviews. One of the reasons being I was terrified of appearing for interviews at one point in time and I started to give interviews just to practice and get over the fear. The more interviews I gave the better I performed.
In this article, will be listing the most common interview questions I was asked recently in a couple of interviews by some big companies involving Android, Java and Kotlin. I will be adding more questions as and when I come across.
- What is a Manifest File and what it’s uses?
- Describe the Activity and Fragment lifecycle.
- What are Android Permissions? Can you use permissions without asking the user?
- What is a Service?
- On which default process does the app run?
- How do you communicate between components in two different processes?
- Which thread does a service run on what how to avoid ANRs involving the same?
- What are receivers and types?
- What is an ANR? What is the minimum threshold time for an ANR to occur.
- What happens during configuration changes?
- What are equals and hashcode methods and how are they related?
- What are the different methods of data persistence in Android?
- What is the difference between MVP and MVVM?
- What is Dependency Injection and how is Dagger used for DI?
- What thread is UI updated in Android?
- What is a Render Thread?
- What is ART and why do you need it?
- What is progaurd and what is its use?
- Why do you need to shrink the apk?
- What is the acronym of ‘apk’?
- How does Gradle build work?
- What happens when you click on the launch icon of an app?
- What are some latest updates with Android 10 or 11?
- What is an Intent? Describe types of intents.
- What happens when there is no external app capable of opening an Intent?
- What is a PendingIntent?
- What is a memory leak and how to avoid them?
- Benefits of using a Constraint Layout?
- List the differences between proguard and R8.
- What is a singleton and what are their effects while using multi-threading?
- What are the key features of Kotlin programming language?
- What is the difference between object and class?
- What is a data class?
- What are the underlying overridden functions in a data class?
- What is a sealed class and why is it used?
- What is the difference between var and val?
- What is the difference between lazy and lateinit?
- What are coroutines?
- List and describe the visibility modifiers.
- What are extension functions and which SOLID principle do they use?
- What are companion objects and what is their Java equivalent?
- How to ensure nullability in Kotlin?
- What is init block in Kotlin?
- List the different types of functions.
- What is the difference between inline and infix functions?
Please leave a comment if you have something to add.