Android-Entwicklerfähigkeiten und Interviewfragen

1. Dezember 2016
Android: Interviewfragen von Software-Ingenieuren

Android-Entwickler-Fähigkeiten sind sehr gefragt, und es wird erwartet, dass diese Nachfrage noch weiter steigen wird, da Android heute das dominierende mobile Betriebssystem ist, das auf unzähligen Modellen von Smartphones und Tablets sowie vielen anderen Geräten läuft. Infolgedessen wurde eine Rekrutierungskampagne für Android-Entwickler ist ziemlich hart. Sie muss schnell und präzise sein, wenn Sie die Besten einstellen wollen. Andernfalls werden Ihnen Ihre Konkurrenten Ihre Kandidaten stehlen. Das Screening nimmt normalerweise am meisten Zeit in Anspruch, also lassen Sie uns herausfinden, wie wir es schnell und effektiv durchführen können.

1. Was ist Android?

Android ist das weltweit beliebteste Betriebssystem, das hauptsächlich für mobile Geräte bestimmt ist. Der Quellcode wird von Google im Rahmen des Android Open Source Project (AOSP) entwickelt. Nachfolgende Versionen werden in der Regel jährlich veröffentlicht und auf Google E/A-Konferenzen angekündigt.

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).

Die Hauptvorteile des Android-Systems sind die folgenden:

  • offener Quellcode (https://source.android.com/)
  • die Plattform wird von Google entwickelt. Jedes halbe Jahr bietet das System den Nutzern und Programmierern etwas Neues. Google legt großen Wert auf die Entwicklung des gesamten Ökosystems, entwickelt eine Reihe von Bibliotheken, Tools (IDEs auf IntelliJ-Basis), organisiert viele Konferenzen, Workshops, Screencasts usw.
  • 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. Liste der Fähigkeiten von Android-Entwicklern

Was ist für einen IT-Rekrutierer wichtig, um über Android Bescheid zu wissen? Es gibt bestimmte Dinge, die ein IT-Rekrutierer in Bezug auf Android wissen sollte:

  • 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.
  • Standardbibliotheken und die beliebtesten Bibliotheken, die die Erstellung von Anwendungen unterstützen. Dies sind einige Beispiele für Bibliotheken: Android-Unterstützungsbibliothek, Google Play-Dienste, Nachrüstung, OkHTTP, rxJava, EventBus, Dagger
  • Entwurfsmuster, die es ermöglichen, Anwendungen so zu schreiben, dass sie leicht zu warten, zu erweitern und zu testen sind. Neueste Trends: MVP, MVVM, Saubere Architektur
  • Regeln für die Erstellung effizienter Ansichten, Fähigkeit zur Erstellung wiederverwendbarer benutzerdefinierter Ansichten
  • Fähigkeit, mit der Marktfragmentierung und der Vielzahl unterschiedlicher Geräte von verschiedenen Herstellern mit unterschiedlichen Systemversionen umzugehen. Mechanismen, die die Plattform bietet, um den reibungslosen Betrieb der Anwendung auf Geräten mit Bildschirmen unterschiedlicher Größe/Dichte, verschiedenen Sprachversionen, verschiedenen Versionen des Systems selbst zu gewährleisten
  • Jede Android-Version verfügt über eine Ziffer und einen Buchstaben (von C bis N). Google versucht immer, sich einen Namen für Gebäck oder etwas Süßes auszudenken, der mit einem bestimmten Buchstaben beginnt, und so nennt Google die nachfolgenden Android-Versionen: Cupcake, Donut, Eclair, Froyo, Lebkuchen, Honigwabe, Eiscreme-Sandwich, Gelee, KitKat, Lutscher, Marshmallow, Nougat). Ein Kandidat sollte in der Lage sein, diese Namen aufzuzählen, wenn er/sie sich für das Leben der Plattform und ihre Entwicklung interessiert 🙂

3. Wie können die Fähigkeiten von Android-Entwicklern in der Screening-Phase überprüft werden?

Das Screening ist schwierig, wenn Sie kein Android-Entwickler selbst. 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. Technisches Screening von Android-Fähigkeiten anhand des Lebenslaufs

