Android Interview Questions and Answers

Snapshot 2026-08-04 12:19:51 UTC · version 1

published
M
MDRSS Source Library Github collector404 cards · 0.0/10 MDRSS

Hi, I am Amit Shekhar, Founder @ Outcome School • IIT 2010-14 • I have taught and mentored many developers, and their efforts landed them high-paying tech jobs, helped many tech companies in solving their unique problems, and created many open-source libraries being used by top companies. I am passionate about sharing knowledge through open-source, blogs, and videos.

MARKDOWN SNAPSHOT

Loading…

Direct .mdRaw + metadata0 commentsMDRSS 0.0/10
INDEXABLE MARKDOWN SNAPSHOT

Research document

Open canonical .md

Android Interview Questions and Answers

Android Interview Questions and Answers - Your Cheat Sheet For Android Interview

Prepared and maintained by the Founder of Outcome School: Amit Shekhar

About me

Hi, I am Amit Shekhar, Founder @ Outcome School • IIT 2010-14 • I have taught and mentored many developers, and their efforts landed them high-paying tech jobs, helped many tech companies in solving their unique problems, and created many open-source libraries being used by top companies. I am passionate about sharing knowledge through open-source, blogs, and videos.

You can connect with me on:

Live session on "Android Developer Interview Preparation for Product-based Companies"

I conducted a live session on "Android Developer Interview Preparation for Product-based Companies"

Interacted with over 500 Android Developers.

Guided, motivated, and inspired them to aim higher and achieve more.

Recording Link: https://www.youtube.com/watch?v=Yby0AA7ZSUE

Document Link: https://docs.google.com/document/d/14UdD7Gd1j3no583ALx2t2Ggt3G_CECYhenLE-m-bkzA/edit?usp=sharing

Contents - Android Interview Questions



I teach at Outcome School

Join Outcome School and get a high-paying tech job: Outcome School

Fast-Track Android Interview Preparation: Join Outcome School Android Program

Android Interview Questions and Answers Playlist

Watch this video on "Android Developer Interview Preparation for Product-Based Companies": Android Developer Interview Preparation for Product-Based Companies

Fast-Track Android Interview Preparation: Join Outcome School Android Program

Kotlin Coroutines

Topics you should know in Kotlin Coroutines for Android Interview:

  • coroutines
  • suspend
  • launch, async-await, withContext
  • dispatchers
  • scope, context, job
  • lifecycleScope, viewModelScope, GlobalScope
  • suspendCoroutine, suspendCancellableCoroutine
  • coroutineScope, supervisorScope
  • runBlocking
  • Exception Handling

Learn the above-mentioned from the following links:

Kotlin Flow API

Topics you should know in Kotlin Flow API for Android Interview:

  • Flow Builder, Operator, Collector
  • flowOn, dispatchers
  • Operators such as filter, map, zip, flatMapConcat, retry, debounce, distinctUntilChanged, flatMapLatest
  • Terminal operators
  • Cold Flow vs Hot Flow
  • StateFlow, SharedFlow, callbackFlow, channelFlow

Learn the above-mentioned from the following links:

Kotlin

Android Interview Questions and Answers:

Fast-Track Android Interview Preparation: Join Outcome School Android Program

Android

Android Interview Questions and Answers:

Base

Activity and Fragment

  • Why is it recommended to use only the default constructor to create a Fragment? - Learn from video and blog

  • What is Activity and its lifecycle? - Learn from here

  • What is the difference between onCreate() and onStart() - Learn from here

  • When only onDestroy is called for an activity without onPause() and onStop()? - Learn from here

  • Why do we need to call setContentView() in onCreate() of Activity class? - Learn from here

  • What is onSaveInstanceState() and onRestoreInstanceState() in activity? - Learn from here

  • What is Fragment and its lifecycle? - Learn from here

  • What is Bundle in Android? - Learn from here

  • What are "launchMode"? - Learn from here and singleTask launchMode in Android

  • What is the difference between a Fragment and an Activity? Explain the relationship between the two. - Learn from here

  • When should you use a Fragment rather than an Activity?

    • When you have some UI components to be used across various activities
    • When multiple views can be displayed side by side just like ViewPager
  • What is the difference between FragmentPagerAdapter vs FragmentStatePagerAdapter?

    • FragmentPagerAdapter: Each fragment visited by the user will be stored in the memory but the view will be destroyed. When the page is revisited, then the view will be created not the instance of the fragment.
    • FragmentStatePagerAdapter: Here, the fragment instance will be destroyed when it is not visible to the user, except the saved state of the fragment.
  • What is the difference between adding/replacing fragment in backstack? - Learn from here

  • How would you communicate between two Fragments?

  • What is retained Fragment? - Learn from here

  • What is the purpose of addToBackStack() while commiting fragment transaction?

    • By calling addToBackStack(), the replace transaction is saved to the back stack so the user can reverse the transaction and bring back the previous fragment by pressing the Back button. For more Learn from here

