Android-udviklerfærdigheder og interviewspørgsmål

Udgivet: Sidst opdateret:
Android: spørgsmål til interview med softwareingeniører

Færdigheder som Android-udvikler er meget efterspurgte, og denne efterspørgsel forventes at vokse yderligere, da Android er det dominerende mobile styresystem i dag og kører på utallige modeller af smartphones og tablets samt mange andre enheder. Som følge heraf har en rekrutteringskampagne for Android Developer er ret svært. Det skal være hurtigt og præcist, hvis du vil ansætte de bedste. Ellers vil dine konkurrenter stjæle din kandidat. Screening tager normalt mest tid, så lad os finde ud af, hvordan du kan gøre det på en hurtig og effektiv måde.

1. Hvad er Android?

Android er verdens mest populære styresystem, der primært er beregnet til mobile enheder. Kildekoden er udviklet af Google under Android Open Source Project (AOSP). Efterfølgende versioner udgives normalt årligt og annonceres på Google I/O-konferencerne.

Det karakteristiske træk er, at det ud over telefoner kan installeres på tablets og en række andre indbyggede enheder, f.eks. tv'er (Android TV), skærme i biler (Android Auto) eller ure (Android Wear).

De vigtigste fordele ved Android-systemet er følgende:

  • åben kildekode (https://source.android.com/)
  • platformen er udviklet af Google. Hvert halve år giver systemet brugerne og programmørerne noget nyt. Google er meget omhyggelig med at udvikle hele økosystemet, udvikler en række biblioteker, værktøjer (IDE'er baseret på IntelliJ), arrangerer en masse konferencer, workshops, screencasts osv.
  • ensartet design, især siden konceptet Material Design blev introduceret. Den konstante kamp for at opretholde et ensartet udseende af applikationer i Android, så brugerne ikke mister forståelsen for, hvordan de skal bruge en bestemt app, når de skifter mellem forskellige apps.

2. Liste over Android-udviklerfærdigheder

Hvad er vigtigt for en it-ansætter at vide om Android? Der er visse ting, som en it-rekrutteringsmedarbejder bør være opmærksom på, når det gælder Android:

  • Android-platformens arkitektur: hvor mange processer startes under opstart af appen, hvor mange tråde startes, på hvilke måder kommunikerer applikationen med systemet og andre applikationer (f.eks. som i følgende scenario: vælge en kontakt, dele et billede), hvad er en hovedtråd, og hvordan fungerer den i Android
  • Grundlæggende komponenter i platformen: Aktivitet, fragment, tjeneste, hensigt, BroadcastReceiver, ContentProvider.
  • Standardbiblioteker og de mest populære biblioteker, der understøtter oprettelsen af applikationer. Dette er nogle eksempler på biblioteker: Android Support Library, Google Play Services, Retrofit, OkHTTP, rxJava, EventBus, Dagger
  • Designmønstre, der gør det muligt at skrive applikationer på en måde, der gør det nemt at vedligeholde, udvide og teste dem. De seneste tendenser: MVP, MVVM, ren arkitektur
  • Regler for oprettelse af effektive visninger, mulighed for at oprette genanvendelige brugerdefinerede visninger
  • Evne til at håndtere markedsfragmenteringen og de mange forskellige enheder fra forskellige producenter med forskellige systemversioner. Mekanismer, som platformen tilbyder for at sikre, at applikationen fungerer gnidningsløst på enheder med skærme af forskellig størrelse/densitet, forskellige sprogversioner og forskellige versioner af selve systemet
  • [På en lettere måde] Hver Android-version har et ciffer og et bogstav (fra C til N). Google forsøger altid at finde på et navn på et bagværk eller noget sødt, der begynder med et bestemt bogstav, og det er sådan, de kalder de efterfølgende Android-versioner: Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Icecream Sandwich, Jellybean, KitKat, Lollipop, Marshmallow, Nougat). En kandidat bør kunne opregne disse navne, hvis han/hun er interesseret i platformens levetid og dens udvikling 🙂 .

3. Hvordan kan man kontrollere Android-udviklerens færdigheder i screeningsfasen?

Det er svært at screene, når man ikke er en Android-udvikler selv. Det er endnu sværere, når selve teknologien udvikler sig hele tiden og kræver, at du er opdateret. Så lad os gå videre til et par praktiske rekrutteringstips om, hvordan man kan kontrollere Android-udviklerkompetencer.

3.1. Teknisk screening af Android-færdigheder på grundlag af CV

En kandidats CV kan fortælle os mange nyttige oplysninger, men du skal vide, hvordan du udvælger det vigtigste. Som it-rekrutteringsspecialist skal du kigge efter følgende værdifulde oplysninger i en udviklers cv:

  • En række applikationer udgivet på Google Play. Hvis de stadig er tilgængelige, bør det kontrolleres, hvordan de ser ud, hvordan de fungerer, og hvor mange downloads de har i Google Play.
  • Hvor stort var udviklerens team, og hvad var deres rolle i projektet? Blev det projekt, som de arbejdede på, også udviklet til andre platforme (iOS? Windows Phone?)?

Hvis du ikke kan finde ud af det ud fra selve CV'et, er det værd at stille disse spørgsmål under et telefon- eller videointerview.

Som teknisk rekrutteringsmedarbejder, der leder efter en Android-udvikler, skal du være bekendt med al den terminologi, som kandidaterne bruger. Derfor har vi udviklet denne Android-glossar for it-rekrutteringsfolk, så du taler det samme sprog som din kandidat i screeningsprocessen.

Android-teknologi - grundlæggende ordliste over Android-termer for it-ansættere

Grundlæggende Android-komponenter Aktivitet, fragment, hensigt, tjeneste, BroadcastReceiver, ContentProvider
Testværktøjer Espresso, Mockito, Robolectric
Grundlæggende brugergrænsefladekomponenter (hovedsagelig fra Material Design) Værktøjslinje, ViewPager, RecyclerView, CardView, Flydende handlingsknap, Navigationsskuffe, BottomBar, CoordinatorLayout
Byg værktøjer Gradle (Eclipse og ADT er arvestykker)
De mest populære biblioteker Supportbibliotek, Google Play-tjenester, Retrofit, EventBus, rxJava, rxAndroid, OkHttp, Dagger


Flere oplysninger om Android-teknologien, som er nyttige fra en it-rekrutteringsmedarbejders synspunkt

I Android-verdenen er der nogle vigtige systemudgivelser, som på en måde er revolutionerende eller introducerer noget nyt. Du kan få yderligere oplysninger på http://socialcompare.com/en/comparison/android-versions-comparison eller se det korte resumé nedenfor:

Android 7.0

  • Multivinduetilstand (to programmer vises samtidig på en delt skærm)

Android 6.0

  • Kørtidstilladelser. Ny tilgang til at anmode om adgang til brugernes følsomme data (baseret på eksemplet iOS)

Android 5.0

  • Materielt design. UI-revolution i applikationer

Android 4.0

  • Den første version af systemet, som ikke har varianter til telefoner/tablets, men som fungerer på enheder med alle typer skærme

Certificering i Android

Tidligere erfaring: Hvad er vigtigt for en it-ansætter

Hvis du kan se i et CV som Android-udvikler, at vedkommende har et par års erfaring, skal du grave lidt dybere og kigge efter følgende ting i CV'et:

  • Jeg har allerede skrevet om dette i "Hvad skal man tage hensyn til, når man screener CV?". Erfaring er det vigtigste: teamwork, antallet af publikationer og produktionsproblemer, som en kandidat har oplevet og kan tale flydende om på en interessant måde, der går ud over "mit team og jeg har løst sådanne og sådanne problemer". Det er vigtigt, hvilke problemer personen har løst, og hvad han/hun har bidraget til.

Hvad mere i CV'et kan hjælpe med at vurdere Android-programmeringskompetencer?

  • Alt, hvad der har med Java-programmering at gøre. Workshops, certifikater, viden om mønstre. Java er Androids grundlæggende programmeringssprog, og selv hvis der kommer andre sprog, vil de være baseret på JVM (specifikt Android Runtime, ART), så det er meget nyttigt at kende alle begrænsninger og regler vedrørende Java-programmering.

3.2. Teknisk screening af Android-færdigheder under et telefon-/videointerview

Et CV giver dig nogle grundlæggende oplysninger om en udviklers færdigheder, men det fortæller dig ikke noget om udvikleren som person og er ikke tilstrækkeligt til at give dig solid viden om hans eller hendes kodningsevner.

Nedenfor finder du et par eksempler på spørgsmål, der kan fortælle dig mere om kandidaten.

1. Fortæl os om det mest interessante problem, du er stødt på, efter du har offentliggjort en applikation til brugerne. Hvordan løste du dette problem?

  • Dette spørgsmål afslører eventuelle mangler i erfaringerne hos en anstændig udvikler, som bør give masser af eksempler fra toppen af hovedet på problemer, som de har løst, og som har gjort dem stolte. Hvis nogen bare deltog, kan de fare vild i besvarelsen af spørgsmålet.

2. Opregne færdige komponenter i Material Design, hvis implementeringer kan findes i Support-biblioteksfamilien.

  • Et svar på dette spørgsmål viser kendskab til den grundlæggende familie af biblioteker, som alle programmer bruger. Kandidaten skal som minimum kunne opregne følgende: CardView, RecyclerView, Floating Action Button, Toolbar, Navigation Drawer. Hvis en programmør kender disse komponenter, betyder det, at vedkommende ikke skal genopfinde hjulet, når han/hun skaber en klassisk applikation, men bruge pålidelige og almindeligt anvendte komponenter fra et gratis bibliotek.

3. Hvad er din foretrukne genvej i Android Studio?

  • Et svar på dette spørgsmål viser, i hvilken grad en kandidat er interesseret i det værktøj, som han/hun bruger dagligt, og i hvilken grad han/hun behersker det. En kandidat bør nemt kunne opregne mindst 4-5 genveje, som han/hun bruger hver dag. Jo flere eksempler de giver, jo bedre afspejler det dem. Det er et dårligt tegn, når en programmør, der ikke kender genveje og bruger musen til alting, er et dårligt tegn.

4. Hvad skal du gøre for at få en Android-applikation til at fryse?

  • Svaret på dette spørgsmål er: Udfør for mange operationer i hovedtråden. Et svar på dette spørgsmål viser kandidatens kendskab til platformens arkitektur. Det er et absolut must at kunne besvare dette spørgsmål. En kandidat, der ikke er i stand til at give et svar, vil ikke kunne skrive en applikation, der er hurtig og stabil set fra brugernes synspunkt.

5. Hvordan håndterer du fragmentering?

  • Markedet for Android-telefoner er det mest forskelligartede af alle mobilplatforme. At kunne svare på dette spørgsmål betyder, at en kandidat kender platformens grundprincipper godt, at han/hun ved, hvad den tilbyder, og at han/hun ved, hvordan man sikrer applikationens kompatibilitet på en bestemt version af systemet, enheder med forskellige skærme osv.

6. Det er også en god idé at spørge om kilden til udviklerens projekter, dvs. PSD eller leveret af en designer. Hvordan håndterer de klipning af grafik og samarbejde med designere?

Anbefalet læsning: Komplette lønoplysninger for Android-udviklere

4. DevSkiller færdige online tests for Android-udviklerfærdigheder klar til brug

Hos DevSkiller tilbyder vi virksomheder en infrastruktur, som giver dem mulighed for at oprette deres egne programmeringstest, hvor de kan bruge deres egen kodebase, hele it-projekter ved hjælp af frameworks og biblioteker til at teste programmører online. Vi har dog også nogle færdige .NET-kodningstests, som du kan bruge i din rekrutteringskampagne.

Android
SENIOR
Testede færdigheder
Varighed
48 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Android

Huller i koden

vurdering af viden om Android, Java, ProGuard

Programmeringsopgave - Niveau: svær

Android | Java | ProGuard-konfiguration - Implementer ProGuard-konfigurationen for at fjerne udviklerens kode fra kodebasen - på kompileringstidspunktet.

Android
SENIOR
Testede færdigheder
Varighed
58 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Android

Huller i koden

vurdering af viden om Android, Kotlin

Programmeringsopgave - Niveau: svær

Android | Kotlin, C | JNI Magic - Implementer JNI-funktionaliteten, der gør det muligt at kalde Base::getBaseComponent-metoden med kun en klientinstans.

Android
MIDDLE
Testede færdigheder
Varighed
61 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Android

Huller i koden

vurdering af viden om Android, Kotlin

Programmeringsopgave - Niveau: Medium

Android | Kotlin | Notepad-app - Kompletter de grundlæggende funktioner i en noteapp ved hjælp af RecyclerView.

Android
SENIOR
Testede færdigheder
Varighed
52 minutter max.
Evaluering
Automatisk
Testoversigt

Huller i koden

vurdering af viden om Android, Kotlin

Programmeringsopgave - Niveau: svær

Android | Kotlin | Bitmap manipulation - Komplet program til billedmanipulation, der udfører nogle operationer på det valgte billede.

Android
JUNIOR
Testede færdigheder
Varighed
53 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Android,

Huller i koden

vurdering af viden om Android, Kotlin og Java

Programmeringsopgave - Niveau:

Android | Kotlin | Employees Application - Komplet app, der viser en liste over personer med ansvar for forskellige områder i virksomheden, f.eks. IT eller lønningsliste.

Android
SENIOR
Testede færdigheder
Varighed
45 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Android

Programmeringsopgave - Niveau: svær

Android | Vibrations-API - Implementer en metode til at afspille en fin melodi via den indbyggede haptiske enhed for at angive, at der er blevet skiftet til en funktion.

Android
MIDDLE
Testede færdigheder
Varighed
39 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Android

Programmeringsopgave - Niveau: Medium

Android | Kotlin | ConstraintLayout Animation - Implementer animationer af layoutelementer ved hjælp af ConstraintLayout API.

Android
SENIOR
Testede færdigheder
Varighed
75 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Android

Programmeringsopgave - Niveau: svær

Android | Kotlin | Image Fetch (KitKat + TLSv1.2) - Juster implementeringen af MainActivity, så OkHttp-klienten understøtter TLS 1.2, selv om det er blevet deaktiveret af operativsystemet.

Android
SENIOR
Testede færdigheder
Varighed
75 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Android

Programmeringsopgave - Niveau: svær

Android | OpenGL ES Demo - Formålet med denne opgave er at kontrollere kandidatens viden om GLSL ES 100.

Del indlæg

Få mere at vide om ansættelse af teknologiske medarbejdere

Tilmeld dig vores Learning Hub for at få nyttig viden direkte i din indbakke.

Kontroller og udvikl kodningsevner uden problemer.

Se DevSkiller-produkterne i aktion.

Sikkerhedscertificeringer og overholdelse. Vi sørger for, at dine data er sikre og beskyttede.

DevSkiller-logo TalentBoost-logo TalentScore-logo