Collection of Android and Java related questions and topics to know
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 1 commit behind derekargueta:master.
Artem Smirnov
Artem Smirnov Fixes
Latest commit c736c9d May 8, 2018
Failed to load latest commit information.
LICENSE Initial commit Jan 1, 2015 Fixes May 7, 2018


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!


General Developer Questions

  • How familiar you are with the Android and Google Guidelines?
  • Describe Test-Driven Development. [info]
  • 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]
  • Describe the differences between abstract classes and interfaces. [info]
  • Explain what a Singleton class is and how to create one in Java [info]
  • Why should the equals() and hashCode() methods often be overridden together? [info]
  • How do you properly override the equals() method? For example, what considerations should be taken when checking for equality? [info]
  • 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]
  • Explain method overloading & overriding.
  • What is memory leak and how does Java handle it? [info]

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]

Build Tools

  • Have you used any Ant, Maven, Gradle features for your project?

Programming Paradigms

  • Explain event-driven programming in Java [info]
  • What is Java's Garbage Collection and how does it help you as a developer?
  • How can you typecast in Java? [info]
  • Explain Java's try-catch-finally paradigm [info]

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. [info]
  • What is the difference between Serializable and Parcelable? Which is the best approach in Android? [info]
  • What are "launch modes"? [info]
  • 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? [info]
  • What is a Sticky Intent? [info]
  • 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?

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? [info]

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]