Der Lebenslauf eines Kandidaten kann uns viele nützliche Informationen liefern, aber Sie müssen wissen, wie Sie das Wichtigste auswählen können. Suchen Sie als IT-Personalverantwortlicher im Lebenslauf eines Entwicklers nach den folgenden wertvollen Informationen:

  • Eine Reihe von Anwendungen, die auf Google Play veröffentlicht wurden. Wenn sie noch verfügbar sind, sollte geprüft werden, wie sie aussehen, wie sie funktionieren und wie viele Downloads sie in Google Play haben
  • Wie groß war das Team der Entwickler und welche Rolle spielten sie in dem Projekt? Wurde das Projekt, an dem sie arbeiteten, auch für andere Plattformen erstellt (iOS? Windows Phone?)

Wenn Sie das nicht aus dem Lebenslauf selbst ersehen können, lohnt es sich, diese Fragen in einem Telefon- oder Videointerview zu stellen.

Als Technical Recruiter, der auf der Suche nach einem Android-Entwickler ist, sollten Sie mit der gesamten von den Kandidaten verwendeten Terminologie vertraut sein. Aus diesem Grund haben wir dieses Android-Glossar für IT-Rekrutierer entwickelt, damit Sie im Auswahlverfahren dieselbe Sprache sprechen wie Ihr Kandidat.

Android-Technologie - grundlegendes Glossar der Android-Begriffe für IT-Rekrutierer

Android-Basiskomponenten Aktivität, Fragment, Absicht, Dienst, Rundfunkempfänger, ContentProvider
Prüfwerkzeuge Espresso, Mockito, Robolectric
Grundlegende UI-Komponenten (hauptsächlich aus dem Materialdesign) Symbolleiste, ViewPager, RecyclerView, CardView, Fließende Aktionstaste, Navigationsschublade, BottomBar, KoordinatorLayout
Build-Tools Gradle (Eclipse und ADT sind Vermächtnisse)
Beliebteste Bibliotheken Bibliothek unterstützen, Google Play-Dienste, Nachrüstung, EventBus, rxJava, rxAndroid, OkHttp, Dolch


Weitere Informationen über die Android-Technologie, die aus der Sicht eines IT-Rekrutierers nützlich ist

In der Welt von Android gibt es einige wichtige Systemversionen, die in gewisser Weise revolutionär sind oder etwas Neues einführen. Weitere Informationen finden Sie unter http://socialcompare.com/en/comparison/android-versions-comparison oder in der kurzen Zusammenfassung unten:

Android 7.0

  • Mehrfenstermodus (zwei Anwendungen werden gleichzeitig auf einem geteilten Bildschirm angezeigt)

Android 6.0

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

Android 5.0

  • Materialgestaltung. UI-Revolution in Anwendungen

Android 4.0

  • Die erste Version des Systems, die keine Varianten für Telefone/Tabletts hat, sondern auf Geräten mit beliebigen Bildschirmtypen funktioniert

Zertifizierung in Android

  • Google hat vor kurzem ein Zertifizierungsprogramm eingeführt, das nicht an Popularität gewonnen hat, weshalb es für den Rekrutierungsprozess von geringer Bedeutung ist. Weitere Informationen finden Sie unter: https://developers.google.com/training/certification/

Bisherige Erfahrungen: was für einen IT-Rekrutierer wichtig ist

Wenn Sie aus dem Lebenslauf eines Android-Entwicklers ersehen, dass er einige Jahre Erfahrung hat, graben Sie etwas tiefer und suchen Sie in seinem Lebenslauf nach den folgenden Dingen:

  • Darüber habe ich bereits in "Was ist beim Screening von Lebensläufen zu beachten? Erfahrung ist das Wichtigste: Teamarbeit, die Anzahl der Veröffentlichungen und Produktionsprobleme, die ein Kandidat erlebt hat und über die er fließend und auf eine interessante Art und Weise sprechen kann, die über "mein Team und ich haben solche und solche Probleme gelöst" hinausgeht. Es ist wichtig, welche Probleme die Person gelöst hat, wozu sie beigetragen hat.

Was sonst im Lebenslauf kann bei der Beurteilung der Android-Programmierkenntnisse helfen?

  • 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. Technische Überprüfung der Android-Fähigkeiten während eines Telefon-/Video-Interviews

Ein Lebenslauf gibt Ihnen einige grundlegende Informationen über die Fähigkeiten eines Entwicklers, aber er sagt Ihnen nichts über den Entwickler als Person und ist nicht ausreichend, um Ihnen solide Kenntnisse über seine Programmierkenntnisse zu vermitteln.

Nachstehend finden Sie einige Beispielfragen, die Ihnen mehr über den Kandidaten verraten.

