Android developer skills and interview questions

Udgivet: Sidst opdateret:
Android: software engineer interview questions

Android developer skills are in great demand, and this demand is expected to grow even further as Android is the dominant mobile operating system today, running on countless models of smartphones and tablets, as well as many other devices. As a result, a recruitment campaign for Android Developer is pretty hard. It has to be quick and accurate if you want to hire the best ones. Otherwise, your competitors will steal you candidate. Screening usually takes the most time so let’s find out how to do it in a fast and effective way.

1. What is Android?

Android is the world’s most popular operating system dedicated mainly to mobile devices. The source code is developed by Google under the Android Open Source Project (AOSP). Subsequent versions are usually released annually and are announced at Google I/O conferences.

Its characteristic feature is that apart from phones, it can be installed on tablets and a number of other embedded devices, e.g. TVs (Android TV), displays in cars (Android Auto) or watches (Android Wear).

The main advantages of the Android system are the following:

  • open source code (https://source.android.com/)
  • the platform is developed by Google. Every half a year, the system provides the users and programmers with something new. Google is very particular about developing the entire ecosystem, it develops a number of libraries, tools (IDEs based on IntelliJ), organizes a lot of conferences, workshops, screencasts, etc.
  • consistent design, especially since the concept of Material Design was introduced. The constant struggle to maintain a consistent look of applications in Android, so that when switching between apps, users do not get lost as to how to use a particular app.

2. Android developer skills list

What is important for an IT Recruiter to know about Android? There are certain things that an IT recruiter should be aware of as far as Android is concerned:

  • Architecture of the Android platform: how many processes are launched during app startup, how many threads are started, in what ways does the application communicate with the system and other applications (e.g. as in the following scenario: picking a contact, sharing a picture), what is a main thread and how does it work in Android
  • Basic components of the platform: Activity, Fragment, Service, Intent, BroadcastReceiver, ContentProvider.
  • Standard and most popular libraries supporting the creation of applications. These are some examples of libraries: Android Support Library, Google Play Services, Retrofit, OkHTTP, rxJava, EventBus, Dagger
  • Design patterns which enable writing applications in a way which allows easy maintenance, extension and testing. Latest trends: MVP, MVVM, Clean architecture
  • Rules concerning the creation of efficient views, ability to create reusable custom views
  • Ability to deal with the market fragmentation and the multitude of various devices from different producers with various system versions. Mechanisms that the platform offers to ensure smooth operation of the application on devices with screens of different sizes/densities, various language versions, various versions of the system itself
  • [On a lighter note] Each Android version features a digit and a letter (from with C up to N). Google always tries to come up with a name of pastry or something sweet beginning with a particular letter and this is how it calls subsequent Android versions: Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Icecream Sandwich, Jellybean, KitKat, Lollipop, Marshmallow, Nougat). A candidate should be able to enumerate these names if s/he is interested in the life of the platform and its development 🙂

3. How to verify Android developer skills in the screening phase?

Screening is hard when you are not an Android developer yourself. It is even harder when the technology itself is developing all the time and requires you to be up to date. So, let’s move on to a few practical recruiting tips on how to verify Android developer skills.

3.1. Technical screening of Android skills based on CV

A candidate’s CV can tell us a lot of useful information, but you need to know how to pick what is most important. As an IT recruiter look for the following valuable information in a developer’s resume:

  • A number of applications released on Google Play. If they are still available, it should be checked what they look like, how they work and how many downloads it has in Google Play
  • How large was the developer’s team and what was their role in the project? Was the project that they were working on also created for other platforms (iOS? Windows Phone?)

If you cannot figure that out from the CV itself, it is worth asking these questions during a telephone or video interview.

As a Technical Recruiter looking for an Android Developer, you should be familiar with all terminology used by candidates. That’s why we developed this Android glossary for IT recruiters so that you speak the same language as your candidate in the screening process.

Android technology – basic glossary of Android terms for IT recruiters

