Spørgsmål til Android-interview og hvordan man interviewer kandidater

Hvis din virksomhed er på udkig efter at ansætte en virkelig god udvikler til dine Android-apps, eller hvis du ansøger om rollen som en Android-udvikler, hvordan sikrer du dig så, at du kan få den rigtige kandidat eller er forberedt på jobbet? Det hele starter med Android-interviewspørgsmålene. At gå det alene er altid en vanskelig forretning, nogen kan se godt ud i samtalen, men når ting bliver virkelige, kan de undertiden være en skuffelse. I denne artikel forklarer vi, hvordan man adskiller varerne fra det ikke så gode, og sikrer, at din virksomhed ender med de bedst mulige kandidater til at udfylde denne vigtige rolle.

Interviewteknikker fungerer begge veje. Så meget som det er vigtigt for potentielle kandidater at udvikle gode interviewfærdigheder, så det er lige så vigtigt for interviewere at stille de rigtige spørgsmål og udvikle færdigheder for at undgå at ansætte den forkerte person. Tillid kommer fra at have den rigtige ammunition i dit skab. Det handler om at forstå positionen, kravene til jobbet og de nødvendige spørgsmål for at sikre, at den interviewede er passende.

Under interviewet

Det er vigtigt, at du får den interviewede til at føle sig godt tilpas. Ingen nyder virkelig interviewprocessen, og det kan være ekstremt stressende. Jo mere du kan gøre for at få kandidaten til at lette, jo mere sandsynligt er det for, at du får en ægte fornemmelse af deres karakter.

Det er klart, som med enhver kandidat til enhver stilling i din virksomhed, at de grundlæggende spørgsmål til at bestemme deres karakter og tidligere arbejdsmetoder skal adresseres. Det er også en god ide at tjekke ud på sociale medier. I disse dage har alle en social medie tilstedeværelse, og det er en god ide at se hurtigt på deres posteringspost. Hvis de viser en mangel på integritet over for tidligere arbejdsgivere, er der ingen grund til at antyde, at de pludselig ændrer deres adfærdsmønstre. For mere information om, hvordan du vælger den rigtige udvikler til dit firma, kan du besøge vores blogindlæg her.

Så når du har stillet de sædvanlige generiske spørgsmål og får kandidaten til at føle sig godt tilpas, er det tid til at finde ud af, hvor meget de ved om Android-udvikling. Her bliver spørgsmålene mere specifikke for jobbet og måske endnu sværere.

Væsentlige spørgsmål

1. Hvad er Android, og hvem har grundlagt det?

Android er et open source, Linux-baseret operativsystem. Det blev grundlagt af Andy Rubin og bruges i mobiltelefoner, tablets, tv osv.

2. Navngiv Android-applikationsarkitekturen.

  • Aktiviteter dikterer brugergrænsefladen og håndterer brugerinteraktion med en smartphone-skærm. Aktivitet udfører handlinger på skærmen.
  • Broadcast-modtagere svarer på udsendelsesmeddelelser fra anden applikation i eller fra systemet. Dette implementeres som en underklasse i klassen BroadcastReceiver, og hver meddelelse genkendes som et Intentobjekt.
  • Tjenester. Disse bruges til at udføre baggrundsfunktioner.
  • Hensigt. Det er dette, der muliggør interforbindelse mellem aktiviteter og dataoverførselsmekanisme.
  • Ressource eksternalisering, der henviser til strenge og grafik.
  • Meddelelse om dialogboks, ikon, lys, anmeldelse, lyd og toast
  • Indholdsudbydere til deling af data mellem applikationer

3. Hvad er de ekstra komponenter til Android?

  • Fragmenter fungerer som en del af brugergrænsefladen i en aktivitet.
  • Visninger er UI-elementer, der tegnes på skærmen, herunder knapper, lister formularer osv.
  • Layouts viser hierarkier, der kontrollerer skærmformat og visningernes udseende.
  • Hensigten er meddelelser, der slutter komponenter sammen.
  • Ressourcer er eksterne elementer (strenge, konstanter og tegnbare billeder).
  • Manifest er konfigurationsfilen til appen.

