FullStackFSCCafé
 
 
Sign in with GoogleSign in with Google. Opens in new tab
Kill Your Tech Interview
3877 Full-Stack, Algorithms & System Design Interview Questions
Answered To Get Your Next Six-Figure Job Offer
      
🤖 Having Machine Learning & DS Interview? Check  MLStack.Cafe - 1704 Data Science & ML Interview Questions & Answers!Having ML & DS Interview? Check 🤖 MLStack.Cafe - 1704 ML & DS Interview Questions and Answers

Top 113 Android Interview Questions

Entry Junior Mid Senior Expert
Sign in with GoogleSign in with Google. Opens in new tab
Topic Progress:

Theoretical Questions

Q1:   

What is a difference between Spannable and String?

  
Add to PDF   Entry 
Q2:   

What is an Activity?

  
Add to PDF   Entry 
Q3:   

Mention the difference between RelativeLayout and LinearLayout?

  
Add to PDF   Entry 
Q4:   

What is the difference between Bitmap and Drawable in Android?

  
Add to PDF   Entry 
Q5:   

What is Context on Android?

  
Add to PDF   Junior 
Q6:   

How to persist data in an Android app?

  
Add to PDF   Junior 
Q7:   

What is an AsyncTask?

  
Add to PDF   Junior 
Q8:   

Explain the build process in Android

  
Add to PDF   Junior 
Q9:   

What is ADB and what is it used for?

  
Add to PDF   Junior 
Q10:   

What’s the difference between onCreate() and onStart()?

  
Add to PDF   Junior 
Q11:   

What is the most appropriate way to store user settings in Android application?

  
Add to PDF   Junior 
Q12:   

In what situation should one use RecyclerView over ListView?

  
Add to PDF   Junior 
Q13:   

What is View Group? How are they different from Views?

  
Add to PDF   Junior 
Q14:   

Explain Android notification system

  
Add to PDF   Junior 
Q15:   

How can I get the context in a Fragment?

  
Add to PDF   Junior 
Q16:   

What types of Context do you know?

  
Add to PDF   Junior 
Q17:   

What is Armv7?

  
Add to PDF   Junior 
Q18:   

What is the Dalvik Virtual Machine?

  
Add to PDF   Junior 
Q19:   

How does the OutOfMemory happens?

  
Add to PDF   Junior 
Q20:   

What is an Intent in Android?

  
Add to PDF   Junior 
Q21:   

Tell about Constraint Layout

  
Add to PDF   Junior 
Q22:   

What is a ContentProvider and what is it typically used for?

  
Add to PDF   Junior 
Q23:   

Explain activity lifecycle

  
Add to PDF   Junior 
Q24:   

Why is it recommended to use only the default constructor to create a Fragment?

  
Add to PDF   Junior 
Q25:   

Explain briefly all the Android application components

  
Add to PDF   Junior 
Q26:   

How do I pass data between Activities in Android application?

  
Add to PDF   Junior 
Q27:   

Is it possible to implement the Model–View–Controller pattern in Java for Android?

  
Add to PDF   Junior 
Q28:   

What is Dalvik?

  
Add to PDF   Junior 
Q29:   

Explain key differences between Service and IntentService

  
 Add to PDF   Mid 
Q30:   

What is the difference between onCreate() and onCreateView() lifecycle methods in Fragment?

  
 Add to PDF   Mid 
Q31:   

What is a JobScheduler?

  
 Add to PDF   Mid 
Q32:   

When to use Fragments vs Activities?

  
 Add to PDF   Mid 
Q33:   

What are the differences between onCreate(), onCreateView(), and onActivityCreated() in Fragments and what would they each be used for?

  
 Add to PDF   Mid 
Q34:   

What is a LocalBroadcastManager?

  
 Add to PDF   Mid 
Q35:   

What is the difference between Service & Intent Service?

  
 Add to PDF   Mid 
Q36:   

What is the difference between Handler vs AsyncTask vs Thread?

  
 Add to PDF   Mid 
Q37:   

What is Handler and what is it used for?

  
 Add to PDF   Mid 
Q38:   

What are the differences between ArrayList and ArrayMap?

  
 Add to PDF   Mid 
Q39:   

What is the difference between AsyncTask and Thread/Runnable?

  
 Add to PDF   Mid 
Q40:   

What are Retained Fragments?

  
 Add to PDF   Mid 
Q41:   

What is the difference between Activity and Context?

  
 Add to PDF   Mid 
Q42:   

