Kompetens och intervjufrågor för Android-utvecklare

Publicerad: Senast uppdaterad:
Android: intervjufrågor för programvaruingenjörer

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
Bygg verktyg 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?

Rekommenderad läsning: Fullständiga löneuppgifter för Android-utvecklare

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
Testade färdigheter
Varaktighet
52 minuter max.
Utvärdering
Automatisk
Översikt över testet

Luckor i koden

bedömning av kunskaper om Android, Kotlin

Programmeringsuppgift - Nivå: Svårt

Android | Kotlin | Bitmap manipulation - Komplett bildmanipuleringsprogram som utför vissa operationer på den valda bilden.

Android
JUNIOR
Testade färdigheter
Varaktighet
53 minuter max.
Utvärdering
Automatisk
Översikt över testet

Frågor om valmöjligheter

bedömning av kunskaper om Android,

Luckor i koden

bedömning av kunskap om Android, Kotlin och Java

Programmeringsuppgift - Nivå:

Android | Kotlin | Employees Application - Komplett app som visar en lista över personer som ansvarar för olika områden inom företaget, t.ex. IT eller löner.

Android
SENIOR
Testade färdigheter
Varaktighet
45 minuter max.
Utvärdering
Automatisk
Översikt över testet

Frågor om valmöjligheter

bedömning av kunskaper om Android

Programmeringsuppgift - Nivå: Svårt

Android | Vibrations-API - Implementera en metod för att spela upp en fin melodi via den inbyggda haptiska enheten för att indikera att funktionsknappen har slagits om.

Android
MIDDLE
Testade färdigheter
Varaktighet
39 minuter max.
Utvärdering
Automatisk
Översikt över testet

Frågor om valmöjligheter

bedömning av kunskaper om Android

Programmeringsuppgift - Nivå:

Android | Kotlin | ConstraintLayout Animation - Implementera animationer av layoutelement med hjälp av ConstraintLayout API.

Android
SENIOR
Testade färdigheter
Varaktighet
75 minuter max.
Utvärdering
Automatisk
Översikt över testet

Frågor om valmöjligheter

bedömning av kunskaper om Android

Programmeringsuppgift - Nivå: Svårt

Android | Kotlin | Image Fetch (KitKat + TLSv1.2) - Justera MainActivity-implementationen så att OkHttp-klienten stöder TLS 1.2, även om det har inaktiverats av operativsystemet.

Android
SENIOR
Testade färdigheter
Varaktighet
75 minuter max.
Utvärdering
Automatisk
Översikt över testet

Frågor om valmöjligheter

bedömning av kunskaper om Android

Programmeringsuppgift - Nivå: Svårt

Android | OpenGL ES Demo - Syftet med den här uppgiften är att kontrollera kandidatens kunskaper om GLSL ES 100.

Android
SENIOR
Testade färdigheter
Varaktighet
60 minuter max.
Utvärdering
Automatisk
Översikt över testet

Frågor om valmöjligheter

bedömning av kunskaper om Java, Android

Programmeringsuppgift - Nivå: Svårt

Android | Bitmap-manipulationer - Implementera de tre operationer som ska utföras på en vald bild innan en delning påbörjas.

SENIOR
Testade färdigheter
Varaktighet
100 minuter max.
Utvärdering
Automatisk
Översikt över testet

Programmeringsuppgift - Nivå: Svårt

iOS | Swift | Conference App Senior - Implementera en nätverkstjänst som används för att interagera med servern.

Programmeringsuppgift - Nivå: Svårt

Android | Asynkrona samtal från native till Java via JNI - Tillhandahåll den saknade JNI-delen av kommunikationskombinationen native-Java som uppfyller vissa krav.

JUNIOR
Testade färdigheter
Varaktighet
70 minuter max.
Utvärdering
Automatisk
Översikt över testet

Frågor om valmöjligheter

bedömning av kunskaper om Java, Android, iOS

Programmeringsuppgift - Nivå:

Android | Style Basics - Implementera en stil som kan återanvändas med ett antal TextView-widgetar.

Programmeringsuppgift - Nivå:

iOS | Swift | Applikation för vattenkraftverk - Implementera de saknade funktionerna i applikationen för analys av data från ett vattenkraftverk.

Android
MIDDLE
Testade färdigheter
Varaktighet
72 minuter max.
Utvärdering
Automatisk
Översikt över testet

Frågor om valmöjligheter

bedömning av kunskaper om Android, iOS

Programmeringsuppgift - Nivå:

Android | Påminnelseapplikation - Implementera saknade funktioner i påminnelseapplikationen med hjälp av BroadcastReceivers, Services, Intent-planering med AlarmManager och Notifications API.

Programmeringsuppgift - Nivå:

iOS | Swift | App för studentuppgifter - Implementera en app som håller studentuppgifter i en fil och låter användarna söka i filen för att hämta specifika uppgifter.

Dela inlägg

Läs mer om rekrytering av tekniker

Prenumerera på vår Learning Hub för att få nyttiga insikter direkt i din inkorg.

Kontrollera och utveckla kodningsfärdigheter utan problem.

Se DevSkillers produkter i praktiken.

Säkerhetscertifieringar och efterlevnad. Vi ser till att dina data är säkra och skyddade.

DevSkillers logotyp TalentBoost logotyp TalentScore-logotyp