4. Hvilke underretninger er tilgængelige i Android, og hvad er deres brug?

Snackbars & Toast Notification - Vises som en pop-up-meddelelse på overfladen af ​​vinduet.

Snackbars indeholder en enkelt tekstlinie, der er direkte i relation til den handling, der udføres. De indeholder typisk en teksthandling og ingen ikoner. Kun en snackbar kan vises ad gangen, og den kan indeholde en enkelt handling, hvoraf ingen af ​​dem kan være “Afvis” eller “Annuller”.

Ristet brød er kun tilgængeligt med Androids, og de bruges til systemmeddelelse. De vises også i bunden af ​​skærmen, men de kan ikke skubbes fra skærmen.

Statuslinjemeddelelser viser meddelelser på statuslinjen.

Besøg her for mere information om snackbars og toast.

Dialogmeddelelse - En aktivt relateret anmeldelse.

5. Hvordan oversætter du i Android?

Android bruger Google-oversætter til at oversætte data fra et sprog til et andet sprog og placerer det som en streng under udvikling.

6. Hvilke typer flag bruges til at køre en applikation i Android?

FLAG_ACTIVITY_NEW_TASK

FLAG_ACTIVITY_CLEAR_TOP.

7. Android-versioner går under kodenavne, så angiv så mange af kodenavnene, som du ved.

Aestro, Blender, Cupcake, Donut, Eclair, Froyo, Ingefærbrød, honningkage, Ice Cream Sandwich, Jelly Bean, Kitkat, Lollipop, Marshmallow

8. Hvad er de største fordele ved Android?

Android er et open source-operativsystem, hvilket betyder, at det er gratis for slutbrugeren. Der er ingen licens-, udviklings- eller distributionsgebyrer. Det understøtter mange forskellige teknologier, herunder kamera, Bluetooth, wifi, tale og kant. Derudover anvender den også en stærkt optimeret virtuel maskine kaldet DVM (Dalvik Virtual Machine) til brug på mobile enheder.

9. Kan du navngive den database, som Android bruger, og give en kort beskrivelse om den?

Navnet på databasen er SQLite, som er en open source-relationsdatabase. Det kan bruges til at udføre de sædvanlige databasefunktioner på Android-enheder. Det er ikke kun nemt at gemme, manipulere og hente data, men de er også indlejret i Android-platformen som standard. Ingen opsætning er nødvendig, administrationen er allerede på plads.

10. Hvad er de forskellige lagringsformer, der er tilgængelige i Android, og hvad er deres brug?

  • Delte indstillinger gemmer private primitive data i nøgleværdipar. SharedPreferences-klassen hjælper med at skabe en generel ramme, der giver brugerne mulighed for at gemme og hente vedvarende nøgleværdipar med primitive datatyper. SharedPreferences kan bruges til at gemme primitive data såsom booleaner, flyder, ints, longs og strenge. Disse data vedvarer på tværs af brugersessioner, også når ens applikation bliver dræbt. For mere information om, hvordan du får et SharedPreferences-objekt til ens applikation, klik her.
  • Intern lager gemmer private data i enhedens hukommelse. En gang kan gemme filer direkte på enhedens interne lager. Filerne, der er gemt på det interne lager, er som standard private for din applikation, og andre applikationer har heller ikke adgang til dem. Når brugeren afinstallerer din applikation, fjernes filerne derefter.
  • Ekstern lager lagrer offentlig dato på den delte eksterne lager. Hver Android-kompatibel enhed kan understøtte en delt "ekstern lagerplads", hvor ens filer kan gemmes. Dette kan være flytbart lagringsmedie (SD-kort) eller internt (ikke-aftageligt) lager.
  • SQLite-databaser gemmer strukturerede data i en privat database. Android giver fuld support til SQLite-databaser. Alle databaser, som man opretter, kan være tilgængelige ved navn til enhver klasse i applikationen. Bemærk, at de ikke er tilgængelige uden for applikationen.
  • Netværksforbindelse gemmer data på nettet med ens egen netværksserver. For at udføre netværksoperationer skal man bruge klasser i følgende pakker nedenfor:

