top 35 android interview questions
Domande di intervista di base su Android per matricole e sviluppatori e tester esperti:
In questa era tecnologica, c'è un'enorme richiesta di sviluppatori di applicazioni Android ed è anche uno dei lavori altamente retribuiti.
Quindi molte persone esperte di tecnologia stanno cercando di farsi strada in questa carriera. Ci sono diverse domande difficili da intervistare che vengono poste in molte multinazionali e in alcune aziende di piccole dimensioni. E questo articolo include una serie di tali domande e risposte di interviste Android che saranno utili a milioni di persone in cerca di lavoro.
Esploriamo !!
Questo articolo include una serie di domande e risposte di interviste Android più comuni che coprono quasi tutti i concetti importanti in termini semplici per consentire a qualsiasi persona in cerca di lavoro di completare con successo l'intervista.
Domande e risposte ai colloqui Android più popolari
Di seguito è riportato l'elenco delle domande di intervista Android più frequenti
D # 1) Cos'è Android?
Risposta: Android è un sistema operativo open source ed è popolare principalmente per smartphone e tablet.
Questo sistema operativo è basato sul kernel Linux. Utilizzando il sistema operativo Android, lo sviluppatore sviluppa le funzioni o programmi che possono eseguire operazioni di base e avanzate sullo Smartphone.
D # 2) Cos'è l'SDK di Android?
Risposta: Per sviluppare un'applicazione mobile, gli sviluppatori Android richiedono alcuni strumenti e questo requisito è soddisfatto da 'Android SDK', che è un insieme di strumenti utilizzati per lo sviluppo o la scrittura di app.
Ha un'interfaccia utente grafica che emula l'ambiente Android. Questo emulatore si comporta come un vero e proprio dispositivo mobile su cui gli sviluppatori scrivono il loro codice e quindi eseguono il debug / test dello stesso codice per verificare se qualcosa non va.
D # 3) Quali sono le diverse versioni del sistema operativo Android che ricordi?
Risposta: Di seguito sono riportate le varie versioni di Android.
Versione | Nome |
---|---|
Android 4.0-4.0.4 | Panino gelato |
Android 8.0 | Aerazione |
Android 7.0 - 7.1.2 | Torrone |
Android 6 - 6.0.1 | Marshmallow |
Android 5 - 5.1.1 | Lecca-lecca |
Android 4.4 - 4.4.4 | Kit Kat |
Android 4.1 - 4.3 | Jelly Bean |
D # 4) Qual è la differenza tra test di applicazioni mobili e test di dispositivi mobili?
Risposta: Il test delle app mobili è il test delle applicazioni su un dispositivo che si concentra principalmente sulle funzioni e caratteristiche dell'applicazione.
E Mobile Testing è il test del dispositivo mobile effettivo e si concentra su funzionalità mobili come chiamate, SMS, contatti, lettore multimediale, browser integrati, ecc.
D # 5) Assegna un nome alle lingue supportate per lo sviluppo Android.
Risposta: Java è il linguaggio ampiamente utilizzato per lo sviluppo Android. Supporta anche C / C ++ e, se utilizzato con Android SDK, migliora anche la velocità delle prestazioni.
Q # 6) Quali sono i vantaggi del sistema operativo Android?
Risposta: È open source e indipendente dalla piattaforma. Supporta varie tecnologie come Bluetooth, Wi-Fi, ecc
D # 7) Spiega brevemente l'architettura Android.
Risposta: L'architettura Android è sotto forma di componenti dello stack software.
Il diagramma seguente descrive i diversi livelli nell'architettura Android.
- Kernel Linux : Linux Kernel si trova nella parte inferiore dello stack software ed è la base dell'architettura Android. Utilizzando il kernel Linux, Android fornisce una connessione tra gli altri livelli del software. Aiuta a sviluppare driver come la tastiera, il display, l'audio per la produzione del dispositivo, ecc.
- Livello di astrazione hardware (HAL) : HAL fornisce un'interfaccia tra i driver di dispositivo e il framework API. Consiste di moduli di libreria specifici per il componente hardware.
- Runtime Android : Il kernel Linux fornisce un ambiente di esecuzione multi-tasking in modo che più processi possano eseguire ogni processo eseguito sulla propria istanza di Android Runtime (ART). Android ha librerie di runtime di base come librerie specifiche di Dalvik VM, librerie di interoperabilità Java, librerie Android e librerie C / C ++.
(Immagine fonte )
- Framework dell'applicazione (Java API Framework) : Tutte le funzionalità di Android sono disponibili tramite l'API. Consiste di più servizi come Activity Manager, Resource Manager, Notification Manager, ecc., Che formano l'ambiente in cui viene eseguita l'applicazione Android.
- Applicazioni : L'applicazione Android è un livello superiore e tutti i tipi di applicazioni integrate come SMS, browser, contatti, ecc. Sono inclusi in questo livello superiore. Include anche applicazioni di terze parti installate dall'utente come giochi, ecc.
D # 8) Definisci e spiega il Framework Android.
Risposta: Il framework Android è un insieme di API che utilizzano le quali gli sviluppatori Android scrivono il codice per le app mobili. Contiene i metodi e le classi per scrivere il codice di programmazione.
Il framework Android include un diverso set di strumenti per creare riquadro immagine, campo di testo, pulsanti, ecc. Include anche 'Attività' con cui l'utente interagisce e 'Servizi', che sono i programmi che vengono eseguiti in background. È un pacchetto di diversi componenti come Intents, Broadcast Receivers, Content Provider, ecc.
D # 9) Quali componenti sono necessari per un nuovo progetto Android?
Risposta: Ogni volta che viene creato un nuovo progetto Android, sono richiesti i componenti seguenti:
- manifesto: Contiene un file XML file.
- costruire/: Contiene output di build.
- src /: Contiene il codice e i file di risorse.
- Manzo/: Contiene immagini bitmap, stringhe dell'interfaccia utente e layout XML, ovvero tutte le risorse non di codice.
- risorse/: Contiene un file che dovrebbe essere compilato in un file .apk file.
L'immagine sotto mostra la vista del progetto una volta creato un progetto Android:
(Immagine fonte )
D # 10) Fornisci i componenti principali importanti di Android.
Risposta: I componenti principali dei sistemi operativi Android sono:
- Attività
- Intenti
- Servizi
- Fornitore di contenuti
- Frammento
D # 11) Spiega brevemente: cosa si intende per Attività?
Risposta: Le attività sono la parte dell'app mobile con cui l'utente può vedere e interagire.
Per esempio , se apri un'app SMS che ha più attività come creare un nuovo SMS, aggiungere un contatto dalla rubrica, scrivere il contenuto nel corpo dell'SMS, inviare SMS al contatto selezionato, ecc.
L'attività tiene traccia di quanto segue:
- Tiene traccia di ciò che un utente sta attualmente cercando in un'app.
- Tiene traccia dei processi utilizzati in precedenza, in modo che l'utente possa passare dal processo in corso a quello precedente.
- Aiuta a terminare i processi in modo che l'utente possa tornare al loro stato precedente
Un'attività viene implementata come una sottoclasse della classe Attività come mostrato di seguito:
La classe pubblica MyActivity estende Activity
{
}
D # 12) Cosa si intende per Servizi?
Risposta: Il servizio è un componente Android che viene eseguito in background e agisce in modo indipendente. Non fornisce alcuna interfaccia utente.
Sebbene i servizi siano in esecuzione dietro le quinte, un utente può continuare a lavorare su diverse app. La maggior parte delle volte, gli utenti non sono a conoscenza dei servizi in esecuzione in background. Questi servizi consentono al sistema di terminare il processo senza interrompere il lavoro in corso dell'utente.
Un servizio è implementato come una sottoclasse della classe Service:
buon downloader di musica mp3 per Android
La classe pubblica MainService estende Service
{
}
D # 13) Spiegare brevemente il ciclo di vita dell'attività.
Risposta: Quando un utente interagisce con l'app e si sposta qua e là, fuori dall'app, torna all'app, ecc. Durante tutto questo processo, le istanze di 'Attività' si muovono anche nelle diverse fasi del loro ciclo di vita.
Esistono sette diversi stati come: onCreate (), onStart (), onRestart (), onResume (), onPause (), onStop () e onDestroy (). Questi sono definiti come 'richiamata'. Il sistema Android richiama questi callback per sapere che lo stato è stato modificato.
Il diagramma riportato di seguito descrive il ciclo di vita dell'attività:
(Immagine fonte )
Quando un utente sta lavorando su un'app, ci sono molte attività coinvolte in essa come Apri, Chiudi, Salva, Elimina, Invia, ecc.
In base all'azione dell'utente, queste attività sono parzialmente disconnesse dall'interfaccia utente, ma queste attività risiedono sempre nella memoria in modo che quando l'utente richiama la stessa attività, l'utente si troverà nello stesso stato in cui era stato interrotto.
Q # 14) Cos'è un intento?
Risposta: Android ha una classe Intent quando l'utente deve spostarsi da un'attività all'altra. L'intento visualizza le notifiche dal dispositivo all'utente, quindi l'utente può rispondere alla notifica se necessario.
Di seguito sono riportati i due tipi:
- Intenti impliciti
- Intenti espliciti
D # 15) Spiega gli intenti impliciti ed espliciti.
Risposta: L'intento implicito chiama i componenti di sistema mentre gli intenti espliciti richiamano la classe Activity.
D # 16) Qual è l'importanza di impostare l'autorizzazione nello sviluppo di app?
Risposta: Una volta impostate le autorizzazioni per lo sviluppo dell'app, i dati e il codice sono limitati ai soli utenti autorizzati.
Se il codice viene conservato senza alcuna restrizione o se è accessibile a chiunque, ci sono possibilità di compromissione del codice che si traduce in perdita di difetti.
D # 17) Cos'è l'estensione .apk in Android?
Risposta: È un formato di file predefinito utilizzato dal sistema operativo Android. Application Package Kit (APK) viene utilizzato per l'installazione di app mobili. .Apk contiene file di risorse, certificato, file manifest e altro codice.
I file APK sono file di archivio nel formato zip con estensione .apk.
D # 18) Qual è il database utilizzato per la piattaforma Android?
Risposta: SQLite è il database utilizzato per la piattaforma Android. È un database open source e senza server.
D # 19) Cos'è l'ANR in Android?
Risposta: ANR sta per Application Not Responding. È una notifica o un pop-up visualizzato dalla piattaforma Android ogni volta che l'applicazione sta eseguendo troppe funzioni contemporaneamente e se improvvisamente non risponde per molto tempo all'azione dell'utente.
D # 20) Quali sono le finestre di dialogo supportate dalla piattaforma Android?
Risposta: Android supporta quattro tipi di finestre di dialogo:
- AlertDialog : Ha un massimo di 3 pulsanti e talvolta AlertDialog include caselle di controllo e pulsanti di opzione per selezionare l'elemento.
- ProgressDialog : Visualizza la barra di avanzamento o le ruote.
- TimePickerDialog : Utilizzando questa finestra di dialogo, un utente seleziona l'ora.
- DatePickerDialog : Utilizzando questa finestra di dialogo, un utente seleziona la data
D # 21) Cos'è ADB?
Risposta: Android Debug Bridge (ADB) è uno strumento da riga di comando che esegue i comandi della shell.
ADB viene utilizzato per la comunicazione diretta tra le porte dell'emulatore. Fornisce allo sviluppatore il controllo diretto della comunicazione tra le istanze dell'emulatore.
D # 22) Che cos'è ActivityCreator?
Risposta: ActivityCreator è un file batch e uno script di shell che è stato utilizzato per creare un nuovo progetto Android. Ora è sostituito da 'Crea nuovo progetto' in Android SDK.
D # 23) Cos'è l'orientamento?
Risposta: L'orientamento è la caratteristica fondamentale negli smartphone al giorno d'oggi. Ha la capacità di ruotare lo schermo tra la modalità orizzontale o verticale.
Android supporta due tipi di orientamenti dello schermo come indicato di seguito:
- Ritratto : Quando il dispositivo è allineato verticalmente.
- Paesaggio : Quando il dispositivo è allineato orizzontalmente.
setOrientation () è un metodo che consente di impostare gli allineamenti di uno schermo. HORIZONTAL e VERTICAL sono due valori che possono essere impostati nel metodo setOrientation (). Ogni volta che c'è un cambiamento nell'orientamento del display, cioè da Orizzontale a Verticale o viceversa, il metodo onCreate () dell'attività viene attivato.
Fondamentalmente, quando l'orientamento del dispositivo mobile Android viene modificato, l'attività corrente viene distrutta e quindi la stessa attività viene ricreata nel nuovo orientamento del display. Gli sviluppatori Android definiscono l'orientamento nel file AndroidManifest.xml.
Q # 24) Cos'è l'AIDL?
Risposta: Nella piattaforma Android esistono metodi remoti che facilitano l'utilizzo di metodi da un programma all'altro. Per creare e implementare i metodi remoti il primo passo è definire l'interfaccia di comunicazione in AIDL.
AIDL è l'acronimo di Android Interface Definition Language. Facilita la comunicazione tra il cliente e il servizio. Inoltre comunica le informazioni attraverso la comunicazione tra processi.
Per la comunicazione tra i processi, i dati vengono suddivisi in blocchi facilmente comprensibili dalla piattaforma Android.
D # 25) Quali sono i tipi di dati supportati da AIDL?
Risposta: I tipi di dati supportati da AIDL sono i seguenti:
- Corda
- Elenco
- Carta geografica
- charSequence
- Tipi di dati Java come INT, Long, Char, Boolean, ecc
D # 26) Spiega il file AndroidManifest.xml e perché ne hai bisogno?
Risposta: Ogni applicazione deve avere un file AndroidManifest.xml nella directory principale. Contiene informazioni sulla tua app e fornisce le stesse al sistema Android.
Le informazioni includono il nome del pacchetto, i componenti Android come Attività, Servizi, Ricevitori di trasmissione, Fornitori di contenuti e così via. Ogni sistema Android deve disporre di queste informazioni prima di eseguire qualsiasi codice app.
Il file AndroidManifest.xml esegue le seguenti attività:
- Fornisce un nome al pacchetto Java e questo nome è un identificatore univoco per l'applicazione.
- Descrive i vari componenti dell'applicazione che includono attività, servizi, fornitori di contenuti, ecc. Inoltre, definisce le classi che implementano questi componenti.
- È responsabile della protezione dell'applicazione e dichiara l'autorizzazione per l'accesso alla parte protetta dell'app.
- Dichiara inoltre l'API Android che verrà utilizzata dall'applicazione.
- Contiene i dettagli del file di libreria che vengono utilizzati e collegati all'applicazione.
D # 27) Su quali dispositivi hai lavorato?
Risposta: Ci sono molti dispositivi mobili disponibili sul mercato con diversi sistemi operativi.
Nello specifico, ho lavorato su Android, Windows, Symbian, iPhone, ecc
D # 28) Quali strumenti vengono utilizzati per il debug sulla piattaforma Android?
Risposta: Per comprendere la causa dell'errore o la causa di qualsiasi problema, il debug è importante. Sulla piattaforma Android Android Monitor.bat viene utilizzata mentre sulla piattaforma iOS, l'utilità di configurazione iPhone viene utilizzata per scopi di debug.
Esistono diversi strumenti per il debug che includono: Android DDMS, Android Debug Bridge, simulatore iOS, debug da Eclipse con ADT, debug remoto su Android con Chrome, ecc.
D # 29) Quale scenario può essere testato solo su dispositivi reali ma non su un emulatore?
Risposta: Gli emulatori vengono utilizzati per eseguire tipi di test simili che vengono eseguiti sui dispositivi reali. Fondamentalmente, gli emulatori sono usati come sostituti dei dispositivi reali poiché a volte i dispositivi reali non sono disponibili per i test, l'uso di dispositivi mobili reali a scopo di test è più costoso a volte.
Ma ci sono pochi scenari che non possono essere testati usando l'emulatore, questi possono essere testati solo usando dispositivi reali. Questi scenari sono scenari interrotti, ad esempio messaggio, interruzione della telefonata durante l'utilizzo dell'app, batteria scarica, Bluetooth, montaggio e smontaggio della scheda di memoria, ecc.
D # 30) Assegna un nome agli strumenti di automazione mobile disponibili sul mercato.
Risposta: Esistono alcuni strumenti di test dell'automazione mobile disponibili sul mercato, ma questi vengono utilizzati solo se il progetto lo richiede e se l'applicazione supporta l'automazione.
Questi strumenti sono a pagamento così come strumenti gratuiti, quindi l'analisi deve essere eseguita all'interno del team di progetto e quindi deve essere selezionato lo strumento di automazione mobile appropriato. Silk Mobile, SeeTest, Ranorex sono lo strumento di automazione mobile a pagamento mentre Appium, KIF, Robotium, Calabash sono pochi strumenti gratuiti.
Q # 31) Come risolvi i problemi dell'applicazione Android che si blocca frequentemente?
Risposta: Di seguito sono riportati i pochi passaggi che dobbiamo seguire durante la risoluzione del problema di arresto anomalo:
- Liberare spazio in memoria : Sui dispositivi mobili è disponibile solo uno spazio limitato per le app mobili. Per evitare problemi di arresto anomalo o problemi relativi alla memoria, è necessario prima controllare lo spazio di memoria.
- Cancella l'utilizzo dei dati delle app : È possibile cancellare i dati dell'app utilizzando Gestione applicazioni in 'Impostazioni'. Ciò cancellerà la memoria cache e consentirà un po 'di spazio libero per installare un'altra app o aumenterà la tua app corrente.
- Gestione della memoria : Alcune app funzionano perfettamente su un tipo di dispositivo mobile, ma la stessa app potrebbe non funzionare su un altro tipo di dispositivo poiché per tali dispositivi la potenza di elaborazione, la gestione della memoria e la velocità della CPU sono diverse. Affinché qualsiasi app funzioni correttamente su qualsiasi tipo di dispositivo mobile, è necessario gestire la memoria sul dispositivo.
- Problema di compatibilità : Non è sempre possibile testare le app mobili su tutti i dispositivi mobili, browser, sistemi operativi, ecc. Quindi è necessario testare la tua app mobile su quanti più dispositivi mobili puoi per evitare qualsiasi problema di compatibilità.
D # 32) Come trovi le perdite di memoria nell'app mobile sulla piattaforma Android?
Risposta: Android Studio utilizza Android Device Manager (ADM), questo ADM viene utilizzato per rilevare le perdite di memoria nella piattaforma Android.
Quando apri ADM in Android Studio, quindi sul lato sinistro dell'ADM, troverai il tuo dispositivo o emulatore in cui verrà visualizzato un segno di heap. Quando esegui un'app mobile, vedrai la dimensione dell'heap, l'analisi della memoria e altre statistiche visualizzate su di essa.
Q # 33) Cos'è DDMS?
Risposta: Android Studio dispone di strumenti di debug noti come DDMS, ovvero Dalvik Debug Monitor Server.
Ha ampie funzionalità di debug che includono:
- Servizi di port forwarding.
- Acquisizione dello schermo sul dispositivo.
- Informazioni su thread e heap.
- Chiamata in arrivo e spoofing di SMS.
- Logcat
- Informazioni sullo stato della radio.
- Spoofing dei dati sulla posizione.
DDMS è integrato con lo studio Android. Per avviare DDMS, è necessario prima aprire Android Device Monitor (ADM) e quindi fare clic sul pulsante del menu DDMS. Una volta avviato DDMS, sul lato sinistro viene visualizzato l'elenco dei dispositivi collegati insieme ai processi in esecuzione su ciascun dispositivo.
Con l'aiuto di DDMS, puoi eseguire il debug sia su dispositivi reali che su emulatori.
D # 34) Quali sono le diverse opzioni di archiviazione dei dati disponibili sulla piattaforma Android?
Risposta: La piattaforma Android offre un'ampia gamma di opzioni di archiviazione dei dati. Queste opzioni devono essere utilizzate in base alle necessità, in quanto i dati sono protetti e utilizzati solo con autorizzazione o sono accessibili pubblicamente.
Di seguito è riportato l'elenco delle opzioni di archiviazione dei dati sulla piattaforma Android:
- SharedPreference : Memorizza i dati in file XML. È il modo più semplice per memorizzare i dati privati nella coppia chiave-valore.
- SQLite : Memorizza i dati strutturati nel database privato.
- Memoria interna : Memorizza i dati nel file system del dispositivo e qualsiasi altra app non può leggere questi dati.
- Archiviazione esterna : I dati vengono archiviati nel file system ma sono accessibili a tutte le app nel dispositivo
D # 35) Spiega i sensori in Android.
Risposta: I dispositivi abilitati per Android dispongono di sensori integrati che misurano l'orientamento, il movimento e altre condizioni.
Questi sensori forniscono dati con elevata precisione, che aiuterà a monitorare il posizionamento e il movimento del dispositivo. Alcuni dei sensori sono basati su hardware e pochi sono basati su software.
Esistono tre categorie di sensori come indicato di seguito:
- Sensori di movimento : Questi sensori misurano le forze di rotazione e di accelerazione e includono sensori di gravità, sensori vettoriali di rotazione, accelerometri, ecc.
- Sensori ambientali : Misura la temperatura dell'aria, la pressione, l'umidità, ecc.
- Sensori di posizione : Misura la posizione fisica del dispositivo e include sensori di orientamento e magnetometri.
Esistono quattro tipi di classi Java come mostrato di seguito:
- Sensor Manager
- Sensore
- SensorEvent
- SensorEventListener
Conclusione
Quasi tutte le importanti domande e risposte dell'intervista su Android sono state trattate qui in questo articolo. Spero che questo ti sia stato molto utile.
come si riproducono i file mkv
Sono sicuro che puoi risolvere con successo qualsiasi intervista Android con una conoscenza approfondita di tutte queste domande.
Spero che tu sia pronto per un colloquio !! Auguro a tutti voi il successo !!
Lettura consigliata
- 10 migliori app per la gestione dei progetti nel 2021 per dispositivi Android e iOS
- 11 migliori strumenti di automazione per testare applicazioni Android (strumenti di test per app Android)
- Tutorial sul test delle app Android: una guida per principianti
- Tutorial Appium per testare app mobili Android e iOS
- Collegamento di dispositivi iOS e Android reali da Cloud ad Appium Studio
- Crea test Appium per un'app Android
- Guida introduttiva a Robotium: lo strumento di test dell'interfaccia utente dell'applicazione Android più popolare
- Come automatizzare le applicazioni Android utilizzando lo strumento TestComplete
- Come risolvere la perdita di memoria nelle app Android utilizzando lo strumento DDMS
- Come testare una versione Android quando viene ritirata dal mercato?
- Servizi di beta test per app mobili (strumenti per beta test iOS e Android)
- Esercitazione sul test dell'interfaccia utente mobile (test della GUI di app iOS e Android)
- Tutorial Selendroid: Android Mobile Test Automation Framework (Parte 1)
- TOP 15 migliori strumenti di test per dispositivi mobili nel 2021 per Android e iOS
- Che cos'è la chiave di sicurezza di rete: come trovarla per router, Windows o Android
- Domande e risposte dell'intervista