Android developer skills and interview questions
Android developer skills are in great demand in software development, and this demand is expected to grow even further. The Android OS (operating system) is the dominant mobile operating system today. Android apps run on countless models of smartphones and tablets, as well as any other kind of Android device.
As a result, a recruitment campaign to find Android developers is pretty hard. The search has to be quick and accurate if you want to find someone with the right skills to become an Android developer for your company. Screening usually takes the most time, so let’s find out how to do it in a fast and effective way.
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.
A characteristic of Android app development 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 operating 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 within Android app development, so that when switching between apps, users do not get lost.
Android developer skills list
There are certain things that Android developers should know when it comes to the basics of Android development. An IT recruiter should be aware of these skills too.
Architecture of the Android platform— Refers to how many processes are launched during app startup. How many threads are started, and in what ways do Android applications communicate with the system and with other applications? For example, when picking a contact or sharing a picture, what is the main thread and how does it work within the Android platform?
– An important part of Android development is knowing the basic components of the platform: Activity, Fragment, Service, Intent, BroadcastReceiver, ContentProvider.
– Android developers should be aware of the standard and most popular libraries used during Android app development. Those which support the creation of Android applications. Examples include: Android Support Library, Google Play Services, Retrofit, OkHTTP, rxJava, EventBus, Dagger
– Android developers should be aware of the design patterns which enable writing applications in a way that allows easy maintenance, extension and testing. Including the 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 Android apps on devices with screens of different sizes/densities. This also includes various language versions and 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
How to verify Android developer skills in the screening phase?
Screening Android app developers can be hard if you are not a developer yourself. It is even harder when the technology itself is developing all the time.
This is where developer testing platforms like DevSkiller TalentScore give recruiters an advantage. They assess the technical skills needed to perform the technical role in question—in this case, the skills required to develop Android apps.
Without developer screening, there are still a few useful recruiting tips that will help you to verify Android developer skills.
Technical screening of Android developer skills based on CV
A CV can tell us a lot of useful information about a mobile app developer. However, you need to know what is most important. As an IT recruiter on the lookout for an Android app developer, the following valuable information will be useful:
– A good Android app developer should have worked on a number of applications released on the Google Play store. If these applications are still available, they should be checked to see what they look like, how they work, and how many downloads they have in the Google Play store.
-Anyone who has worked in Android app development will usually have been part of a team. Find out how large the app development team was. What was the name of the app development company? What their role was within the project? Was the project that they were working on also created for other platforms, e.g.— iOS, and Windows?
If you cannot figure any of this information out from the CV itself, it is worth asking any potential app developer these questions during a telephone or video interview.
As a technical recruiter looking to hire someone for Android app development, you should be familiar with the terminology used by the Android studio. Any candidate hoping to land an Android developer job, should therefore also be familiar with these terms.
Android developers should possess certain basic knowledge when it comes to Android mobile apps. Some certain frameworks and tools are used to make the work of an Android developer easy—or easier anyway. This includes:
-Basic components, Activity, Fragment, Intent, Service, BroadcastReceiver, ContentProviderTesting tools, Espresso, Mockito, Robolectric, User interfaces and basic Android UI components (mostly from Material Design) Toolbar, ViewPager, RecyclerView, CardView, Floating Action Button, Navigation Drawer, BottomBar, CoordinatorLayoutBuild tools, Gradle (Eclipse and ADT are legacies), the most popular libraries and programming languages, Support library, Google Play Services, Retrofit, EventBus, rxJava, rxAndroid, OkHttp, Dagger, Android SDK
Additional information useful in Android development
In the world of the Android OS, there are some key system releases which are revolutionary or introduce something new. For further information go to http://socialcompare.com/en/comparison/android-versions-comparison.
Below are some of the Android versions available:
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 type of screens
Certification in Android development
- Google recently implemented a certification scheme which did not gain popularity, therefore it is of little importance in the recruitment process. However, for more information go to: https://developers.google.com/training/certification/
Previous experience: what is important for an IT recruiter
If you see from the resume of Android app developers that they have a couple of years of experience, dig a little bit deeper and look for the following things in their CV:
- Teamwork – Look for evidence they have worked with other Android developers or led a team (in the case of a senior Android developer) who have worked on a number of Android apps.
- Anyone successful in software development should have a number of publications, as well as production issues they have encountered. This can tell you more about their Android developer skill, and their input during the Android development process. If they can fluently talk in an interesting way about their experiences, it will tell you a great deal about their involvement in the process to create Android apps. This should go beyond “my team and I solved such and such problems”. It is important what the problems were that they solved, and what exactly they contributed to the project.
What else can you tell about an Android app developer from their CV?
- Look out for anything related to the Java programming language. Workshops, certificates, and knowledge of Java code and patterns. Java is Android’s basic programming language. Even other programming languages that might appear, are usually based on JVM (specifically Android Runtime, ART), so being familiar with all limitations and rules concerning the Java programming language is very useful.
Technical screening of Android development skills during a phone/video interview
A resume might offer you some basic information about your candidate with regard to mobile app development, but it might not tell you much about other essential skills. For instance, it is not sufficient to provide you with solid knowledge of their code completion skills.
Below you will find a few example questions that will tell you more about the candidate in this regard.
1. Tell us about the most interesting problem you encountered after publishing one of the mobile apps you worked on. 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 Android app 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?
- To 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 and Android apps continue to be the most popular on platforms such as Google Play. Being able to answer this question means that a candidate possesses knowledge of the development process. They know what the Android platform offers and have the know-how to ensure compatibility of the application—on a particular version of the system, devices with various screens, etc.
It is also a good idea to ask about the source of Android developer’s projects, i.e. PSD or provided by a designer. How do they deal with cutting graphics and cooperating with designers?
Read the: Complete Android developer salary data
DevSkiller ready-to-use online Android developer skills tests
At DevSkiller we provide companies with a tool that lets them create their own programming tests, where they can test the top Android developer skills using their own codebase. As well as whole IT projects using their own frameworks and libraries great for assessing mobile app development skills. However, we also have some ready-to-use .NET coding tests which you can use in your recruitment campaign.
Android Studio IDE
All of the Android developer skill tests available in our catalog now run on a warmed-up Android Studio IDE, directly in the candidate’s browser. This way we remove the time-consuming act of having to set up the development environment on a local machine. The candidates can start coding as soon as they open the test invitation.
To use Android Studio for Android programming assignments in the DevSkiller TalentScore test, the candidates only need to select the “In-browser editor” option when they get to the programming task section in their tests.
Learn more about our range of Android developer coding tests
- Tested skills
- Duration
- 36 minutes max.
- Evaluation
- Automatic
- Test overview
-
Choice questions
assessing knowledge of Android
Code gaps
assessing knowledge of Android, Kotlin
Programming task - Level: Easy
Android | Kotlin | Compass - Implement the compass functionality in the location-based application.
- Tested skills
- Duration
- 41 minutes max.
- Evaluation
- Automatic
- Test overview
-
Choice questions
assessing knowledge of Android
Code gaps
assessing knowledge of Android, Kotlin
Programming task - Level: Medium
Android | Kotlin | RecyclerView | To-do List - Create a simple to-do list where each item is a list item in the
RecyclerView
.
- Tested skills
- Duration
- 36 minutes max.
- Evaluation
- Automatic
- Test overview
-
Choice questions
assessing knowledge of Android
Code gaps
assessing knowledge of Android, Java
Programming task - Level: Easy
Android | Java | Video Playback - Implement simple playback of an embedded video asset.
- Tested skills
- Duration
- 48 minutes max.
- Evaluation
- Automatic
- Test overview
-
Choice questions
assessing knowledge of Android
Code gaps
assessing knowledge of Android, Java, ProGuard
Programming task - Level: Hard
Android | Java | ProGuard configuration - Implement the ProGuard Configuration to remove developer's code from the code base - at compile time.
- Tested skills
- Duration
- 58 minutes max.
- Evaluation
- Automatic
- Test overview
-
Choice questions
assessing knowledge of Android
Code gaps
assessing knowledge of Android, Kotlin
Programming task - Level: Hard
Android | Kotlin, C | JNI Magic - Implement the JNI functionality that enables you to call the Base::getBaseComponent method having a Client instance only.
- Tested skills
- Duration
- 61 minutes max.
- Evaluation
- Automatic
- Test overview
-
Choice questions
assessing knowledge of Android
Code gaps
assessing knowledge of Android, Kotlin
Programming task - Level: Medium
Android | Kotlin | Notepad app - Complete basic functionalities of a note-taking application using RecyclerView.
- Tested skills
- Duration
- 52 minutes max.
- Evaluation
- Automatic
- Test overview
-
Code gaps
assessing knowledge of Android, Kotlin
Programming task - Level: Hard
Android | Kotlin | Bitmap manipulation - Complete image manipulation application that performs some operations on the selected image.
- Tested skills
- Duration
- 53 minutes max.
- Evaluation
- Automatic
- Test overview
-
Choice questions
assessing knowledge of Android,
Code gaps
assesing knowledge of Android, Kotlin and Java
Programming task - Level: Easy
Android | Kotlin | Employees Application - Complete app that displays a list of people responsible for different areas in the company like IT or Payroll.
- Tested skills
- Duration
- 45 minutes max.
- Evaluation
- Automatic
- Test overview
-
Choice questions
assessing knowledge of Android
Programming task - Level: Hard
Android | Vibrations API - Implement a method to play a fancy melody via the embedded haptic device to indicate the feature switch has been toggled.
- Tested skills
- Duration
- 39 minutes max.
- Evaluation
- Automatic
- Test overview
-
Choice questions
assessing knowledge of Android
Programming task - Level: Medium
Android | Kotlin | ConstraintLayout Animation - Implement layout elements animations using ConstraintLayout API.