Views and ViewGroups

  • Optimizing layouts in Android - Learn from here

  • What is View in Android?

  • Difference between View.GONE and View.INVISIBLE? - Learn from here

  • Can you a create custom view? How?

  • What are ViewGroups and how they are different from the Views?

    • View: View objects are the basic building blocks of User Interface(UI) elements in Android. View is a simple rectangle box which responds to the user’s actions. Examples are EditText, Button, CheckBox etc. View refers to the android.view.View class, which is the base class of all UI classes.
    • ViewGroup: ViewGroup is the invisible container. It holds View and ViewGroup. For example, LinearLayout is the ViewGroup that contains Button(View), and other Layouts also. ViewGroup is the base class for Layouts.
  • What is a Canvas? - Learn from here

  • What is a SurfaceView? - Learn from here

  • Relative Layout vs Linear Layout.

  • Tell about Constraint Layout optimization - Learn from here

  • Do you know what is the view tree? How can you optimize its depth? - Learn from here

Displaying Lists of Content

  • What is the difference between ListView and RecyclerView? - Learn from here

  • How does the RecyclerView work? - Learn from here

  • RecyclerView Optimization - Scrolling Performance Improvement - Learn from here

  • Optimizing Nested RecyclerView - Learn from here

  • How does RecyclerView improve performance over ListView?

  • What are the components of a RecyclerView?

  • Explain the role of RecyclerView.Adapter and RecyclerView.ViewHolder - Learn from here

  • What is a LayoutManager in RecyclerView?

  • How do you handle multiple view types in a single RecyclerView?

  • What is DiffUtil and how does it improve RecyclerView performance? - Learn from here

  • What is the purpose of RecyclerView.setHasFixedSize(true)? - Learn from here

  • How do you update a specific item in RecyclerView?

  • What is SnapHelper? - Learn from here: SnapHelper

Dialogs and Toasts

Intents and Broadcasting

  • What is Intent? - Learn from here

  • What is an Implicit Intent? - Learn from here

  • What is an Explicit Intent? - Learn from here

  • What is a BroadcastReceiver? - Learn from here

  • Describe how broadcasts and intents work to be able to pass messages around your app? - Learn from here

  • What is a PendingIntent?

    • If you want someone to perform any Intent operation at future point of time on behalf of you, then we will use Pending Intent.
  • What are the different types of Broadcasts? - Learn from here

Services

Inter-process Communication

  • How can two distinct Android apps interact? - Learn from here

  • Is it possible to run an Android app in multiple processes? How? - Learn from here

  • What is AIDL? Enumerate the steps in creating a bounded service through AIDL. - Learn from here

  • What can you use for background processing in Android? - Learn from here

  • What is a ContentProvider and what is it typically used for? - Learn from here

Long-running Operations

Working With Multimedia Content

Data Saving

  • Jetpack DataStore Preferences - Learn from here

  • Persisting Data in an Android App - Learn from here

  • What is ORM? How does it work?

  • How would you preserve the Activity state during a screen rotation? - Learn from here

  • What are different ways to store data in your Android app? - Learn from here

  • Explain Scoped Storage in Android.

  • How to encrypt data in Android?

  • What is commit() and apply() in SharedPreferences?

    • commit() returns a boolean value of success or failure immediately by writing data synchronously.
    • apply() is asynchronous and it won't return any boolean response. If you have an apply() outstanding and you are performing commit(), then the commit() will be blocked until the apply() is not completed.

Look and Feel

  • What is a Spannable?

  • What is a SpannableString?

    • A SpannableString has immutable text, but its span information is mutable. Use a SpannableString when your text doesn't need to be changed but the styling does. Spans are ranges over the text that include styling information like color, highlighting, italics, links, etc
  • What are the best practices for using text in Android?

  • How to implement Dark mode in any application?

Fast-Track Android Interview Preparation: Join Outcome School Android Program

Memory Optimizations

  • Improve Android App Performance - Learn from here

  • What is the onTrimMemory() method? - Learn from here

  • How to identify and fix OutOfMemory issues?

  • How do you find memory leaks in Android applications?

Battery Life Optimizations

Supporting Different Screen Sizes

Permissions

  • What are the different protection levels in permission?

Native Programming

Android System Internal

Android Jetpack

Others

Android Libraries

Android Interview Questions and Answers:

Fast-Track Android Interview Preparation: Join Outcome School Android Program

Android Architecture

Android Interview Questions and Answers:

Design Pattern

Android Interview Questions and Answers

Android System Design

Android Interview Questions and Answers:

Refer to this blog: Android System Design Interviews

Fast-Track Android Interview Preparation: Join Outcome School Android Program

Android Unit Testing

Android Interview Questions and Answers:

Android Tools And Technologies

Android Interview Questions and Answers:

Jetpack Compose

Topics you should know in Jetpack Compose for Android Interview:

  • Compose
  • State: remember, rememberSaveable, MutableState
  • Recomposition
  • State hoisting
  • Side-effects
  • Modifier
  • Theme
  • Layout, List
  • Gestures, Animation
  • CompositionLocal
  • Phases

Learn the above-mentioned from the following links:

This HTML preview is truncated for page performance. The canonical Markdown file contains the complete snapshot.

MARKDOWN METRICS
6126words
63headings
407links
3code blocks
MDRSS ASSESSMENT
Evidence0/100medium confidence
Why MDRSS assigned this score
  • Imported from the supplied mdrss-final-2026-08-04 content base.
  • Source URL is recorded as provenance.
  • Agent usefulness score: 65/100.
Evidence (1)

Discussion 0

Sign in to join the discussion.