Tipps und Beispielfragen für Android Entwickler bei der Einstellung
Mit 87.5% Marktanteil und ca. 1.4 milliarden Nutzern ist Andriod derzeit die dominanteste mobile Platform. Daher verweundert es nicht, dass die Nachfrage an Android Experten riesig ist. Dies macht die Aufgabe die Besten zu finden zu einer wahren Herausforderung.
Android ist eine reichhaltige und schnell wachsende Platform, die auf Linux aufgesetzt ist und Java und XML verlangt. Android Entwickler müssen eine Palette an Fähigkeiten meistern, die UI, Grafik, Lokalisierungsdienste, Media Playback, Tools für Debugging und viele andere umfassen.
So einen Fähigkeitenkomplex in einem einzigen Interview abzudecken ist ziemlich schwierig. Auf was sollten Sie also bei der Einstellung von Android Entwicklern achten?
Wir haben uns mit Volodymyr Logachov zusammengesetzt, einem Andriod Entwickler unserer Kunden, und eine Zusammenfassung hilfreicher Interviewfragen für die Anstellung von junior und senior Andriod Programmierern erstellt. Diese können Ihnen dabei helfen Android Platformkenntnisse von Kandidaten für Ihre Android Positionen zu evaluieren.
Beginnen Sie mit Java
Da Android auf Java aufbaut, macht es Sinn im technischen Interview zunächst die Grundkenntnisse des Kandidaten in Java zu überprüfen. Detaillierte Fragen, die sich auf Android beziehen, können Sie immer noch später stellen.
Here sind einige Fragen, die jeder, der sich Android Entwickler nennt, in der Lage sein sollte zu beantworten:
- Wie viele primitive Datentypen gibt es in Java?
- Schreibe ein if...else Statement.
- Welche Java Sammlungen kennst du?
- Was sind die Unterschiede zwischen Listen, Maps, and Hashes?
- Welche Methoden hat die Basisklasse, und wofür werden sie verwendet?
- Welche Erfahrungen hast du mit Multithreading?
Wenn ein Kandidat nicht weiss wie viele primitive Typen es in Java gibt oder kein if…else Statement schreiben kann, macht es keinen Sinn das Interview fortzuführen – er hätte nicht genügend Kenntnisse um eine junior Position zu füllen.
Fortsetzung mit Android Entwicklung
Wenn Sie sichergestellt haben, dass Grundkenntnisse in Java vorhanden sind, können Sie sich Android spezifischeren Fragen zuwenden.
Einer der grundlegendsten Fragen ist: „Was ist Kontext und wofür verwenden wir Kontext?” Nachdem diese Frage beantwortet wurde, laden Sie den Kandidaten dazu ein über Activities, den Activity Lebensverlauf, Fragmente und Dienste zu sprechen.
Sprechen Sie an wie Applikationsdaten gespeichert werden und falls der Kandidat Datenbanken anspricht, SQLite und den Cursor mit in das Gespräch zu nehmen.
Vergessen Sie auch nicht Fragen über Threadtypen zu stellen (UI und Hintergrund). Sie könnten zum Beispiel fragen wie ein ressourcenintensiver Prozess gestartet werden kann. Eine gute Antwort könnte sich so anhören: „Ich würde einen separaten Thread initiieren, die Aufgabe im Hintergrund ausführen lassen und die Ergebnisse im Hauptthread weiterbearbeiten.“
Sie könnten den Bewerber auch fragen, ob es möglich ist eine HTTP Anfrage auf dem Hauptthread zu tätigen. Falls er ja sagt, hat er vermutlich wenig Erfahrung mit diesem Thema.
Interviewfragen für erfahrene Bewerber auf Android Stellen
Sollten Sie auf der Suche nach Android Entwicklern mit tiefergehenden Kenntnissen sein, stellen Sie sicher, dass der Bewerber weiss wie man benutzerdefinierte Ansichten erstellt und gehen Sie auf die Architekturmuster MVP, MVC und MVVM ein. Nicht jeder wird Erfahrungen mit MVVM gemacht haben, obwohl MVVM eine der grundlegenden Architekturmuster ist. Jeder erfahrene Entwickler wird aber schon einmal davon gehört haben. Sie könnten auch Fragen über Dependency Injection stellen.
Falls Sie planen Ihren Code zu testen, ist es eine gute Idee herauszufinden ob der Bewerber Erfahrungen mit der Erstellung von Tests gemacht hat. Natürlich ist die Erstellung von Tests nicht universal notwendig, aber dennoch eine nützliche Fähigkeit.
Die Qualität des Codes evaluieren
Um einen Eindruck zu bekommen, wie die Fähigkeiten eines Kandidaten schlußendlich in die Tat umgesetzt wurden, könnten Sie ein Blick auf dessen GitHub Beiträge werfen, ihm eine Testaufgabe geben, oder beides.
Die meisten Testaufgaben sind nach dem folgenden Muster strukturiert: Man nehme ein Teil backend Code, aus welchem mehrere Anfragen getätigt werden, mehrere Antworten verarbeitet werden müssen und schlussendlich verarbeitete Daten dargestellt werden sollen. Vermutlich wollen Sie einige Rahmenbediungen definieren, zum Beispiel welche Datenbanken oder Frameworks verwendet werden sollen und ob einfache Mockups hinzugefügt werden sollen.
Ein weiteres Beispiel für verbreitete Testaufgaben ist das Herunterladen und Bearbeiten einer Liste. Nachdem Sie den Bewerber die Liste anzeigen und filtern lassen, lassen Sie ihn das Ergebnis auf einem separaten Bildschirm anzeigen.
Falls Sie planen mit bestimmten Bibliotheken, Frameworks oder Datenbanken zu verwenden, können Sie den Bewerber bitten diese im Interview zu verwenden. Falls Sie eine alternative Methode verwenden wollen, begrenzen Sie welche Bibliotheken für die Aufgabe verwendet werden dürfen, anstatt den Bewerber den gesamten Code völlig neu zu schreiben zu lassen. Dies wird es Ihnen erlauben zu prüfen, ob der Entwickler Probleme eigenständig lösen kann und sich nicht ständig auf bereits verfügbare Ressourcen stützt.
Vergessen Sie nicht, dass die effektivsten Testaufgaben sich immer an den Projekten orientieren, für die Sie Entwickler anstellen. Passen Sie also die Evaluierung an.
Zusammenfassung
Wir hoffen, dass Sie unsere Beispielfragen für das Einstellen von Android mobile Entwickler nützlich finden, und dass Sie für anstehende Interviews etwas für sich mitnehmen konnten. Das wichtigste ist es vorab eine Einschätzung zu treffen welche Erfahrung und welche Fähigkeiten für Ihre Projekte oder Positionen im Detail nötig sind, für die Sie Entwickler suchen.
Sollte Ihre Android App Entwicklung REST, Google Maps, Google Places oder eine andere API verlangen, sollten Sie natürlich immer auch ein paar Fragen über diese im Interview stellen. Hat ein Bewerber keine Erfahrungen mit einer bestimmten Technologie, die Sie einsetzten wollen, fragen Sie ihn wie lange er vermutlich zur Einarbeitung benötigen würde. So können Sie eine erste Selbsteinschätzung über die erwartbare Lernkurve des Kandidadten bekommen.
Ein gut gemeinter Rat von uns ist es solche Bewerber aus der engeren Auswahl herauszulassen, die direkte und konkrete Antworten vermeiden und dies damit rechtfertigen, dass die Antwort ja nur ein Klick entfernt bei Google liegt.
Während Internetrecherche ein sinnvolles Hilfsmittel sein kann um komplexe und ungewöhnliche Probleme zu lösen, kann man erwarten, dass ein Entwickler in Applikationen häufig vorkommende Aufgaben auch ohne Google meistert. Ein guter Android Entwickler wird Ihnen die Grenzen seines Wissens offenlegen, aber auch bereit sein diese so schnell wie möglich um das nötige Wissen zu erweitern.