Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/derekargueta/android-interview-questions

Collection of Android and Java related questions and topics to know
https://github.com/derekargueta/android-interview-questions

android android-interview android-interview-practice android-interview-questions interview interview-questions java topic

Last synced: about 2 hours ago
JSON representation

Collection of Android and Java related questions and topics to know

Awesome Lists containing this project

README

        

Android-Interview-Questions
===========================
### Collaboration Rules

Make sure your question is new and unique - not just rephrasing a previously existing question. If possible, include a link to the solution/topic. Questions should be fairly straightforward and completely technical (no "how many golf balls are in America" questions.) If there is a new topic that you think should be included, then include it!

Topics:
* General Developer Questions
* Core Java
* Core Android
* Android Design and XML
* Android Networking
* Databases

## General Developer Questions
* How familiar you are with the Android and Google Guidelines?
* Describe Test-Driven Development. [[info]](http://en.wikipedia.org/wiki/Test-driven\_development)
* Explain unit tests versus functional tests.
* Describe Scrum and Kanban.
* What project management tools have you used?
* How do you ensure that you are working efficiently?
* Do you have basic familiarity with working on the command line i.e. Gradle, Ant, or the Java Compiler?

## Core Java
#### Object-Oriented Programming
* What are the main 3 Object Oriented Programing (OOP) concepts?
* Explain object serialization and how to implement it in Java.
* Explain anonymous classes. [[info]](http://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html)
* Describe the differences between abstract classes and interfaces. [[info]](http://www.javaworld.com/article/2077421/learn-java/abstract-classes-vs-interfaces.html)
* Explain what a Singleton class is and how to create one in Java [[info]](http://www.javaworld.com/article/2073352/core-java/simply-singleton.html)
* Why should the equals() and hashCode() methods often be overridden together? [[info]](http://stackoverflow.com/questions/2265503/why-do-i-need-to-override-the-equals-and-hashcode-methods-in-java/2265637#2265637)
* How do you properly override the equals() method? For example, what considerations should be taken when checking for equality? [[info]](http://www.geeksforgeeks.org/overriding-equals-method-in-java/)
* Difference between final, finally and finalize?
* In Java, does the finally block gets executed if we insert a return statement inside the try block of a try-catch-finally? [[info]](https://stackoverflow.com/a/65049/497132)
* Explain method overloading & overriding.
* What is memory leak and how does Java handle it? [[info]](https://stackify.com/memory-leaks-java/)

#### Data Structures
* What are the use cases and differences of arrays and ArrayLists?
* What are the use cases and differences of a HashSet and a TreeSet? [[info]](https://stackoverflow.com/a/4464394/497132)

#### Build Tools
* Have you used any Ant, Maven, Gradle features for your project?

#### Programming Paradigms
* Explain event-driven programming in Java [[info]](http://en.wikibooks.org/wiki/Java\_Programming/Event\_Handling)
* What is Java's Garbage Collection and how does it help you as a developer?
* How can you typecast in Java? [[info]](http://www.studytonight.com/java/type-casting-in-java)
* Explain Java's try-catch-finally paradigm [[info]](http://www.studytonight.com/java/try-and-catch-block.php)

## Core Android
* How does the Android notification system work?
* How can two distinct Android apps interact? (several answers)
* Describe Activities. [[info]](http://developer.android.com/reference/android/app/Activity.html)
* What are the four states of the Activity Lifecycle? [[active/running, paused, stopped, destroyed]](https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle)
* 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()]](https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle)
* What is the difference between a fragment and an activity? Explain the relationship between the two. [[info]](https://stackoverflow.com/a/45252253/497132)
* What is the difference between Serializable and Parcelable? Which is the best approach in Android? [[info]](https://stackoverflow.com/a/50114007/497132)
* What are "launch modes"? [[info]](https://android.jlelse.eu/android-activity-launch-mode-e0df1aa72242)
* What are Intents? [[info]](http://developer.android.com/guide/components/intents-filters.html)
* What is an Implicit Intent? [[info]](https://developer.android.com/guide/components/intents-filters.html#ExampleSend)
* What is an Explicit Intent? [[info]](https://developer.android.com/guide/components/intents-filters.html#ExampleExplicit)
* Describe three common use cases for using an Intent.
* What is a Service? [[info]](http://developer.android.com/guide/components/services.html)
* What is a ContentProvider and what is it typically used for? [[info]](http://developer.android.com/guide/topics/providers/content-providers.html)
* What is a Fragment? [[info]](http://developer.android.com/guide/components/fragments.html)
* 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]](http://developer.android.com/guide/topics/manifest/manifest-intro.html)
* Describe how broadcasts and intents work to be able to pass messages around your app.[[info]](http://www.techotopia.com/index.php/Android\_Broadcast\_Intents\_and\_Broadcast\_Receivers)
* What is the Dalvik Virtual Machine?
* What are different ways to store data in your Android app? [[info]](https://developer.android.com/guide/topics/data/data-storage.html)
* Android appplication components [[info]](http://www.tutorialspoint.com/android/android\_application\_components.htm)
* 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?[[info]](https://li2.gitbooks.io/android-programming-journey/content/Background_Tasks/what-is-the-relationship-between-the-life-cycle-of-an-asynctask-and-an-activity.html)
* What is the difference between Service and IntentService? How is each used? [[info]](https://stackoverflow.com/a/15772151/497132)
* What is a Sticky Intent? [[info]](https://stackoverflow.com/a/26038985/497132)
* What is AIDL? [[info]](https://developer.android.com/guide/components/aidl.html)
* What is dependency injection?
* What are the different protection levels in permission? [[info]](https://developer.android.com/guide/topics/manifest/permission-element.html)
* How would you preserve Activity state during a screen rotation?

## 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]](http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList)
* 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]](https://developer.android.com/training/material/get-started.html)
* Difference between View.GONE and View.INVISIBLE? [[info]](https://stackoverflow.com/a/11556629/497132)

## 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]](http://www.restapitutorial.com/lessons/httpmethods.html)

## 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]](https://stackoverflow.com/a/36265603/497132)
* How do you use the BaseColumns interface to describe your data schema? [[info]](https://stackoverflow.com/a/7900591/497132)