java.net. *

android.net. *

11. Hvad er applikationswidgets i Android?

Applikations widgets er miniature applikationsvisninger, der kan integreres i andre applikationer (f.eks. Startskærmen) og modtage periodiske opdateringer. Disse visninger kaldes ofte Widgets i brugergrænsefladen, og du kan offentliggøre en med en App Widget-udbyder.

Byggesten og livscyklusser

12. Hvad er Android-kernebyggestenene

De vigtigste byggesten til Android er som følger:

  • Aktivitet - Klassen, der repræsenterer en enkelt skærm, dvs. en ramme i AWT
  • Vis - UI-elementet for eksempel en etiket, knap eller tekstfelt. Grundlæggende er alt, hvad der ses, en visning
  • Intent - det, der bruges til at påberåbe komponenter. Start f.eks. Tjenesten, vis en webside eller udsend en meddelelse.
  • Service - baggrundsprocessen. Disse findes i to lokale typer, der er adgang til fra applikationen og fjernbetjening, der kan fås adgang fra andre enheder.
  • Indholdsudbyder - disse bruges til at dele data mellem forskellige applikationer.
  • Fragment - separate dele af aktiviteten, der kan vises i multipler på samme tid.
  • AndroidManifest.xml - Dette indeholder oplysninger om aktiviteter, tilladelser og indholdsudbydere osv.
  • Android Virtual Device (AVD) - som bruges til at teste applikationen uden brug af en tablet eller anden enhed.

13. Kan du navngive de 7 livscyklusmetoder til Android-aktivitet og forklare lidt om hver enkelt?

De syv livscyklusmetoder er som følger:

1) onCreate () - hvilket betyder, at der er oprettet en aktivitet

2) onStart () - hvilket betyder, at det er blevet synligt for brugeren.

3) onResume () - hvilket betyder, at aktiviteten er begyndt at interagere med brugeren

4) onPause () - hvilket betyder, at aktiviteten ikke er synlig for brugeren

5) onStop () - hvilket betyder, at den ikke længere er synlig for slutbrugeren

6) onRestart () - hvilket betyder, at aktiviteten er stoppet, inden den startes

7) onDestroy () - hvilket betyder, at aktiviteten vil blive ødelagt

Android-akronymer

14. Hvad står ADB i Android for?

ADB fungerer som en bro mellem emulator og IDE. Det udfører også eksterne shell-kommandoer til at køre applikationer på en emulator.

15. Hvad er ANR i Android?

ANR står for ansøgning svarer ikke. Det er en dialogboks, der vises, når applikationen ikke svarer.

16. Hvad står ADT for?

ADT er Android-udviklingsværktøj, og det bruges til at udvikle applikationer og teste applikationerne.

17. Hvad står DDMS for, og hvad er dens muligheder

Dette henviser til Delvik Debug Monitor Server. Afhandling et debugging-værktøj, der er inkluderet i Android Studio. Det kan bruges til port-videresendelse af tjenester, tråd- og heap-oplysninger på enheden, skærmfangst på enheden, logcat, proces og radiostatusinformation. Derudover tilvejebringer den blandt andre tjenester indkommende opkalds- og SMS-spoofing og lokaliseringsdata-spoofing.

Læs mere her for mere information.

Hensigt

18. Hvad er en hensigt og giver tre eksempler på, hvordan det bruges?

Tre almindelige anvendelser til en hensigt er:

  • Start af en aktivitet Det er normalt at starte en ny forekomst af en aktivitet ved at videregive en intention til startActivity () -metoden.
  • Levering af en udsendelse Dette kan gøres ved at videregive en hensigt til sendBroadcast (), sendStickyBroadcast () og sendOrderedBroadcast ()
  • Start af en tjeneste, dette kan bruges til at udføre en engangsoperation, for eksempel at downloade en fil. Det opnås ved at give en hensigt til startService ()

For mere information henvises til dette afsnit i Android Developer's Guide.

19. Kan en hensigt bruges til at give data til en ContentProvider?

