Android Interview Question Bank 🏦
Hey Android Devs 💚,
I am working as a full-time Android Developer for a long time now in a client-based IT company. And during my service, I am fortunate enough to appear in a few client interviews for MNCs & startups as well. My intent to write this blog is to share my past interview experiences & help you all out with your journey.
I habitually note down questions immediately after completing my interview round. I have listed down below some interview questions for senior developers and tried to include answers to most questions as well.
I have also attached the Codelab link to try coding examples & Quiz links for the MCQ round at the end of this blog. Also, I have added a publication link to learn jetpack Compose from scratch with example code as it’s a hot skill nowadays!
Java ☕️
- What is the diff between encapsulation & abstraction (practical example) — Check here
- HashMaps vs HashTables — Check here
- When to use array & ArrayList — Check here
- What is the volatile keyword — Check here
- What is the transient keyword — Check here
- What is a diff between a string buffer & string builder — Check here
- Why is string immutable — Check here
- Explain multithreading. How two threads pass messages internally — Handler
- class A -> extends class B, implements interface C. Both have the same method fun add() {}, Which one will be implemented in class A?
Try yourself - What is the difference between String test = new String(“X”) & String test = “X”. Explain String constant pool & String literal — Check here
Android
- When I am in my activity onResume() & get a phone call what will be the lifecycle of the fragment inside my activity — Try yourself
- Explain context & applicationContext, also a practical example — Check here
- what is the difference between ViewModel and AndroidViewModel — Check here
- what is the diff between MVP & MVVM — Check here
- Tell me any method of broadcast receiver except onReceive() — Check here
- How Broadcast receiver is used for the network (WIFI) changes — Check here
- Type of services in Android — Check here
- Is the Intent service run on background or main thread — Check here
- Explain FCM foreground & background notifications — Check here
- Design patterns in Android — Check here
- What do you think about NavHost in navigation? — Check here
- Explain database management using SQLite, Room & Realm — Check here
- What is a foreign key in Room DB? Why do we use it? — Check here
- What is doze mode, and when is it introduced? — Check here
- what is ADB, can you tell me any commands? — Cheatsheet
- what is linting in Android — Check here
- What is Rxjava, and how it works? — Check here
- What are SOLID principles? — Check here
- Have you worked with any other hardware systems? (i.e. I have worked with Clover POS system)
- What is KMM? — Check here
Kotlin
- What are the benefits of Kotlin over Java
- Explain the use of lateinit & lazy keywords
- In any class we have a member variable or function, so how can we make a getter setter of that variable?
- What is MVVM, and how does it work? what is the use of Live data?
- What is null safety in Kotlin?
- What is the diff between Var & Val
- What is Elvis operator?
- What is Flow API in Kotlin — Check here
- Explain coroutines in kotlin
- What are scoped functions in kotlin
- How can you declare a singleton class
- what is the diff between companion obj & object
- used extension functions? example
- what is the diff between static & singleton > Singleton has an instance/object while static class is a bunch of static methods.
- what is constant
- Explain @jvmstatic @jvmoverloads @jvmfiled
You can get most of the Kotlin answers here:
https://blog.mindorks.com/kotlin-android-interview-questions
Job Offers
Jetpack Compose 🚀
- What are the benefits of using Jetpack compose?
- What is a Composable function?
- What is a declarative approach?
- What jetpack compose libraries have you used?
- Explain compose UI basic components
Jetpack compose blogs with Github examples: Jetpack Composers
Testing 🐛
- In Unit testing, what is @Before & @Beforeclass annotation used for — Check here
- Why should we use a Mockito lib?
- Explain Unit & Instrumentation tests
Espresso Testing Library: Espresso UI Testing for Intents
Data Structure
- The time complexity of Hash Table — O(1)
- Best for getting the last item — Stack
- Time Complexity of Binary Search — O^n
- Which is best Sorting Algo — Quick Sort
- Best performance for finding minimum value — Array
Others
If you have 5+ years of experience, it’s recommended to prepare for this section.
- Explain one of your challenging/exciting/recent project
- VCS — Git — PR review process, CI/CD process
- Explain deep linking
- About NDK, c++
- What other languages do you know apart from Kotlin?
- Explain the architecture of the communication application, and what data security measures you take while developing.
- How do you keep up to date yourself with the latest development?
- Any contribution to the community? Git, StackOverflow
Kotlin Online Quiz ❔
https://kotlinquiz.com/
https://developer.android.com/s/results/?q=quiz
Codelabs
That’s a wrap for now! Many more to come 💥
I hope you find this blog helpful.
All the best! 👍
This article was originally published on proandroiddev.com on October 14, 2022