1. Erzählen Sie uns über das interessanteste Problem, auf das Sie nach der Veröffentlichung einer Anwendung für Benutzer gestoßen sind. Wie haben Sie dieses Problem gelöst?

  • Diese Frage offenbart alle Mängel in der Erfahrung eines anständigen Entwicklers, der tonnenweise Beispiele von der Spitze seines Kopfes für Probleme liefern sollte, die er zu lösen vermochte und die ihn stolz machten. Wenn jemand nur teilgenommen hat, könnte er sich bei der Beantwortung der Frage verirren.

2. Zählen Sie fertige Komponenten von Material Design auf, deren Implementierungen in der Support-Bibliotheksfamilie zu finden sind.

  • Eine Antwort auf diese Frage zeugt von der Kenntnis der Grundfamilie von Bibliotheken, die jede einzelne Anwendung verwendet. Ein Kandidat sollte in der Lage sein, mindestens die folgenden Punkte aufzuzählen: CardView, RecyclerView, Schwimmende Aktionsschaltfläche, Symbolleiste, Navigationsschublade. Wenn ein Programmierer diese Komponenten kennt, bedeutet dies, dass er beim Erstellen einer klassischen Anwendung das Rad nicht neu erfinden wird, sondern zuverlässige und weit verbreitete Komponenten aus einer freien Bibliothek verwendet.

3. Was ist Ihre Lieblingsabkürzung 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. Was müssen Sie tun, um eine Android-Anwendung einzufrieren?

  • Eine Antwort auf diese Frage lautet: Führen Sie zu viele Operationen im Hauptthread durch. Eine Antwort auf diese Frage manifestiert das Wissen eines Kandidaten über die Plattformarchitektur. Die Fähigkeit, diese Frage beantworten zu können, ist ein absolutes Muss. Ein Kandidat, der nicht in der Lage ist, eine Antwort zu geben, wird keine Anwendung schreiben, die aus der Sicht ihrer Benutzer schnell und stabil ist.

5. Wie gehen Sie mit der Fragmentierung um?

  • Der Markt der Telefone mit Android ist der vielfältigste aller mobilen Plattformen. Diese Frage beantworten zu können bedeutet, dass ein Kandidat die Grundlagen der Plattform gut kennt, dass er weiss, was sie bietet, und dass er weiss, wie er die Kompatibilität der Anwendung auf einer bestimmten Version des Systems, auf Geräten mit verschiedenen Bildschirmen usw. sicherstellen kann.

6. Es ist auch eine gute Idee, nach der Quelle der Projekte des Entwicklers zu fragen, d.h. PSD oder von einem Designer zur Verfügung gestellt. Wie gehen sie mit Schnittgrafiken und der Zusammenarbeit mit Designern um?

Empfohlene Lektüre: Vollständige Gehaltsdaten für Android-Entwickler

4. DevSkiller gebrauchsfertige Online-Tests für Android-Entwickler

Bei DevSkiller stellen wir Unternehmen eine Infrastruktur zur Verfügung, die es ihnen ermöglicht, eigene Programmiertests zu erstellen, bei denen sie ihre eigene Codebasis, ganze IT-Projekte unter Verwendung von Frameworks und Bibliotheken verwenden können, um Programmierer online zu testen. Wir haben jedoch auch einige gebrauchsfertige .NET-Codierungstests, die Sie in Ihrer Rekrutierungskampagne verwenden können.

Android
SENIOR
Geprüfte Fähigkeiten
Dauer
45 Minuten max.
Auswertung
Automatisch
Test-Übersicht

Auswahlfragen

Beurteilung des Wissens über Android

Programmieraufgabe - Stufe: Hart

Android | Vibrations API - Implementieren Sie eine Methode zum Abspielen einer ausgefallenen Melodie über das eingebettete haptische Gerät, um anzuzeigen, dass der Funktionsschalter umgeschaltet wurde.

Android
MIDDLE
Geprüfte Fähigkeiten
Dauer
39 Minuten max.
Auswertung
Automatisch
Test-Übersicht

Auswahlfragen

Beurteilung des Wissens über Android

Programmieraufgabe - Stufe: Medium:

Android | Kotlin | ConstraintLayout Animation - Implementieren Sie Animationen von Layout-Elementen mit der ConstraintLayout API.

Android
SENIOR
Geprüfte Fähigkeiten
Dauer
75 Minuten max.
Auswertung
Automatisch
Test-Übersicht

Auswahlfragen

Beurteilung des Wissens über Android

Programmieraufgabe - Stufe: Hart