Android basic components Activity, Fragment, Intent, Service, BroadcastReceiver, ContentProvider
Testing tools Espresso, Mockito, Robolectric
Basic UI components (mostly from Material Design) Toolbar, ViewPager, RecyclerView, CardView, Floating Action Button, Navigation Drawer, BottomBar, CoordinatorLayout
Byg værktøjer Gradle (Eclipse and ADT are legacies)
Most popular libraries Support library, Google Play Services, Retrofit, EventBus, rxJava, rxAndroid, OkHttp, Dagger


More information on the Android technology which is useful from the perspective of an IT recruiter

In the world of Android, there are some key system releases which are revolutionary in a way or introduce something new. For further information go to http://socialcompare.com/en/comparison/android-versions-comparison or see the brief summary below:

Android 7.0

  • Multi-window mode (two applications simultaneously displayed on a divided screen)

Android 6.0

  • Runtime permissions. New approach to requesting access to users’ sensitive data (based on the example of iOS)

Android 5.0

  • Material design. UI revolution in applications

Android 4.0

  • The first version of the system which does not have variants for phones/tablets, but operates on devices with any types of screens

Certification in Android

Previous experience: what is important for an IT recruiter

If you see from an Android developer resume that they’ve had a couple of years of experience, dig a little bit deeper and look for the following things in their CV:

  • I already wrote about this in “What to take into account when screening CV?”. Experience is the most important: teamwork, the number of publications and production issues that a candidate experienced and can fluently talk about in an interesting way which goes beyond “my team and I solved such and such problems”. It is important what problems the person solved, what they contributed to.

What else in the CV can help assess Android programming skills?

  • Everything related to Java programming. Workshops, certificates, knowledge of patterns. Java is Android’s basic programming language and even if other languages appear, they would be based on JVM (specifically Android Runtime, ART), so being familiar with all limitations and rules concerning Java programming is very useful.

3.2. Technical screening of Android skills during a phone/video interview

A resume gives you some basic information on a developer’s skills, but it won’t tell you anything about the developer as a person and is not sufficient to provide you with solid knowledge of their coding skills.

Below you will find a few example questions that will tell you more about the candidate.

1. Tell us about the most interesting problem you encountered after publishing an application for users. How did you solve this problem?

  • This question reveals any deficiencies in the experience of a decent developer who should provide tons of examples of the top of their head of problems they managed to solve that made them proud. If someone just participated, they may get lost in answering the question.

2. Enumerate ready-made components of Material Design whose implementations can be found in the Support library family.

  • An answer to this question manifests knowledge of the basic family of libraries which each and every application uses. A candidate should be able to enumerate at least the following: CardView, RecyclerView, Floating Action Button, Toolbar, Navigation Drawer. If a programmer knows these components, it means that they will not reinvent the wheel when creating a classic application, but use reliable and widely used components from a free library.

3. What is your favorite shortcut in Android Studio?

  • An answer to this question shows to what extent a candidate is interested in the tool they use on a daily basis and to what extent they mastered it. A candidate should easily enumerate at least 4-5 shortcuts they use every day. The more examples they give the better it reflects on them. It is a bad sign when a programmer who does not know shortcuts and uses the mouse for everything.

4. What do you have to do to make an Android application freeze?

  • An answer to this question is: perform too many operations in the main thread. An answer to this question manifests a candidate’s knowledge of platform architecture. Being able to answer this question is an absolute must. A candidate who is unable to provide an answer will not write an application which is fast and stable from the point of view of its users.

5. How do you deal with fragmentation?

  • The market of phones with Android is the most diverse of all mobile platforms. Being able to answer this question means that a candidate knows the basics of the platform well, they know what it offers and know how to ensure compatibility of the application on a particular version of the system, devices with various screens, etc.

6. It is also a good idea to ask about the source of the developer’s projects, i.e. PSD or provided by a designer. How do they deal with cutting graphics and cooperating with designers?

Anbefalet læsning: Komplette lønoplysninger for Android-udviklere

4. DevSkiller ready-to-use online Android developer skills tests

At DevSkiller we provide companies with an infrastructure which lets them create their own programming tests, where they can use their own code base, whole IT projects using frameworks and libraries, to test programmers online. However, we also have some ready-to-use .NET coding tests which you can use in your recruitment campaign.