What is Android Data Binding?

  
 Add to PDF   Mid 
Q43:   

Explain how HashMap works

  
 Add to PDF   Mid 
Q44:   

What are the permission protection levels in Android?

  
 Add to PDF   Mid 
Q45:   

What is RenderScript and when should we (really) use it?

  
 Add to PDF   Mid 
Q46:   

What are dex files are used for?

  
 Add to PDF   Mid 
Q47:   

Describe different types of Services in Android

  
 Add to PDF   Mid 
Q48:   

What is the difference between ListView and RecyclerView?

  
 Add to PDF   Mid 
Q49:   

What is an Android PendingIntent?

  
 Add to PDF   Mid 
Q50:   

Android Log.v(), Log.d(), Log.i(), Log.w(), Log.e(). When to use each one?

  
 Add to PDF   Mid 
Q51:   

What is the actual differences between a Activity Context and Application Context?

  
 Add to PDF   Mid 
Q52:   

What is ART?

  
 Add to PDF   Mid 
Q53:   

How would you communicate between two Fragments?

  
 Add to PDF   Mid 
Q54:   

Explain String vs StringBuilder vs SpannedString vs SpannableString vs SpannableStringBuilder vs CharSequence?

  
 Add to PDF   Mid 
Q55:   

When to use Android's ArrayMap instead of a HashMap?

  
 Add to PDF   Mid 
Q56:   

How can two distinct Android apps interact?

  
 Add to PDF   Mid 
Q57:   

Why Fragments, and when to use Fragments instead of Activities?

  
 Add to PDF   Mid 
Q58:   

What is the difference between a Bundle and an Intent?

  
 Add to PDF   Mid 
Q59:   

What is Explicit Intent?

  
 Add to PDF   Mid 
Q60:   

What is Implicit Intent?

  
 Add to PDF   Mid 
Q61:   

What is the difference between Adapter and Loader in Android?

  
 Add to PDF   Mid 
Q62:   

What is Intent Filter?

  
 Add to PDF   Mid 
Q63:   

What is Parcelable in Android?

  
 Add to PDF   Mid 
Q64:   

What is the difference between compileSdkVersion and targetSdkVersion?

  
 Add to PDF   Mid 
Q65:   

What are Android Annotations and what are they used for?

  
 Add to PDF   Mid 
Q66:   

How to declare Global variables in Android?

  
 Add to PDF   Mid 
Q67:   

What is the Support Library? Why was it introduced?

  
 Add to PDF   Mid 
Q68:   

What does LayoutInflater in Android do?

  
 Add to PDF   Mid 
Q69:   

How could you pass data between activities without Intent?

  
 Add to PDF   Mid 
Q70:   

When to use Android Loaders?

  
 Add to PDF   Mid 
Q71:   

What is DDMS and what can you do with it?

  
 Add to PDF   Mid 
Q72:   

How would you support different screen sizes?

  
 Add to PDF   Mid 
Q73:   

What is the difference between invisible and gone for the View visibility status?

  
 Add to PDF   Mid 
Q74:   

Isn't Android's Bundle functionally equivalent with a Map?

  
 Add to PDF   Mid 
Q75:   

Can you manually call the Garbage collector?

  
 Add to PDF   Senior 
Q76:   

Why to consider FlatBuffers over JSON?

  
 Add to PDF   Senior 
Q77:   

What are some difference between Parcelable and Serializable?

  
 Add to PDF   Senior 
Q78:   

What is the difference between Android Timer and a Handler to do action every N seconds?

  
 Add to PDF   Senior 
Q79:   

Provide some tips to reduce battery usage in an android application

  
 Add to PDF   Senior 
Q80:   

What is a ThreadPool? And is it more effective than using several separate Threads?

  
 Add to PDF   Senior 
Q81:   

What is the difference between ArrayMap vs HashMap?

  
 Add to PDF   Senior 
Q82:   

Is a Dalvik virtual machine instance created for each application?

  
 Add to PDF   Senior 
Q83:   

What are best practices for storing and protecting private API keys in applications?

  
 Add to PDF   Senior 
Q84:   

Explain how ArrayMap works

  
 Add to PDF   Senior 
Q85:   

When to use SparseArray vs HashMap?

  
 Add to PDF   Senior 
Q86:   

What is AIDL?

  
 Add to PDF   Senior 
Q87:   

How do you handle Bitmaps in Android as it takes too much memory?

  
 Add to PDF   Senior 
Q88:   

