top 35 android interview questions
Questions d'entretien de base sur Android pour les novices et les développeurs et testeurs expérimentés:
Dans cette ère technologique, il y a une énorme demande pour les développeurs d'applications Android et c'est aussi l'un des emplois les mieux rémunérés.
Par conséquent, de nombreuses personnes connaissant la technologie essaient de se frayer un chemin dans cette carrière. Plusieurs questions d’entrevue délicates sont posées dans de nombreuses multinationales et dans certaines petites entreprises. Et cet article comprend un ensemble de questions et réponses d'entrevue Android qui seront utiles à des millions de demandeurs d'emploi.
Explorons!!
Cet article comprend un ensemble de questions et de réponses d'entretien Android les plus fréquemment posées couvrant presque tous les concepts importants en termes simples afin de permettre à tout demandeur d'emploi de terminer l'entretien avec succès.
Questions et réponses d'entretien Android les plus populaires
Vous trouverez ci-dessous la liste des questions d'entretien Android les plus fréquemment posées
Q # 1) Qu'est-ce qu'Android?
Répondre: Android est un système d'exploitation open source et est principalement populaire pour les smartphones et les tablettes.
Ce système d'exploitation est basé sur le noyau Linux. En utilisant le système d'exploitation Android, le développeur développe les fonctions ou programmes qui peuvent effectuer des opérations de base ainsi que des opérations de type avancé sur le Smartphone.
Q # 2) Qu'est-ce que le SDK Android?
Répondre: Pour développer une application mobile, les développeurs Android ont besoin de certains outils et cette exigence est satisfaite par «Android SDK» qui est un ensemble d'outils qui sont utilisés pour développer ou écrire des applications.
Il dispose d'une interface utilisateur graphique qui émule l'environnement Android. Cet émulateur agit comme un appareil mobile réel sur lequel les développeurs écrivent leur code, puis déboguent / testent le même code pour vérifier si quelque chose ne va pas.
Q # 3) Quelles sont les différentes versions d'Android OS dont vous vous souvenez?
Répondre: Vous trouverez ci-dessous les différentes versions d'Android.
Version | Nom |
---|---|
Android 4.0-4.0.4 | Sandwich à la crème glacée |
Android 8.0 | Aération |
Android 7.0 à 7.1.2 | Nougat |
Android 6 - 6.0.1 | Guimauve |
Android 5 - 5.1.1 | Sucette |
Android 4.4 - 4.4.4 | Kit Kat |
Android 4.1 - 4.3 | Dragée |
Q # 4) Quelle est la différence entre les tests d'applications mobiles et les tests mobiles?
Répondre: Le test d'applications mobiles est le test d'applications sur un appareil qui se concentre principalement sur les fonctions et les fonctionnalités de l'application.
Et Mobile Testing est le test de l'appareil mobile réel et se concentre sur les fonctionnalités mobiles telles que les appels, les SMS, les contacts, le lecteur multimédia, les navigateurs intégrés, etc.
Q # 5) Nommez les langues prises en charge pour le développement Android.
Répondre: Java est le langage largement utilisé pour le développement Android. Il prend également en charge C / C ++ et lorsqu'il est utilisé avec Android SDK, il améliore également la vitesse des performances.
Q # 6) Quels sont les avantages du système d'exploitation Android?
Répondre: Il est open-source et indépendant de la plate-forme. Il prend en charge diverses technologies telles que Bluetooth, Wi-Fi, etc.
Q # 7) Expliquez brièvement l'architecture Android.
Répondre: L'architecture Android se présente sous la forme de composants de pile logicielle.
Le diagramme ci-dessous décrit les différentes couches de l'architecture Android.
- Noyau Linux : Linux Kernel est placé au bas de la pile logicielle et constitue le fondement de l'architecture Android. En utilisant le noyau Linux, Android fournit une connexion entre les autres couches du logiciel. Il aide à développer des pilotes tels que le clavier, l'affichage, l'audio pour la fabrication de l'appareil, etc.
- Couche d'abstraction matérielle (HAL) : HAL fournit une interface entre les pilotes de périphériques et le framework API. Il se compose de modules de bibliothèque spécifiques au composant matériel.
- Runtime Android : Le noyau Linux fournit un environnement d'exécution multitâche afin que plusieurs processus puissent exécuter chaque processus s'exécute sur sa propre instance d'Android Runtime (ART). Android dispose de bibliothèques d'exécution principales telles que les bibliothèques spécifiques à Dalvik VM, les bibliothèques d'interopérabilité Java, les bibliothèques Android et les bibliothèques C / C ++.
(image la source )
- Framework d'application (Java API Framework) : L'ensemble des fonctionnalités Android sont disponibles via l'API. Il se compose de plusieurs services tels que Activity Manager, Resource Manager, Notification Manager, etc., qui forment l'environnement dans lequel l'application Android s'exécute.
- Applications : L'application Android est une couche supérieure et tous les types d'applications intégrées telles que les SMS, les navigateurs, les contacts, etc. sont inclus dans cette couche supérieure. Il comprend également des applications tierces installées par l'utilisateur telles que des jeux, etc.
Q # 8) Définissez et expliquez le framework Android.
Répondre: Le framework Android est un ensemble d'API à l'aide desquels les développeurs Android écrivent du code pour les applications mobiles. Il contient les méthodes et les classes pour écrire le code de programmation.
Le framework Android comprend un ensemble différent d'outils pour créer un volet d'image, un champ de texte, des boutons, etc. Il comprend également des «Activités» avec lesquelles l'utilisateur interagit et des «Services», qui sont les programmes qui s'exécutent en arrière-plan. Il s'agit d'un ensemble de différents composants tels que les intentions, les récepteurs de diffusion, les fournisseurs de contenu, etc.
Q # 9) Quels composants sont nécessaires pour un nouveau projet Android?
Répondre: Chaque fois qu'un nouveau projet Android est créé, les composants ci-dessous sont requis:
- manifeste: Il contient un XML déposer.
- construire/: Il contient la sortie de construction.
- src /: Il contient le code et les fichiers de ressources.
- du boeuf/: Il contient des images bitmap, des chaînes d'interface utilisateur et une mise en page XML, c'est-à-dire toutes les ressources non codées.
- actifs/: Il contient un fichier qui doit être compilé dans un .apk déposer.
L'image ci-dessous montre la vue du projet une fois qu'un projet Android est créé:
(image la source )
Q # 10) Fournissez les composants de base importants d'Android.
Répondre: Les principaux composants des systèmes d'exploitation Android sont:
- Activité
- Intentions
- Prestations de service
- Fournisseur de contenu
- Fragment
Q # 11) Expliquez brièvement - qu'entend-on par activités?
Répondre: Les activités sont la partie de l'application mobile que l'utilisateur peut voir et avec laquelle il peut interagir.
Par exemple , si vous ouvrez une application SMS qui a plusieurs activités comme créer un nouveau SMS, ajouter un contact à partir du carnet d'adresses, écrire le contenu dans le corps du SMS, envoyer un SMS au contact sélectionné, etc.
L'activité garde une trace des éléments suivants:
- Garde une trace de ce qu'un utilisateur recherche actuellement dans une application.
- Garde une trace des processus précédemment utilisés, de sorte que l'utilisateur puisse basculer entre le processus en cours et le processus précédent.
- Cela aide à tuer les processus afin que l'utilisateur puisse revenir à son état précédent
Une activité est implémentée en tant que sous-classe de la classe Activity comme indiqué ci-dessous:
La classe publique MyActivity étend l'activité
{
}
Q # 12) Qu'entend-on par services?
Répondre: Le service est un composant Android qui s'exécute en arrière-plan et agit indépendamment. Il ne fournit aucune interface utilisateur.
Bien que les services fonctionnent dans les coulisses, un utilisateur peut continuer son travail sur différentes applications. La plupart du temps, les utilisateurs ne sont pas conscients des services qui s'exécutent en arrière-plan. Ces services permettent au système d’arrêter le processus sans interrompre le travail en cours de l’utilisateur.
Un service est implémenté en tant que sous-classe de la classe Service:
https www google comyoutube en mp3
La classe publique MainService étend le service
{
}
Q # 13) Expliquez brièvement le cycle de vie des activités.
Répondre: Lorsqu'un utilisateur interagit avec l'application et se déplace ici et là, hors de l'application, retourne à l'application, etc. Pendant tout ce processus, les instances «Activité» se déplacent également dans les différentes étapes de leur cycle de vie.
Il existe sept états différents comme - onCreate (), onStart (), onRestart (), onResume (), onPause (), onStop () et onDestroy (). Celles-ci sont appelées «rappel». Le système Android appelle ces rappels pour savoir que l'état a été modifié.
Le diagramme ci-dessous décrit le cycle de vie de l'activité:
(Image la source )
Lorsqu'un utilisateur travaille sur une application, de nombreuses activités y sont impliquées, telles que Ouvrir, Fermer, Enregistrer, Supprimer, Envoyer, etc.
Sur la base de l'action de l'utilisateur, ces activités sont partiellement déconnectées de l'interface utilisateur, mais ces activités résident toujours dans la mémoire de sorte que lorsque l'utilisateur rappelle la même activité, l'utilisateur sera dans le même état où il l'a laissée.
Q # 14) Qu'est-ce qu'une intention?
Répondre: Android a une classe Intent lorsque l'utilisateur doit naviguer d'une activité à une autre. L'intention affiche les notifications de l'appareil à l'utilisateur, puis l'utilisateur peut répondre à la notification si nécessaire.
Ci-dessous sont les deux types:
- Intentions implicites
- Intentions explicites
Q # 15) Expliquez les intentions implicites et explicites.
Répondre: L'intention implicite appelle les composants système tandis que les intentions explicites appellent la classe Activity.
Q # 16) Quelle est l'importance de la configuration de l'autorisation dans le développement d'applications?
Répondre: Une fois que les autorisations sont définies pour le développement de l'application, les données et le code sont limités aux utilisateurs autorisés uniquement.
Si le code est conservé sans aucune restriction ou s'il est accessible à tout le monde, il y a des chances de compromettre le code, ce qui entraîne une fuite de défaut.
Q # 17) Qu'est-ce que l'extension .apk dans Android?
Répondre: Il s'agit d'un format de fichier par défaut utilisé par le système d'exploitation Android. Application Package Kit (APK) est utilisé pour l'installation d'applications mobiles. Le .apk contient un fichier de ressources, un certificat, un fichier manifeste et un autre code.
Les fichiers APK sont des fichiers d'archive au format zip avec l'extension .apk.
Q # 18) Quelle est la base de données utilisée pour la plate-forme Android?
Répondre: SQLite est la base de données utilisée pour la plate-forme Android. C'est une base de données open source sans serveur.
Q # 19) Qu'est-ce que l'ANR dans Android?
Répondre: ANR signifie Application Not Responding. Il s'agit d'une notification ou d'une fenêtre contextuelle affichée par la plate-forme Android chaque fois que l'application exécute trop de fonctions à la fois et si elle ne répond soudainement pas pendant longtemps à l'action de l'utilisateur.
Q # 20) Quelles sont les boîtes de dialogue prises en charge par la plate-forme Android?
Répondre: Android prend en charge quatre types de boîtes de dialogue:
- AlertDialog : Il a un maximum de 3 boutons et parfois AlertDialog inclut des cases à cocher et des boutons radio pour sélectionner l'élément.
- ProgressDialog : Il affiche la barre de progression ou les roues.
- TimePickerDialog : À l'aide de cette boîte de dialogue, un utilisateur sélectionne l'heure.
- DatePickerDialog : À l'aide de cette boîte de dialogue, un utilisateur sélectionne la date
Q # 21) Qu'est-ce que la BAD?
Répondre: Android Debug Bridge (ADB) est un outil de ligne de commande qui exécute des commandes shell.
ADB est utilisé pour la communication directe entre les ports de l'émulateur. Il donne le contrôle direct de la communication entre les instances d'émulateur au développeur.
Q # 22) Qu'est-ce qu'ActivityCreator?
Répondre: ActivityCreator est un fichier batch et un script shell qui ont été utilisés pour créer un nouveau projet Android. Il est maintenant remplacé par le 'Créer un nouveau projet' dans le SDK Android.
Q # 23) Qu'est-ce que l'orientation?
Répondre: L'orientation est la caractéristique clé des smartphones de nos jours. Il a la capacité de faire pivoter l'écran entre le mode horizontal ou vertical.
Android prend en charge deux types d'Orientations d'écran, comme indiqué ci-dessous:
- Portrait : Lorsque votre appareil est aligné verticalement.
- Paysage : Lorsque votre appareil est aligné horizontalement.
setOrientation () est une méthode à l'aide de laquelle vous pouvez définir un alignement d'écran. HORIZONTAL et VERTICAL sont deux valeurs qui peuvent être définies dans la méthode setOrientation (). Chaque fois qu'il y a un changement dans l'orientation d'affichage, c'est-à-dire de Horizontal à Vertical ou vice versa, la méthode onCreate () de l'activité est déclenchée.
Fondamentalement, lorsque l'orientation de l'appareil mobile Android est modifiée, l'activité actuelle est détruite, puis la même activité est recréée dans la nouvelle orientation d'affichage. Les développeurs Android définissent l'orientation dans le fichier AndroidManifest.xml.
Q # 24) Qu'est-ce que l'AIDL?
meilleure extension de bloqueur de publicité pour chrome
Répondre: Dans la plateforme Android, il existe des méthodes à distance qui facilitent l'utilisation des méthodes d'un programme à un autre. Pour créer et implémenter les méthodes distantes, la première étape consiste à définir l'interface de communication dans AIDL.
AIDL signifie Android Interface Definition Language. Il facilite la communication entre le client et le service. Il communique également les informations via une communication inter-processus.
Pour la communication entre processus, les données sont décomposées en morceaux qui sont facilement compréhensibles par la plate-forme Android.
Q # 25) Quels sont les types de données pris en charge par AIDL?
Répondre: Les types de données pris en charge par AIDL sont les suivants:
- Chaîne
- Lister
- Carte
- charSequence
- Types de données Java tels que INT, Long, Char, Boolean, etc.
Q # 26) Expliquez le fichier AndroidManifest.xml et pourquoi en avez-vous besoin?
Répondre: Chaque application doit avoir un fichier AndroidManifest.xml dans le répertoire racine. Il contient des informations sur votre application et fournit la même chose au système Android.
Les informations incluent le nom du package, les composants Android tels que l'activité, les services, les récepteurs de diffusion, les fournisseurs de contenu, etc. Chaque système Android doit disposer de ces informations avant d'exécuter un code d'application.
Le fichier AndroidManifest.xml effectue les tâches suivantes:
- Il fournit un nom au package Java et ce nom est un identifiant unique pour l'application.
- Il décrit les différents composants de l'application qui incluent l'activité, les services, les fournisseurs de contenu, etc. En outre, il définit les classes qui implémentent ces composants.
- Il est responsable de la protection de l'application et déclare l'autorisation d'accéder à la partie protégée de l'application.
- Il déclare également l'API Android qui sera utilisée par l'application.
- Il contient les détails du fichier de bibliothèque qui sont utilisés et liés à l'application.
Q # 27) Sur quels appareils avez-vous travaillé?
Répondre: Il existe de nombreux appareils mobiles disponibles sur le marché avec différents systèmes d'exploitation.
Plus précisément, j'ai travaillé sur Android, Windows, Symbian, iPhone, etc.
Q # 28) Quels outils sont utilisés pour le débogage sur la plate-forme Android?
Répondre: Pour comprendre la cause de l'échec ou la cause de tout problème, le débogage est important. Sur la plateforme Android Android Monitor.bat L'utilitaire est utilisé sur la plate-forme iOS, l'utilitaire de configuration iPhone est utilisé à des fins de débogage.
Il existe différents outils de débogage, notamment: Android DDMS, Android Debug Bridge, simulateur iOS, débogage depuis Eclipse avec ADT, débogage à distance sur Android avec Chrome, etc.
Q # 29) Quel scénario peut tester uniquement sur des appareils réels mais pas sur un émulateur?
Répondre: Les émulateurs sont utilisés pour effectuer des types de tests similaires qui sont effectués sur les appareils réels. Fondamentalement, les émulateurs sont utilisés en remplacement de vrais appareils car parfois de vrais appareils ne sont pas disponibles pour les tests, l'utilisation de vrais appareils mobiles à des fins de test est parfois plus coûteuse.
Mais il y a peu de scénarios qui ne peuvent pas être testés à l'aide d'un émulateur, ceux-ci ne peuvent être testés qu'avec de vrais appareils. Ces scénarios sont des scénarios interrompus, c'est-à-dire un message, une interruption d'appel téléphonique lors de l'utilisation de l'application, une batterie faible, Bluetooth, le montage et le démontage de la carte mémoire, etc.
Q # 30) Nommez les outils d'automatisation mobile disponibles sur le marché.
Répondre: Il existe de nombreux outils de test d'automatisation mobile disponibles sur le marché, mais ils ne sont utilisés que si le projet l'exige et si l'application prend en charge l'automatisation.
Ces outils sont payants ainsi que des outils gratuits, par conséquent, l'analyse doit être effectuée au sein de l'équipe de projet, puis l'outil d'automatisation mobile approprié doit être sélectionné. Silk Mobile, SeeTest, Ranorex sont l'outil d'automatisation mobile payant tandis que Appium, KIF, Robotium, Calabash sont quelques outils gratuits.
Q # 31) Comment dépannez-vous l'application Android qui plante fréquemment?
Répondre: Vous trouverez ci-dessous les quelques étapes à suivre pour résoudre le problème de plantage:
- Libérez de l'espace mémoire : L'espace disponible sur les appareils mobiles est limité pour les applications mobiles. Pour éviter les problèmes de plantage ou les problèmes liés à la mémoire, vous devez d'abord vérifier l'espace mémoire.
- Effacer l'utilisation des données de l'application : Vous pouvez effacer les données de l'application à l'aide du Gestionnaire d'applications sous «Paramètres». Cela effacera la mémoire cache et laissera de l'espace libre pour installer une autre application ou cela augmentera votre application actuelle.
- Gestion de la mémoire : Certaines applications fonctionnent parfaitement sur un type d'appareil mobile, mais la même application peut ne pas fonctionner sur un autre type d'appareil car pour ces appareils, la puissance de traitement, la gestion de la mémoire et la vitesse du processeur sont différentes. Pour qu'une application s'exécute correctement sur n'importe quel type d'appareil mobile, vous devez gérer la mémoire de l'appareil.
- Problème de compatibilité : Il n'est toujours pas possible de tester des applications mobiles sur tous les appareils mobiles, navigateurs, systèmes d'exploitation, etc. Vous devez donc tester votre application mobile sur autant d'appareils mobiles que possible afin d'éviter tout problème de compatibilité.
Q # 32) Comment trouvez-vous des fuites de mémoire dans l'application mobile sur la plate-forme Android?
Répondre: Android Studio utilise Android Device Manager (ADM), cet ADM est utilisé pour détecter les fuites de mémoire dans la plate-forme Android.
Lorsque vous ouvrez ADM dans Android Studio, puis sur le côté gauche de l'ADM, vous trouverez votre appareil ou émulateur dans lequel un signe de tas sera affiché. Lorsque vous exécutez une application mobile, vous verrez la taille du tas, l'analyse de la mémoire et d'autres statistiques affichées.
Q # 33) Qu'est-ce que DDMS?
Répondre: Android Studio dispose d'outils de débogage connus sous le nom de DDMS, à savoir Dalvik Debug Monitor Server.
Il a de larges fonctionnalités de débogage qui incluent:
- Services de redirection de port.
- Capture d'écran sur l'appareil.
- Informations sur les threads et les tas.
- Appel entrant et usurpation de SMS.
- Logcat
- Informations sur l'état de la radio.
- Usurpation des données de localisation.
DDMS est intégré au studio Android. Pour lancer le DDMS, vous devez d'abord ouvrir Android Device Monitor (ADM), puis cliquer sur le bouton de menu DDMS. Une fois le DDMS lancé, sur le côté gauche, la liste des appareils connectés est affichée avec les processus en cours sur chaque appareil.
Avec l'aide de DDMS, vous pouvez déboguer à la fois sur des appareils réels et des émulateurs.
Q # 34) Quelles sont les différentes options de stockage de données disponibles sur la plate-forme Android?
Répondre: La plate-forme Android offre une large gamme d'options de stockage de données. Ces options doivent être utilisées en fonction des besoins tels que les données sont sécurisées et utilisées avec autorisation uniquement ou peuvent être consultées publiquement.
Voici la liste des options de stockage de données sur la plate-forme Android:
- SharedPreference : Il stocke les données dans des fichiers XML. C'est le moyen le plus simple de stocker des données privées dans la paire clé-valeur.
- SQLite : Il stocke les données structurées dans la base de données privée.
- Stockage interne : Il stocke les données dans le système de fichiers de l'appareil et aucune autre application ne peut lire ces données.
- Stockage externe : Les données sont stockées dans le système de fichiers, mais elles sont accessibles à toutes les applications de l'appareil
Q # 35) Expliquez les capteurs sous Android.
Répondre: Les appareils compatibles Android ont des capteurs intégrés qui mesurent l'orientation, le mouvement et d'autres conditions.
Ces capteurs fournissent des données de haute précision, ce qui aidera à surveiller le positionnement et le mouvement de l'appareil. Certains capteurs sont basés sur le matériel et peu sont basés sur le logiciel.
Il existe trois catégories de capteurs comme indiqué ci-dessous:
- Capteurs de mouvement : Ces capteurs mesurent les forces de rotation et d'accélération et comprennent des capteurs de gravité, des capteurs de vecteur de rotation, des accéléromètres, etc.
- Capteurs environnementaux : Il mesure la température de l'air, la pression, l'humidité, etc.
- Capteurs de position : Il mesure la position physique de l'appareil et comprend des capteurs d'orientation et des magnétomètres.
Il existe quatre types de classes Java, comme indiqué ci-dessous:
- Gestionnaire de capteurs
- Capteur
- SensorEvent
- SensorEventListener
Conclusion
Presque toutes les questions et réponses importantes des entretiens Android ont été couvertes ici dans cet article. J'espère que cela vous aurait été très utile.
Je suis sûr que vous pouvez réussir n'importe quelle interview Android avec une connaissance approfondie de toutes ces questions.
J'espère que vous êtes prêt pour une interview !! Je vous souhaite tout le succès !!
lecture recommandée
- 10 meilleures applications de gestion de projet en 2021 pour les appareils Android et iOS
- 11 meilleurs outils d'automatisation pour tester les applications Android (outils de test des applications Android)
- Tutoriel de test d'application Android: un guide du débutant
- Tutoriel Appium pour tester les applications mobiles Android et iOS
- Connecter de vrais appareils iOS et Android du Cloud à Appium Studio
- Créer des tests Appium pour une application Android
- Premiers pas avec Robotium - L'outil de test d'interface utilisateur d'application Android le plus populaire
- Comment automatiser les applications Android à l'aide de l'outil TestComplete
- Comment réparer une fuite de mémoire dans les applications Android à l'aide de l'outil DDMS
- Comment tester une version Android lorsqu'elle est retirée du marché?
- Services de test bêta des applications mobiles (outils de test bêta iOS et Android)
- Tutoriel de test de l'interface utilisateur mobile (test de l'interface graphique des applications iOS et Android)
- Tutoriel Selendroid: Framework d'automatisation des tests mobiles Android (partie 1)
- TOP 15 des meilleurs outils de test mobile en 2021 pour Android et iOS
- Qu'est-ce que la clé de sécurité réseau: comment la trouver pour un routeur, Windows ou Android
- Questions et réponses d'entrevue