Android Entwickler: Suche Nach Erfahrene Kandidaten | 2020
android entwickler
android entwickler

Android entwickler

Mobile Apps helfen Organisationen Markenbewusstsein zu kreieren, personalisierten Content zu liefern, Kundenbindung zu verstärken, die Kosten zu reduzieren, und die Verkaufszahlen zu steigern. Die hohe Popularität von mobilen Apps lässt sich daran erkennen, dass es über 2.5 Mio. verfügbaren Apps auf Google Play gibt. Das Wachstum innerhalb der letzten Jahre ist unübersehbar. Wenn man sich die konstanten Entwicklungen von Technologien wie ‘Internet of Things’, Chatbots, künstlicher Intelligenz, Machine Learning und Augmented und Virtual Reality anschaut, wird deutlich, dass sich diese Tendenz in naher Zukunft nicht verändern wird. 

Das führt uns zu einer wichtigen Annahme. Der Bedarf an Android-Entwickler/innen wird steigen, so wie die Zahl der Bewerber und Bewerberinnen. Unabhängig davon, ob Sie Android-Entwickler/in sind oder einen einstellen möchten, muss Ihnen bewusst sein, dass das Vorstellungsgespräch der wichtigste Teil des Einstellungsprozesses ist. In diesem Teil werden nicht nur die Kenntnisse des Bewerbers oder der Bewerberin, sondern auch sein oder ihr Denkprozess ausführlich geprüft. Damit Sie gewünschte Ergebnisse erreichen, müssen Sie sich auf dieses Gespräch vorbereiten.

Die Warnsignale, auf die Sie beim Einstellen achten müssen

Das Hauptziel des Vorstellungsgespräches ist, zu verifizieren, ob der Bewerber oder die Bewerberin zur Firma passt. Unten finden Sie ein paar Signale, die Sie vor potenziell ungeeigneten Mitarbeiter/innen warnen sollten.

  1. Kein Empfehlungsschreiben
    Das Empfehlungsschreiben ist die Visitenkarte des Entwicklers oder der Entwicklerin. Wenn keines zum Gespräch mitgebracht wird, kann es bedeuten, dass der Kandidat/die Kandidatin unfähig ist, ein gutes Verhältnis mit Kollegen aufzubauen, Erfolg in der zugewiesenen Rolle zu haben, oder die Firma positiv zu beeinflussen.
  2. Keine Schwächen
    Es kann darauf hinweisen, dass der Kandidat/die Kandidatin Fehler nicht einsieht und andere Personen beschuldigt. Solche Situationen haben meistens einen negativen Einfluss auf das Arbeitsklima.
  3. Nicht zugeben können, dass man etwas nicht weiß
    Es ist nicht schlecht, eigene Schwächen zu zeigen, aber vorzugeben, dass man alles weiß schon. 
  4. Kein Interesse
    Es ist entscheidend, ein Team mit enthusiastischen Mitarbeitern zu haben. Wenn sich jemand nicht engagiert, wird er/sie nicht nur unproduktiv sein, sondern auch einen schlechten Einfluss aufs Team haben. 
  5. Kein Selbstbewusstsein
    Die besten Kandidaten/Kandidatinnen sind in Bezug auf ihre Entscheidungen zuversichtlich und in ihrem Gedankengang ehrlich. Ungeachtet der Kultur der Firma – jede Organisation möchte Mitarbeiter haben, die für eigenen (sowohl positive, als auch negative) Taten Verantwortung übernehmen können. 
  6. Übermäßig auf Geld konzentriert
    Es kann darauf hinweisen, dass die einzige Motivation des Bewerbers/der Bewerberin das Einkommen ist. Nichts hält einen solchen Mitarbeiter/eine solche Mitarbeiterin auf, den Job für eine besser bezahlte Stelle zu verlassen, wenn sich eine lukrativere Möglichkeit ergibt.
software consulting
Im Interviewteil sollte nicht nur das Wissen des Bewerbers gründlich überprüft werden, sondern auch sein Denkprozess.
Während des Vorstellungsgespräches werden nicht nur die Kenntnisse des Bewerbers oder der Bewerberin, sondern auch sein oder ihr Denkprozess ausführlich geprüft.

Fragen im Vorstellungsgespräch, die eine Herausforderung für Kandidaten sein werden

Unten stellen wir Ihnen ein paar Fragen vor, die die Kandidaten und Kandidatinnen als Herausforderung während des Vorstellungsgesprächs betrachten werden.

1 . Die Berechtigungen sind ein wichtiger Teil des Android-Ökosystems. Beschreiben Sie alle folgenden Sicherheitsstufen von Berechtigungen: Normal, Signature, Dangerous und Special.

Berechtigungen der Normal–Sicherheitsstufe decken die Bereiche ab, in denen Ihre App auf Daten oder Ressourcen zugreifen möchte, die sich außerhalb der Sandbox befinden. Dabei gibt es aber sehr wenig Risiko, dass der Datenschutz des Nutzers bedroht wird oder dass die Wirkung der anderen Apps zerstört wird. 