Nej, en intention kan ikke bruges til at give data til en ContentProvider. For at bruge data i en ContentProvider skal du i stedet bruge ContentResolver. Dette er i applikationens kontekst og bruges til at kommunikere med udbyderen som klient. Udbyderobjektet fungerer ved at modtage dataanmodninger, udføre den krævede handling og derefter returnere resultaterne.

20. Ved hjælp af med vilje kan vi starte en aktivitet.

Intent intention = new Intent (dette, MyTestActivity.class);
       startActivity (intent);

Definitioner og løsninger

21. Definer applikationsressourcefilen i Android.

JSON, XML bitmap.etc er applikationsressourcer. Du kan injicere disse filer til at opbygge processen og kan indlæse dem fra koden.

22. Hvad er en adapter i Android?

En adapter fungerer som en bro. Det konverterer dataelementer til nye elementer, så de kan vises i UI-komponenter.

Besøg her for mere information om adaptere.

23. Hvor er layouts placeret i Android?

I mappen Layout placeres layout som XML-filer.

24. Hvad er en singleton-klasse i Android?

En klasse, der kun kan oprette et objekt, det objekt kan deles med andre klasser.

25. Hvad er et fragment i Android?

Et fragment er et stykke aktivitet, og det er altid indeholdt i aktivitet. Med fragment kan vi genbruge det i mange aktiviteter, og det er mere fleksibelt at lokalisere på en skærm.

26. Hvad er dvaletilstand i Android?

Dvaletilstand betyder, at CPU'en sover, og den accepterer ikke kommandoer fra en Android-enhed undtagen Radiogrænsefladelag og alarm.

27. Hvilken kernal bruges i Android?

Android er en tilpasset Linux 3.6-kerne.

28. Hvilke undtagelser er tilgængelige i Android?

InflateException, Surface.OutOfResourceException, SurfaceHolder.BadSurfaceTypeException og WindowManager.BadTokenException

29. Hvad er rækkefølgen af ​​dialogboksen i Android?

Ordren er: Positiv, neutral, negativ.

30. Hvad er en mappe, der kan trækkes i Android?

En samlet visuel ressource, der kan bruges som baggrunde, bannere, ikoner, splashskærm osv.

31. Hvad betyder ContentProvider, og hvad er det normalt?

En ContentProvider bruges til at styre adgangen til et struktureret datasæt. Det identificerer dataene og tilvejebringer mekanismer til at definere datasikkerheden. Det er standardgrænsefladen, der forbinder data inden for en proces med koden, der kører i en anden. For mere information henvises til dette afsnit i Android Developer's Guide.

32. Hvordan videresender du dataene til underaktiviteter android?

Ved hjælp af med Bundle kan vi videregive dataene til underaktiviteter.

Bundle bun = nyt bundle ();

bun.putString ("EMAIL", "[email protected]");

33. Du omorienterer en skærm, i stedet for at Android river forgrunden ned og gendanner visningsværdierne i aktivitetslayouten, gendannes en visnings værdi ikke efter omorienteringen. Hvad er den sandsynlige årsag til dette?

Den mest sandsynlige årsag er, at udvikleren ikke har verificeret, at den har et gyldigt id. Et Android-system gendanner kun visningstilstanden i aktiviteten, hvis hver visning får et unikt id. Dette leveres af attributten, android: id

For mere information henvises til dette afsnit i Android Developer's Guide.

Android-bibliotek

34. Beskriv Android-biblioteket.

Et Android-bibliotek er et udviklingsprojekt, der indeholder delt Android-kildekode og andre ressourcer. Det indeholder alt, hvad der er nødvendigt for at opbygge en app, der inkluderer kildekode, ressourcefiler og et Android-manifest. Det samler alt i en Android Archive (AAR) -fil, der kan bruges som afhængighed for et Android-appmodul.

35. Hvornår bruges Android-biblioteksmodulet?