Android
SENIOR
Testede færdigheder
Varighed
52 minutter max.
Evaluering
Automatisk
Testoversigt

Huller i koden

vurdering af viden om Android, Kotlin

Programmeringsopgave - Niveau: svær

Android | Kotlin | Bitmap manipulation - Komplet program til billedmanipulation, der udfører nogle operationer på det valgte billede.

Android
JUNIOR
Testede færdigheder
Varighed
53 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Android,

Huller i koden

vurdering af viden om Android, Kotlin og Java

Programmeringsopgave - Niveau:

Android | Kotlin | Employees Application - Komplet app, der viser en liste over personer med ansvar for forskellige områder i virksomheden, f.eks. IT eller lønningsliste.

Android
SENIOR
Testede færdigheder
Varighed
45 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Android

Programmeringsopgave - Niveau: svær

Android | Vibrations-API - Implementer en metode til at afspille en fin melodi via den indbyggede haptiske enhed for at angive, at der er blevet skiftet til en funktion.

Android
MIDDLE
Testede færdigheder
Varighed
39 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Android

Programmeringsopgave - Niveau: Medium

Android | Kotlin | ConstraintLayout Animation - Implementer animationer af layoutelementer ved hjælp af ConstraintLayout API.

Android
SENIOR
Testede færdigheder
Varighed
75 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Android

Programmeringsopgave - Niveau: svær

Android | Kotlin | Image Fetch (KitKat + TLSv1.2) - Juster implementeringen af MainActivity, så OkHttp-klienten understøtter TLS 1.2, selv om det er blevet deaktiveret af operativsystemet.

Android
SENIOR
Testede færdigheder
Varighed
75 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Android

Programmeringsopgave - Niveau: svær

Android | OpenGL ES Demo - Formålet med denne opgave er at kontrollere kandidatens viden om GLSL ES 100.

Android
SENIOR
Testede færdigheder
Varighed
60 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Java, Android

Programmeringsopgave - Niveau: svær

Android | Bitmap-manipulationer - Implementer de tre operationer, der skal udføres på et udvalgt billede, før du starter en deling.

SENIOR
Testede færdigheder
Varighed
100 minutter max.
Evaluering
Automatisk
Testoversigt

Programmeringsopgave - Niveau: svær

iOS | Swift | Conference App Senior - Implementer en netværkstjeneste, der bruges til at interagere med serveren.

Programmeringsopgave - Niveau: svær

Android | Asynkront opkald fra native til Java via JNI - Tilvejebring den manglende JNI-del af den native-Java-kommunikationskombination, der opfylder visse krav.

JUNIOR
Testede færdigheder
Varighed
70 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Java, Android, iOS

Programmeringsopgave - Niveau:

Android | Style Basics - Implementer en stil, der kan genbruges med en række TextView-widgets.

Programmeringsopgave - Niveau:

iOS | Swift | Applikation til vandkraftværk - Implementer de manglende funktioner i applikationen til analyse af data fra et vandkraftværk.

Android
MIDDLE
Testede færdigheder
Varighed
72 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Android, iOS

Programmeringsopgave - Niveau: Medium

Android | Reminder-app - Implementer manglende funktioner i Reminder-applikationen ved hjælp af BroadcastReceivers, Services, Intent-planlægning ved hjælp af AlarmManager og Notifications API.

Programmeringsopgave - Niveau: Medium

iOS | Swift | Elevoplysninger applikationshandling - Implementer en app, der opbevarer elevoplysninger i en fil og giver brugerne mulighed for at forespørge i filen for at hente specifikke data.

Del indlæg

Få mere at vide om ansættelse af teknologiske medarbejdere

Tilmeld dig vores Learning Hub for at få nyttig viden direkte i din indbakke.

Kontroller og udvikl kodningsevner uden problemer.

Se DevSkiller-produkterne i aktion.

Sikkerhedscertificeringer og overholdelse. Vi sørger for, at dine data er sikre og beskyttede.

DevSkiller-logo TalentBoost-logo TalentScore-logo