Android-Entwicklerfähigkeiten und Interviewfragen

Veröffentlicht: Zuletzt aktualisiert:
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.

Sein charakteristisches Merkmal ist, dass es neben Telefonen auch auf Tablets und einer Reihe anderer eingebetteter Geräte installiert werden kann, z. B. auf Fernsehern (Android TV), Displays in Autos (Android Auto) oder Uhren (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.
  • konsistentes Design, insbesondere seit das Konzept des Material Designs eingeführt wurde. Der ständige Kampf um ein einheitliches Aussehen der Anwendungen in Android, damit die Benutzer beim Wechsel zwischen Apps nicht den Überblick verlieren, wie eine bestimmte App zu verwenden ist.

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:

  • Architektur der Android-Plattform: wie viele Prozesse werden beim App-Start gestartet, wie viele Threads werden gestartet, auf welche Weise kommuniziert die Anwendung mit dem System und anderen Anwendungen (z. B. wie im folgenden Szenario: einen Kontakt auswählen, ein Bild teilen), was ist ein Haupt-Thread und wie funktioniert er in Android
  • Grundlegende Komponenten der Plattform: 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. Noch schwieriger ist es, wenn sich die Technologie selbst ständig weiterentwickelt und Sie auf dem neuesten Stand sein müssen. Kommen wir also zu ein paar praktischen Recruiting-Tipps, wie Sie die Fähigkeiten von Android-Entwicklern überprüfen können.

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

  • Laufzeit-Berechtigungen. Neuer Ansatz zur Beantragung des Zugriffs auf die sensiblen Daten der Benutzer (am Beispiel von 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?

  • Alles rund um die Java-Programmierung. Workshops, Zertifikate, Wissen über Muster. Java ist die grundlegende Programmiersprache von Android und selbst wenn andere Sprachen auftauchen, würden sie auf der JVM (speziell Android Runtime, ART) basieren, daher ist es sehr nützlich, mit allen Einschränkungen und Regeln bezüglich der Java-Programmierung vertraut zu sein.

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?

  • Eine Antwort auf diese Frage zeigt, inwieweit sich ein Kandidat für das Tool interessiert, das er täglich verwendet, und inwieweit er es beherrscht. Ein Kandidat sollte mindestens 4-5 Shortcuts, die er täglich benutzt, leicht aufzählen können. Je mehr Beispiele er aufzählt, desto besser wirkt es auf ihn. Es ist ein schlechtes Zeichen, wenn ein Programmierer, der keine Shortcuts kennt, für alles die Maus benutzt.

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
52 Minuten max.
Auswertung
Automatisch
Test-Übersicht

Code-Lücken

Beurteilung des Wissens über Android, Kotlin

Programmieraufgabe - Stufe: Hart

Android | Kotlin | Bitmap-Manipulation - Komplette Bildmanipulationsanwendung, die einige Operationen auf dem ausgewählten Bild durchführt.

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

Auswahlfragen

Beurteilung des Wissens über Android,

Code-Lücken

Bewertung der Kenntnisse über Android, Kotlin und Java

Programmieraufgabe - Stufe: Einfach

Android | Kotlin | Mitarbeiteranwendung - Komplette Anwendung, die eine Liste von Personen anzeigt, die für verschiedene Bereiche im Unternehmen verantwortlich sind, z. B. IT oder Lohnbuchhaltung.

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.

Beitrag teilen

Erfahren Sie mehr über die Einstellung von Technikern

Abonnieren Sie unseren Learning Hub, um nützliche Einblicke direkt in Ihren Posteingang zu erhalten.

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.

DevSkiller-Logo TalentBoost-Logo TalentScore Logo