Android-biblioteksmodulet kan bruges, når man bygger flere apps, der kræver eller bruger de samme komponenter som aktiviteter, tjenester eller UI-layout. Det bruges også, når man bygger en app, der findes i flere APK-variationer, såsom gratis og betalt version, der har brug for de samme kernekomponenter til begge.

Denne guide kan hjælpe brugere med at lære, hvordan man opretter et Android-bibliotek.

For at holde sig ajour med den nyeste Android-udvikling er det vigtigt, at du fortsætter med at udvikle dine evner, når systemerne også udvikler sig og ændrer sig over tid. Dette giver dig mulighed for at være foran konkurrencen og blive et mere værdifuldt aktiv for din klient og dit team.

Android-tråd

36. Hvad er en tråd?

”En tråd er en tråd til udførelse i et program.” Hver tråd har en prioritet, og jo højere prioritet har tråden, de er udført, fortrinsvis for tråde med lavere prioritet. Når koden kører i tråd og opretter et nyt trådobjekt, har den nye tråd oprindeligt sin prioritet lig med prioriteringen af ​​den oprettende tråd, og er en dæmontråd, hvis og kun hvis den oprettende tråd er en dæmon.

37. Hvordan opretter man en ny tråd til udførelse?

Der er to måder, man kan oprette en ny udførelsestråd på. Den ene er ved at erklære en klasse for at være en underklasse af tråd. Underklassen tilsidesætter køremetoden til klasse tråd. Underklassen kan tildeles og startes. Et eksempel på en tråd, der sammensætter primer, der er større end en angivet værdi, er nedenfor:

klasse PrimeThread udvider tråd {
        lang minPrime;
        PrimeThread (lang minPrime) {
            this.minPrime = minPrime;
        }
        offentlig annullering () {
            // beregne primes, der er større end minPrime
             . . .
        }
    }

Koden nedenfor opretter en tråd og starter den med at køre:

PrimeThread p = nyt PrimeThread (143);
    p.start ();

En anden måde at oprette en tråd på er at erklære en klasse, der implementerer en Runnable interface. Denne klasse implementerer køremetoden. Klassen kan tildeles, videregives som et argument, når du opretter tråd og starter.

klasse PrimeRun implementerer Runnable {
        lang minPrime;
        PrimeRun (lang minPrime) {
            this.minPrime = minPrime;
        }
        offentlig annullering () {
            // beregne primater, der er større end minPrime
             . . .
        }
    }

Koden nedenfor opretter en tråd og begynder at køre:

PrimeRun p = ny PrimeRun (143);
    ny tråd (p) .start ();

38. Kan mere end en tråd have samme navn?

Ja. Hver tråd har et navn for at blive identificeret. Hvis der ikke er angivet et navn, når en tråd oprettes, oprettes der et nyt navn til det.

Besøg her for mere information om Android-tråd.

Konklusion

Bemærk, at disse spørgsmål ikke dækker alle kompleksiteterne i Android-udvikling, og at de simpelthen tilbydes som en guide. Ved at bruge disse spørgsmål vil du være i stand til at få en reel fornemmelse af kandidatens evne eller hvad du kan forvente i et interview. Uanset hvad foretrækkes det stadig at bruge et kvalitetsbureau som Pangara til at hjælpe med processen, uanset om man ansætter eller ser ud til at blive ansat. Pangara har specialteam, der allerede har interviewet og overvåget kandidaterne samt en unik kvalifikationsproces for at udråbe de allerbedste udviklere derude. Hvis Pangara leverer en Android-udvikler til enhver virksomhed, kan du være sikker på, at personen vil være ideel til jobbet.

Her håber du får den rigtige person til din position. Når alt kommer til alt er din virksomhed afhængig af det.

* Dette indlæg blev redigeret og gennemgået af Binh Nguyen, mobil talent hos Pangara.

Hvis du er klar til at tage det næste skridt og deltage i Pangaras eksklusive netværk af freelancere, så lad os komme i gang! Bliv et Pangara-talent i dag.

Sørg for at følge med på vores seneste nyhedsopdateringer og begivenheder på vores Facebook-side, LinkedIn og Twitter.

Oprindeligt offentliggjort på pangara.com den 13. november 2017.