Android Interview Questions Collections — P1

Today I will share the basic knowledge that employers refer to using interviews (The answers and new question will be updated constantly and hope to get your contributions in the comment section):

Core Android

  • How does the Android notification system work?
  • How can two distinct Android apps interact? (several answers)
  • Describe Activities. [info]
  • What are the four states of the Activity Lifecycle? [active/running, paused, stopped, destroyed]
  • What are the seven callback methods of an Activity used to perform operations when the Activity transitions between states? [onCreate(), onStart(), onResume(), onPause(), onStop(), onRestart(), onDestroy()]
  • What is the difference between a fragment and an activity? Explain the relationship between the two.
  • What is the difference between Serializable and Parcelable? Which is the best approach in Android?
  • What are “launch modes”?
  • What are Intents? [info]
  • What is an Implicit Intent? [info]
  • What is an Explicit Intent? [info]
  • Describe three common use cases for using an Intent.
  • What is a Service? [info]
  • What is a ContentProvider and what is it typically used for? [info]
  • What is a Fragment? [info]
  • What is ADB?
  • What is ANR?
  • What is AndroidManifest.xml used for? Give examples of what kind of data you would add to it. [info]
  • Describe how broadcasts and intents work to be able to pass messages around your app.[info]
  • What is the Dalvik Virtual Machine?
  • What are different ways to store data in your Android app? [info]
  • Android appplication components [info]
  • What is the relationship between the life cycle of an AsyncTask and an Activity? What problems can this result in? How can these problems be avoided?
  • What is the difference between Service and IntentService? How is each used?
  • What is a Sticky Intent?
  • What is AIDL? [info]
  • What is dependency injection?
  • What are the different protection levels in permission? [info]
  • How would you preserve Activity state during a screen rotation?
  • Relative Layout vs Linear Layout.
  • How to implement XML namespaces?
  • Difference between View.GONE and View.INVISIBLE?
  • What is the difference between a regular bitmap and a nine-patch image?
  • Tell about the bitmap pool. Mindorks
  • How to avoid memory leaks in Android? Mindorks
  • What are widgets on Home-Screen in Android?
  • What is AAPT?
  • How do you find memory leaks in Android applications? Mindorks
  • How do you troubleshoot a crashing application?
  • Why should you avoid to run non-ui code on the main thread?
  • How did you support different types of resolutions?
  • What is Doze? What about App Standby?
  • What can you use for background processing in Android?
  • What is ORM? How does it work?
  • What is a Loader?
  • What is the NDK and why is it useful?
  • What is the StrictMode?
  • What is Lint? What is it used for?
  • What is a SurfaceView?
  • What is the difference between ListView and RecyclerView?
  • What is the ViewHolder pattern? Why should we use it?
  • What is a PendingIntent?
  • Can you manually call the Garbage collector?
  • What is the best way to update the screen periodically?
  • What are the different types of Broadcasts?
  • Have you developed widgets? Describe. Mindorks
  • What is Context? How is it used? Medium
  • Do you know what is the view tree? How can you optimize its depth?
  • What is the onTrimMemory method?
  • Is it possible to run an Android app in multiple processes? How?
  • How does the OutOfMemory happens?
  • What is a spannable?
  • What is overdraw? Developer Android
  • What is renderscript? Mindorks
  • What are the differences between Dalvik and ART?
  • FlatBuffers vs JSON. Mindorks
  • What are Annotations? Mindorks, Link
  • Tell about Constraint Layout Mindorks
  • HashMap, ArrayMap and SparseArray Mindorks
  • Explain Looper, Handler and HandlerThread. Mindorks
  • How to reduce battery usage in an android application? Mindorks
  • What is SnapHelper? Mindorks
  • How to handle multi-touch in android GitHub
  • What is the difference between a regular .png and a nine-patch image?

Android Design and XML

  • Explain the differences and similarities of Relative Layout and Linear Layout.
  • Explain the differences and similarities of List Views and Grid Views.
  • Describe how to implement XML namespaces.
  • Explain how to present different styles/drawables for a button depending on the state of the button (pressed, selected, etc.) using XML (no Java) [info]
  • for layout_width and layout_height, what’s the difference between match_parent and wrap_content?
  • How do you implement Google’s new Material Design in an Android application? [info]
  • Difference between View.GONE and View.INVISIBLE?

Android Networking


  • Why does Android use SQLite?
  • What libraries have you used for interacting with databases and why did you choose them?
  • What are contract classes? [info]
  • How do you use the BaseColumns interface to describe your data schema? [info]

Android Test Driven Development

I hope it is a source for you to reinforce your knowledge before the interview. Looking forward to your further contributions and questions. Thank you!

Reference :
 — Mindorks blog
 — Github

Originally published at Code for fun.