Zum Beispiel, die Berechtigung, die Zeitzone festzulegen, ist auf der Normal-Stufe. Wenn in dem Manifest der App angegeben ist, dass sie eine Berechtigung aus der Normal-Stufe benötigt, wird die Berechtigung vom System beim Installieren automatisch gegeben. Die Benutzer werden vom System nicht aufgefordert, Berechtigungen aus der Normal-Stufe zu geben, und sie können diese Berechtigungen nicht aufheben.

Berechtigungen der Signature-Sicherheitsstufe – sie werden vom System während der Installation gegeben, aber nur wenn die App, die versucht, die Berechtigung zu bekommen, von demselben Zertifikat signiert ist, wie die App, die die Berechtigungen definiert.

Berechtigungen der Dangerous-Sicherheitsstufe – decken die Bereiche ab, bei denen die App die Daten oder Ressourcen mit privaten Informationen der Nutzer benötigt, oder in denen die App potenziell die Daten der Nutzer oder die Wirkung von anderen Apps beeinflussen könnte. Der Zugang zu Kontakten der Nutzer ist z.B. eine Berechtigung der Dangerous-Stufe. 

Wenn eine App angibt, dass sie eine Berechtigung der Dangerous-Stufe benötigt, müssen die Nutzer diese Berechtigung explizit der App gewähren. Die App darf nicht die Funktionalität leisten, die von der Berechtigung abhängig ist, bis die Nutzer diese Berechtigung geben. Die Nutzer müssen von der App aufgefordert werden, die Berechtigungen während der Laufzeit zu geben, damit die Berechtigungen der Dangerous-Stufe benutzt werden können.

Berechtigungen der Special-Sicherheitsstufe – es gibt ein paar Berechtigungen, die nicht wie die Berechtigungen der Normal- und Dangerous-Stufen arbeiten. SYSTEM_ALERT_WINDOW und WRITE_SETTINGS sind besonders sensibel. Die meisten Apps sollten sie also nicht verwenden. Wenn eine App solche Berechtigungen benötigt, müssen solche Bedürfnisse im Manifest der App angegeben werden, und eine Anfrage muss an die Nutzer geschickt werden, damit diese alles Nötige autorisieren. Das System reagiert auf dieses Vorhaben mit dem Anzeigen des detaillierten Bildschirms für die Verwaltung.

2. Android 8.0 (Oreo, API 26) führte eine Menge von Begrenzungen der Hintergrunddienste ein, um die generelle Nutzererfahrung zu verbessern. Beschreiben Sie diese Begrenzungen.

Hitergrundausführungsbegrenzungen:

Um die Geräteleistung zu verbessern begrenzt das System manche Aktivitäten von Apps, die nicht im Vordergrund laufen. Im Besonderen:

  • Bei den Apps, die im Hintergrund laufen, wurde der freie Zugang zu Hintergrunddiensten begrenzt.
  • Die Apps dürfen ihre Manifeste nicht verwenden, um die meisten impliziten Übertragungen zu registrieren (also die Übertragungen, die nicht konkret auf die App ausgerichtet sind).

Standardmäßig sind diese Begrenzungen nur bei den Apps angewendet, die auf O ausgerichtet sind. Die Benutzer können aber diese Begrenzungen durch den Bildschirm für die Einstellungen aktivieren, auch wenn die App nicht auf O ausgerichtet ist.

Android Hintergrundstandortbegrenzungen:

Um Energie, Nutzererfahrung und Systemintegrität zu erhalten, empfangen die Apps im Hintergrund Aktualisierungen. Die Veränderung der Funktionalität beeinflusst alle Apps, die Standortaktualisierungen empfangen, einschließlich Google Play Dienste.

Diese Veränderungen beeinflussen die folgenden APIs:

  • Fused Location Provider (FLP)
  • Geofencing
  • GNSS Messungen
  • Standort-Manager
  • Wi-Fi Manager

Die besten Kandidaten/Kandidatinnen sind in Bezug auf ihre Entscheidungen zuversichtlich und in ihrem Gedankengang ehrlich.

man with headphones
Die besten Kandidaten sind zuversichtlich in ihren Entscheidungen und aufrichtig in ihren Überlegungen.

3 . Die letzte Rückruffunktion des Lebenslaufs der Aktivität ist onDestroy(). Das System führt diese Methode in ihre Aktivität auf; das ist das letzte Signal, dass die Aktivität völlig aus dem Speicher des Systems entfernt wird. Normalerweise wird das System onPause() und onStop() aufgerufen, bevor es onDestroy() aufruft. Beschreiben Sie ein Szenario, wo onPause() und onStop() nicht aufgerufen werden.

onPause() und onStop() werden nicht aufgerufen, wenn finish() aus der onCreate() Methode aufgerufen wird. Es kann vorkommen, wenn Sie beispielweise einen Fehler während onCreate() erkennen und finish() als Ergebnis aufrufen. In einem solchen Fall wird aber das Entfernen, dass Sie in onPause() und onStop() erwartet haben, nicht ausgeführt.