What is the difference between getContext(), getApplicationContext(), getBaseContext(), and this?

  
 Add to PDF   Senior 
Q89:   

What are some differences between ART and Dalvik?

  
 Add to PDF   Senior 
Q90:   

What are Android Architecture Components?

  
 Add to PDF   Senior 
Q91:   

How to avoid reverse engineering of an APK file?

  
 Add to PDF   Senior 
Q92:   

When is it necessary, or better to use a SurfaceView instead of a View?

  
 Add to PDF   Senior 
Q93:   

What is a Sticky Broadcast?

  
 Add to PDF   Senior 
Q94:   

What is the difference between ANR and crash in Android?

  
 Add to PDF   Senior 
Q95:   

What is the Android NDK? How can one use it? Why should one use it?

  
 Add to PDF   Senior 
Q96:   

What is Doze? What about App Standby?

  
 Add to PDF   Senior 
Q97:   

What is Broadcast Receiver?

  
 Add to PDF   Senior 
Q98:   

What are some best practices to avoid memory leaks on Android?

  
 Add to PDF   Senior 
Q99:   

What is the StrictMode?

  
 Add to PDF   Senior 
Q100:   

Discuss Singletons vs. Application Context for app-global state

  
 Add to PDF   Senior 
Q101:   

When would you use AIDL?

  
 Add to PDF   Expert 
Q102:   

What is the difference between Local, Normal, Ordered and Sticky broadcasts?

  
 Add to PDF   Expert 
Q103:   

What is the relationship between Looper, Handler and MessageQueue in Android?

  
 Add to PDF   Expert 
Q104:   

What is Intent vs Sticky Intent vs Pending Intent?

  
 Add to PDF   Expert 
Q105:   

What happens if the user navigates away or closes the app while I still have a reference to the Activity the user just closed in my AsyncTask?

  
 Add to PDF   Expert 
Q106:   

Explain when would you call getApplicationContext() and why?

  
 Add to PDF   Expert 
Q107:   

Explain reasons why not to use getApplicationContext()?

  
 Add to PDF   Expert 
Q108:   

When to use AIDL vs Messenger Queue?

  
 Add to PDF   Expert 
Q109:   

What is the onTrimMemory method?

  
 Add to PDF   Expert 

Code Challenges

Q1:   

How would you preserve Activity state during a screen rotation?

  
  Add to PDF   Mid 
Q2:   

What is the best way to update the screen periodically?

  
  Add to PDF   Mid 
Q3:   

What is the ViewHolder pattern? Why should we use it?

  
  Add to PDF   Mid 
Q4:   

How can I use AsyncTask in different Activities?

  
  Add to PDF   Senior 
 

Rust has been Stack Overflow’s most loved language for four years in a row and emerged as a compelling language choice for both backend and system developers, offering a unique combination of memory safety, performance, concurrency without Data races...

Clean Architecture provides a clear and modular structure for building software systems, separating business rules from implementation details. It promotes maintainability by allowing for easier updates and changes to specific components without affe...

Azure Service Bus is a crucial component for Azure cloud developers as it provides reliable and scalable messaging capabilities. It enables decoupled communication between different components of a distributed system, promoting flexibility and resili...

Cosmos DB has gained popularity among developers and organizations across various industries, including finance, e-commerce, gaming, IoT, and more. Follow along and learn the 24 most common and advanced Azure Cosmos DB interview questions and answers...
More than any other NoSQL database, and dramatically more than any relational database, MongoDB's document-oriented data model makes it exceptionally easy to add or change fields, among other things. It unlocks Iteration on the project. Iteration f...
Unit Tests and Test Driven Development (TDD) help you really understand the design of the code you are working on. Instead of writing code to do something, you are starting by outlining all the conditions you are subjecting the code to and what outpu...
Domain-Driven Design is nothing magical but it is crucial to understand the importance of Ubiquitous Language, Domain Modeling, Context Mapping, extracting the Bounded Contexts correctly, designing efficient Aggregates and etc. before your next DDD p...
At its core, Microsoft Azure is a public cloud computing platform - with solutions including Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS) that can be used for services such as analytics, virtual c...
As an asynchronous event-driven JavaScript runtime, Node.js is designed to build scalable network applications. Follow along to refresh your knowledge and explore the 52 most frequently asked and advanced Node JS Interview Questions and Answers every...
Dependency Injection is most useful when you're aiming for code reuse, versatility and robustness to changes in your problem domain. DI is also useful for decoupling your system. DI also allows easier unit testing without having to hit a database and...