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
andView.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
andRecyclerView
? - 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
andSparseArray
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
- Have you use an HTTP Library, which, why, did you like it?
- Describe how REST APIs work.
- What are some typical methods of HTTP request/responses? [GET, POST, PUT, PATCH, DELETE, UPDATE]
Databases
- 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
- What is Espresso? Developer Android
- What is Robolectric? Robolectric
- What is UI-Automator? Developer Android
- Explain unit test.
- Explain instrumented test.
- Have you done unit testing or automatic testing?
- Why Mockito is used? Official site
- Describe JUnit test.
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.