Android | Kotlin | Image Fetch (KitKat + TLSv1.2) - Passen Sie die Implementierung von MainActivity so an, dass der OkHttp-Client TLS 1.2 unterstützt, auch wenn er vom Betriebssystem deaktiviert wurde.

Android
SENIOR
Geprüfte Fähigkeiten
Dauer
75 Minuten max.
Auswertung
Automatisch
Test-Übersicht

Auswahlfragen

Beurteilung des Wissens über Android

Programmieraufgabe - Stufe: Hart

Android | OpenGL ES Demo - Ziel dieser Aufgabe ist es, die Kenntnisse des Kandidaten über GLSL ES 100 zu überprüfen.

Android
SENIOR
Geprüfte Fähigkeiten
Dauer
60 Minuten max.
Auswertung
Automatisch
Test-Übersicht

Auswahlfragen

Beurteilung des Wissens über Java, Android

Programmieraufgabe - Stufe: Hart

Android | Bitmap-Manipulationen - Implementieren Sie die drei Operationen, die mit einem ausgewählten Bild durchgeführt werden sollten, bevor eine Freigabe initiiert wird.

SENIOR
Geprüfte Fähigkeiten
Dauer
100 Minuten max.
Auswertung
Automatisch
Test-Übersicht

Programmieraufgabe - Stufe: Hart

iOS | Swift | Conference App Senior - Implementieren Sie einen Netzwerkdienst, der für die Interaktion mit dem Server verwendet wird.

Programmieraufgabe - Stufe: Hart

Android | Async-Aufruf von nativem zu Java über JNI - Stellen Sie den fehlenden JNI-Teil der nativ-Java-Kommunikationskombination bereit, der die bestimmten Anforderungen erfüllt.

JUNIOR
Geprüfte Fähigkeiten
Dauer
70 Minuten max.
Auswertung
Automatisch
Test-Übersicht

Auswahlfragen

Beurteilung des Wissens über Java, Android, iOS

Programmieraufgabe - Stufe: Einfach

Android | Stil-Grundlagen - Implementieren Sie einen Stil, der mit einer Reihe von TextView-Widgets wiederverwendet werden kann.

Programmieraufgabe - Stufe: Einfach

iOS | Swift | Wasserkraftwerksanwendung - Implementieren Sie die fehlenden Funktionen in der Anwendung für die Analyse von Daten aus einem Wasserkraftwerk.

Android
MIDDLE
Geprüfte Fähigkeiten
Dauer
72 Minuten max.
Auswertung
Automatisch
Test-Übersicht

Auswahlfragen

Beurteilung des Wissens über Android, iOS

Programmieraufgabe - Stufe: Medium:

Android | Erinnerungs-Anwendung - Implementieren Sie fehlende Funktionen in der Erinnerungs-Anwendung mit Hilfe von BroadcastReceivern, Diensten, Intent-Planung mit AlarmManager und Benachrichtigungs-API.

Programmieraufgabe - Stufe: Medium:

iOS | Swift | Students details applicaction - Implementieren Sie eine App, die Studentendetails in einer Datei verwaltet und es Benutzern ermöglicht, die Datei abzufragen, um bestimmte Daten abzurufen.

Android
SENIOR
Geprüfte Fähigkeiten
Dauer
45 Minuten max.
Auswertung
Automatisch
Test-Übersicht

Auswahlfragen

Beurteilung des Wissens über Kotlin, Android

Programmieraufgabe - Stufe: Hart

Android | Kotlin | Async-Aufruf aus Native-Java über JNI - Stellen Sie den fehlenden JNI-Teil der Native-Java-Kommunikationskombination bereit, der die bestimmten Anforderungen erfüllt.

Android
JUNIOR
Geprüfte Fähigkeiten
Dauer
33 Minuten max.
Auswertung
Automatisch
Test-Übersicht

Auswahlfragen

Beurteilung des Wissens über Java, Android

Programmieraufgabe - Stufe: Einfach

Android | Handbuch Hintergrund-Farbanimation - Implementieren Sie eine sanfte Farbanimation des Hintergrunds einer Aktivität.

Beitrag teilen

Es ist mehr als nur ein Newsletter

Erhalten Sie nützliche Einblicke direkt in Ihren Posteingang und erfahren Sie mehr über die Einstellung von Technikern.

Kodierfähigkeiten nahtlos verifizieren & entwickeln.

Sehen Sie DevSkiller-Produkte in Aktion.

Sicherheitszertifizierungen & Konformität. Wir sorgen dafür, dass Ihre Daten sicher und geschützt sind.