Obwohl onDestroy() die letzte Rückruffunktion des Lebenslaufs der Aktivität ist, ist es erwähnenswert, dass diese Funktion nicht immer aufgerufen werden muss und dass Sie sich auf diese beim Zerstören der Ressourcen nicht verlassen sollten. Es ist besser, die Ressourcen in onStart() und onResume() zu kreieren, und sie entsprechend in onStop() und onPause() zu zerstören.

4. Wie stellt man ‘construction arguments’ in einem Fragment bereit?

Construction arguments werden für ein Fragment mithilfe der Fragment.setArgument(Bundle) Methode beritgestellt. Das bereitgestellte Bundle kann durch die Fragment.getArguments() Methode innerhalb des geeigneten Fragment-Lebenszykluses erneuert werden. Ein gängiger Fehler ist, Daten durch einen Custom Cunstructor einzuspeisen. 

Nicht voreingestellte Constructors auf einem Fragment sind nicht ratsam, weil das Fragment aufgrund einer Konfigurationsveränderung (z.B. orientation change) evtl. zerstört und wiederhergestellt wird. Das Benutzen von Using #setArguments()/getArguments() stellt sicher, dass, wenn das Fragment wiederhergestellt werden muss, das Bundle fortgesetzt/deserialisiert wird, sodass Konstruktionsdaten wiederhergestellt werden.

5. Wie würden Sie die Anwesenheit des Kompasssensors mithilfe der hasSystemFeature() Methode überprüfen?

Das Sensorsystem, das einen Teil von Android package gestaltet, hat die Klassen Sensor und SensorManager. Diese Klassen liefern aber die hasSystemFeature() Methode nicht. Sie dienen also nicht der Einschätzung der Systemfunktionen. Die Klasse PackageManager aber kann tatsächlich verwendet werden, um die Informationen über die verfügbaren Anwendungspakete auf dem Gerät herauszufinden. Eine Art des Überprüfens, ob es einen Kompasssensor im System gibt, ist:

PackageManager myCompass = getPackageManger();

If (!myCompass.hasSystemFeature(PackageManager.FEATURE_SENSOR_COMPASS))

{

// This device lacks a compass, disable the compass feature

}

6. Android 5.0 (Lollipop) hat eine neue, solidere API für die Bedienung aller Kameraoperationen eingeführt. Diese API ist unter android.hardware.camera2 Packet verfügbar. Wie würden Sie in dieser API die automatische Belichtung und den automatischen Fokus bei der Aufnahme des einzelnen Bildes vom Kamerasensor einschalten?

Die Antwort auf diese Frage ist ein Geheimnis von uns – fast niemand außer DevsData kann diese Frage beantworten 😉 Nur unsere Entwickler/innen, die es durch das Vorstellungsgespräch geschafft haben. Dadurch sind wir vergewissert, die Besten der Besten einzustellen.

Dann kann es losgehen!

Das Hauptziel der Vorstellungsgespräche für die Stelle von Android-Entwicklerinnen und Entwicklern ist, die technischen Kenntnisse und Fähigkeiten des Bewerbers/der Bewerberin ausführlich zu testen, und bei DevsData glauben wir, dass die oben genannte Fragen Ihnen helfen werden, sich auf das Vorstellungsgespräch vorzubereiten. 

Allerdings gibt es noch eine Sache, die beim Vorstellungsgespräch sehr wichtig ist, aber trotzdem nur selten besprochen wird — Soft Skills. Das Programmieren dreht sich im Großen und Ganzen um Teamwork. Die technischen Kenntnisse können unwichtig werden, wenn Sie Kommunikationsprobleme haben oder die eigene Arbeit nicht organisieren können. Schlüssel zum vollständigen Programmierer-Werden ist, das Gleichgewicht zwischen eigenen Kenntnissen und eigenem Arbeitsstil zu finden. Lehnen Sie sich also nicht zurück, entwickeln Sie sich weiter.

Wenn sich jemand nicht engagiert, wird er/sie nicht nur unproduktiv sein, sondern auch einen schlechten Einfluss aufs Team haben.

Two girls using a macbook
Wenn sich jemand nicht verpflichtet fühlt, was er tut, wird er nicht nur ineffektiv arbeiten, sondern sich auch nicht um die Auswirkungen kümmern, die er auf das gesamte Team hat.

Got a project idea?

Fill in an enquiry form and we’ll get back to you as soon as possible.

double quotes

Best back-end engineers I've ever worked with.

“I interviewed about a dozen different firms. DevsData LLC is truly exceptional – their backend developers are some of the best I’ve ever worked with. I’ve worked with a lot of very well-qualified developers, locally in San Francisco, and remotely, so that is not a compliment I offer lightly. Their depth of knowledge and their ability to get things done quickly.
Testimonials - Face
Nicholas Johnson

CEO OF ORANGE CHARGER LLC
MENTOR AT YCOMBINATOR

Acknowledgements

DevsData LLC  |  1820 Avenue M, Suite 481, Brooklyn, NY 11230

Market Watch
Digital Journal
ok icon
Thank you

We'll get back to you as soon as possible.