top 35 android interview questions
Perguntas básicas da entrevista do Android para caloiros e desenvolvedores e testadores experientes:
Nesta era tecnológica, há uma enorme demanda por desenvolvedores de aplicativos Android e é um dos empregos mais bem pagos também.
Por isso, muitas pessoas com experiência em tecnologia estão tentando entrar nesta carreira. Existem várias perguntas de entrevista complicadas que são feitas em muitas multinacionais e algumas empresas de pequena escala. E este artigo inclui um conjunto de perguntas e respostas da entrevista Android que serão úteis para milhões de candidatos a emprego.
Vamos explorar!!
Este artigo inclui um conjunto de perguntas e respostas mais comuns da entrevista do Android, cobrindo quase todos os conceitos importantes em termos simples, a fim de permitir que qualquer candidato a emprego conclua a entrevista com êxito.
Perguntas e respostas mais populares para entrevistas em Android
A seguir está a lista das perguntas mais comuns da entrevista do Android
P # 1) O que é Android?
Responda: O Android é um sistema operacional de código aberto e é popular principalmente para smartphones e tablets.
Este sistema operacional é baseado no kernel do Linux. Usando o sistema operacional Android, o desenvolvedor desenvolve as funções ou programas que podem realizar operações básicas e também avançadas no Smartphone.
P # 2) O que é o Android SDK?
Responda: Para desenvolver um aplicativo móvel, os desenvolvedores Android precisam de algumas ferramentas e esse requisito é satisfeito pelo “Android SDK”, que é um conjunto de ferramentas usadas para desenvolver ou escrever aplicativos.
Possui uma interface gráfica de usuário que emula o ambiente Android. Este emulador atua como um dispositivo móvel real no qual os desenvolvedores escrevem seu código e então depuram / testam o mesmo código para verificar se algo está errado.
P # 3) Quais são as diferentes versões do sistema operacional Android de que você se lembra?
Responda: A seguir estão as várias versões do Android.
Versão | Nome |
---|---|
Android 4.0-4.0.4 | Sanduíche de sorvete |
Android 8.0 | Arejando |
Android 7.0 - 7.1.2 | Nougat |
Android 6 - 6.0.1 | Marshmallow |
Android 5 - 5.1.1 | Pirulito |
Android 4.4 - 4.4.4 | Kit kat |
Android 4.1 - 4.3 | Jujuba |
P # 4) Qual é a diferença entre o teste de aplicativo móvel e o teste móvel?
Responda: O teste de aplicativo móvel é o teste de aplicativos em um dispositivo que se concentra principalmente nas funções e recursos do aplicativo.
E o teste móvel é o teste do dispositivo móvel real e se concentra em recursos móveis como Chamada, SMS, Contatos, Media Player, navegadores embutidos, etc.
Q # 5) Nomeie os idiomas suportados para o desenvolvimento Android.
Responda: Java é a linguagem amplamente usada para desenvolvimento Android. Ele também oferece suporte a C / C ++ e, quando usado com Android SDK, também melhora a velocidade do desempenho.
P # 6) Quais são as vantagens do sistema operacional Android?
Responda: É de código aberto e independente de plataforma. Suporta várias tecnologias como Bluetooth, Wi-Fi, etc.
P # 7) Explique brevemente a arquitetura do Android.
Responda: A arquitetura do Android está na forma de componentes de pilha de software.
O diagrama abaixo descreve as diferentes camadas da arquitetura Android.
- Kernel do Linux : Linux Kernel é colocado na parte inferior da pilha de software e é a base da arquitetura Android. Usando o kernel Linux, o Android fornece uma conexão entre as outras camadas do software. Ajuda a desenvolver drivers como teclado, display, áudio para fabricação de dispositivos, etc.
- Camada de abstração de hardware (HAL) : HAL fornece uma interface entre drivers de dispositivo e estrutura de API. Consiste em módulos de biblioteca específicos ao componente de hardware.
- Android Runtime : O kernel do Linux fornece um ambiente de execução multitarefa para que vários processos possam executar cada processo executado em sua própria instância do Android Runtime (ART). O Android tem bibliotecas de tempo de execução principais, como bibliotecas específicas Dalvik VM, bibliotecas de interoperabilidade Java, bibliotecas Android e bibliotecas C / C ++.
[imagem fonte ]
- Application Framework (Java API Framework) : Todas as funcionalidades do Android estão disponíveis por meio da API. Ele consiste em vários serviços, como Activity Manager, Resource Manager, Notification Manager, etc., que formam o ambiente no qual o aplicativo Android é executado.
- Formulários : O aplicativo Android é uma camada superior e todos os tipos de aplicativos embutidos, como SMS, navegadores, contato, etc, estão incluídos nesta camada superior. Também inclui aplicativos de terceiros que são instalados pelo usuário, como jogos, etc.
Q # 8) Defina e explique o Android Framework.
Responda: A estrutura do Android é um conjunto de APIs que usam os desenvolvedores do Android para escrever código para os aplicativos móveis. Ele contém os métodos e classes para escrever o código de programação.
O framework Android inclui um conjunto diferente de ferramentas para criar painel de imagem, campo de texto, botões, etc. Também inclui “Atividades” com as quais o usuário interage e “Serviços”, que são os programas executados em segundo plano. É um pacote de diferentes componentes como Intents, Broadcast Receivers, Content Providers, etc.
P # 9) Quais componentes são necessários para um novo projeto Android?
Responda: Sempre que um novo projeto Android é criado, os componentes abaixo são necessários:
- manifesto: Contém um XML Arquivo.
- Construir/: Ele contém a saída do build.
- src /: Ele contém o código e os arquivos de recursos.
- carne/: Ele contém imagens de bitmap, strings de IU e layout XML, ou seja, todos os recursos não codificados.
- ativos/: Ele contém um arquivo que deve ser compilado em um .apk Arquivo.
A imagem abaixo mostra a Visualização do Projeto, uma vez que um projeto Android é criado:
[imagem fonte ]
P # 10) Forneça os componentes centrais importantes do Android.
Responda: Os principais componentes dos sistemas operacionais Android são:
- Atividade
- Intenções
- Serviços
- Provedor de conteúdo
- Fragmento
Q # 11) Explique brevemente - o que significa atividades?
Responda: As atividades são a parte do aplicativo móvel que o usuário pode ver e interagir.
Por exemplo , se você abrir um aplicativo de SMS que possui várias atividades, como criar um novo SMS, adicionar um contato do catálogo de endereços, escrever o conteúdo no corpo do SMS, enviar SMS para o contato selecionado, etc.
A atividade mantém o controle do seguinte:
- Mantém o controle do que o usuário está procurando em um aplicativo.
- Mantém um registro dos processos usados anteriormente, para que o usuário possa alternar entre o processo em andamento e o anterior.
- Ajuda a matar os processos para que o usuário possa retornar ao seu estado anterior
Uma atividade é implementada como uma subclasse da classe Activity, conforme mostrado abaixo:
Classe pública MyActivity estende Activity
{
}
P # 12) O que se entende por serviços?
Responda: O serviço é um componente Android executado em segundo plano e atua de forma independente. Ele não fornece nenhuma interface de usuário.
Embora os serviços sejam executados em segundo plano, o usuário pode continuar seu trabalho em diferentes aplicativos. Na maioria das vezes, os usuários não estão cientes dos serviços que estão sendo executados em segundo plano. Esses serviços permitem que o sistema interrompa o processo sem interromper o trabalho contínuo do usuário.
Um serviço é implementado como uma subclasse da classe Service:
software conversor de vídeo grátis para windows
Classe pública MainService estende Service
{
}
Q # 13) Explique o Ciclo de Vida da Atividade brevemente.
Responda: Quando um usuário interage com o aplicativo e se move para cá e para lá, para fora do aplicativo, retorna para o aplicativo, etc. Durante todo esse processo, as instâncias de 'Atividade' também se movem nos diferentes estágios de seu ciclo de vida.
Existem sete estados diferentes, como - onCreate (), onStart (), onRestart (), onResume (), onPause (), onStop () e onDestroy (). Eles são chamados de ‘retorno de chamada’. O sistema Android invoca esses retornos de chamada para saber que o estado foi alterado.
O diagrama abaixo descreve o ciclo de vida da atividade:
[Imagem fonte ]
Quando um usuário está trabalhando em um aplicativo, existem muitas atividades envolvidas nele, como Abrir, Fechar, Salvar, Excluir, Enviar, etc.
Com base na ação do usuário, essas atividades são parcialmente desconectadas da IU, mas essas atividades sempre residem na memória, de modo que, quando o usuário ligar de volta para a mesma atividade, o usuário estará no mesmo estado em que parou.
P # 14) O que é uma intenção?
Responda: O Android tem uma classe Intent quando o usuário precisa navegar de uma atividade para outra. O Intent exibe notificações do dispositivo para o usuário e, em seguida, o usuário pode responder à notificação, se necessário.
A seguir estão os dois tipos:
- Intenções implícitas
- Intents explícitos
Q # 15) Explique as intenções implícitas e explícitas.
Responda: Implicit Intent chama os componentes do sistema enquanto Explicit Intent invoca a classe Activity.
P # 16) Qual é a importância de configurar a permissão no desenvolvimento de aplicativos?
Responda: Depois que as permissões são definidas para o desenvolvimento do aplicativo, os dados e o código são restritos apenas aos usuários autorizados.
Se o código for mantido sem qualquer restrição ou se estiver acessível a qualquer pessoa, há chances de comprometimento do código, o que resulta em vazamento de defeito.
P # 17) O que é extensão .apk no Android?
Responda: É um formato de arquivo padrão usado pelo sistema operacional Android. O Application Package Kit (APK) é usado para a instalação de aplicativos móveis. O .apk contém arquivo de recurso, certificado, arquivo de manifesto e outro código.
Os arquivos APK são arquivos compactados no formato zip com extensão .apk.
P # 18) Qual é o banco de dados usado para a plataforma Android?
Responda: SQLite é o banco de dados usado para a plataforma Android. É um banco de dados de código aberto sem servidor.
P # 19) O que é ANR no Android?
Responda: ANR significa Application Not Responding. É uma notificação ou pop-up exibido pela plataforma Android sempre que o aplicativo está executando muitas funções ao mesmo tempo e de repente não está respondendo por um longo tempo à ação do usuário.
Q # 20) Quais são as caixas de diálogo suportadas pela plataforma Android?
Responda: O Android suporta quatro tipos de caixas de diálogo:
- AlertDialog : Tem no máximo 3 botões e às vezes AlertDialog inclui caixas de seleção e botões de rádio para selecionar o elemento.
- ProgressDialog : Exibe a barra de progresso ou rodas.
- TimePickerDialog : Usando esta caixa de diálogo, um usuário seleciona a hora.
- DatePickerDialog : Usando esta caixa de diálogo, um usuário seleciona a data
Q # 21) O que é ADB?
Responda: O Android Debug Bridge (ADB) é uma ferramenta de linha de comando que executa comandos shell.
ADB é usado para comunicação direta entre as portas do emulador. Ele fornece controle direto da comunicação entre as instâncias do emulador para o desenvolvedor.
P # 22) O que é ActivityCreator?
Responda: ActivityCreator é um arquivo em lote e script de shell que foi usado para criar um novo projeto Android. Agora ele foi substituído por “Create New Project” no Android SDK.
P # 23) O que é orientação?
Responda: A orientação é a principal característica dos smartphones hoje em dia. Ele tem a capacidade de girar a tela entre o modo Horizontal ou Vertical.
O Android suporta dois tipos de orientações de tela, conforme mencionado abaixo:
- Retrato : Quando o seu dispositivo está alinhado verticalmente.
- Panorama : Quando o seu dispositivo está alinhado horizontalmente.
setOrientation () é um método através do qual você pode definir um alinhamento de tela. HORIZONTAL e VERTICAL são dois valores que podem ser definidos no método setOrientation (). Sempre que houver uma mudança na orientação de exibição, ou seja, de horizontal para vertical ou vice-versa, o método onCreate () da Activity é acionado.
Basicamente, quando a orientação do dispositivo móvel Android é alterada, a atividade atual é destruída e a mesma atividade é recriada na nova orientação de exibição. Os desenvolvedores Android definem a orientação no arquivo AndroidManifest.xml.
Q # 24) O que é AIDL?
Responda: Na plataforma Android, existem métodos remotos que facilitam o uso de métodos de um programa para outro. Para criar e implementar os métodos remotos, o primeiro passo é definir a interface de comunicação em AIDL.
AIDL significa Android Interface Definition Language. Facilita a comunicação entre o cliente e o serviço. Ele também comunica as informações por meio da comunicação entre processos.
Para comunicação entre processos, os dados são divididos em blocos que são facilmente compreensíveis pela plataforma Android.
P # 25) Quais são os tipos de dados suportados pelo AIDL?
Responda: Os tipos de dados suportados por AIDL são os seguintes:
- Fragmento
- Lista
- Mapa
- charSequence
- Tipos de dados Java, como INT, Long, Char, Boolean, etc.
P # 26) Explique o arquivo AndroidManifest.xml e por que você precisa disso?
Responda: Cada aplicativo deve ter um arquivo AndroidManifest.xml no diretório raiz. Ele contém informações sobre seu aplicativo e as fornece ao sistema Android.
As informações incluem o nome do pacote, componentes do Android, como atividade, serviços, receptores de transmissão, provedores de conteúdo, etc. Todo sistema Android deve ter essas informações antes de executar qualquer código de aplicativo.
O arquivo AndroidManifest.xml executa as seguintes tarefas:
- Ele fornece um nome para o pacote Java e esse nome é um identificador exclusivo para o aplicativo.
- Ele descreve os vários componentes do aplicativo que incluem Activity, Services, Content Providers, etc. Além disso, define as classes que implementam esses componentes.
- É responsável por proteger o aplicativo e declara a permissão para acessar a parte protegida do aplicativo.
- Ele também declara a API do Android que será usada pelo aplicativo.
- Ele contém os detalhes do arquivo de biblioteca que são usados e vinculados ao aplicativo.
P # 27) Em que todos os dispositivos você trabalhou?
Responda: Existem muitos dispositivos móveis disponíveis no mercado com diferentes sistemas operacionais.
Especificamente, trabalhei em Android, Windows, Symbian, iPhone, etc
P # 28) Quais ferramentas são usadas para depuração na plataforma Android?
Responda: Para entender a causa da falha ou a causa de qualquer problema, a depuração é importante. Na plataforma Android Android Monitor.bat utilitário é usado na plataforma iOS, o utilitário de configuração do iPhone é usado para fins de depuração.
Existem diferentes ferramentas para depuração, que incluem: Android DDMS, Android Debug Bridge, simulador iOS, depuração do Eclipse com ADT, depuração remota no Android com Chrome, etc.
P # 29) Qual cenário pode testar apenas em dispositivos reais, mas não em um emulador?
Responda: Os emuladores são usados para realizar tipos semelhantes de testes que são realizados em dispositivos reais. Basicamente, os emuladores são usados como substitutos para dispositivos reais, pois às vezes os dispositivos reais não estão disponíveis para teste, o uso de dispositivos móveis reais para fins de teste às vezes é mais caro.
Mas existem alguns cenários que não podem ser testados usando o emulador, eles só podem ser testados usando dispositivos reais. Esses cenários são cenários de interrupção, ou seja, mensagem, interrupção de chamada telefônica durante o uso do aplicativo, bateria fraca, Bluetooth, montagem e desmontagem do cartão de memória, etc.
Q # 30) Cite as ferramentas de automação móvel que estão disponíveis no mercado.
Responda: Existem algumas ferramentas de teste de automação móvel disponíveis no mercado, mas elas são usadas apenas se o projeto exigir e se o aplicativo suportar a automação.
Essas ferramentas são pagas, bem como ferramentas gratuitas, portanto, a análise precisa ser feita dentro da equipe do projeto e, em seguida, a ferramenta de automação móvel apropriada deve ser selecionada. Silk Mobile, SeeTest, Ranorex são a ferramenta de automação móvel paga, enquanto Appium, KIF, Robotium, Calabash são poucas ferramentas gratuitas.
P # 31) Como você soluciona problemas do aplicativo Android que falha com frequência?
Responda: Abaixo estão algumas etapas que precisamos seguir ao solucionar o problema de travamento:
- Libere espaço de memória : Há apenas espaço limitado disponível em dispositivos móveis para aplicativos móveis. Para evitar problemas de travamento ou problemas relacionados à memória, você precisa primeiro verificar o espaço de memória.
- Limpar o uso de dados de aplicativos : Você pode limpar os dados do aplicativo usando o Gerenciador de aplicativos em “Configurações”. Isso irá limpar a memória cache e permitir algum espaço livre para instalar outro aplicativo ou irá aumentar o seu aplicativo atual.
- Gestão de Memória : Alguns aplicativos funcionam perfeitamente em um tipo de dispositivo móvel, mas o mesmo aplicativo pode não funcionar em outro tipo de dispositivo, pois para esses dispositivos a capacidade de processamento, o gerenciamento de memória e a velocidade da CPU são diferentes. Para que qualquer aplicativo seja executado corretamente em qualquer tipo de dispositivo móvel, você deve gerenciar a memória do dispositivo.
- Problema de compatibilidade : Nem sempre é possível testar aplicativos móveis em todos os dispositivos móveis, navegadores, sistemas operacionais, etc. Portanto, você precisa testar seu aplicativo móvel em tantos dispositivos móveis quanto possível para evitar qualquer problema de compatibilidade.
P # 32) Como você encontra vazamentos de memória no aplicativo móvel na plataforma Android?
Responda: O Android Studio está usando o Android Device Manager (ADM), esse ADM é usado para detectar vazamentos de memória na plataforma Android.
Ao abrir o ADM no Android Studio, no lado esquerdo do ADM, você encontrará seu dispositivo ou emulador no qual um sinal de heap será exibido. Quando estiver executando qualquer aplicativo móvel, você verá o tamanho do heap, a análise da memória e outras estatísticas exibidas nele.
Q # 33) O que é DDMS?
Responda: O Android Studio tem ferramentas de depuração conhecidas como DDMS, ou seja, Dalvik Debug Monitor Server.
Possui amplos recursos de depuração que incluem:
- Serviços de encaminhamento de portas.
- Captura de tela no dispositivo.
- Informações de thread e heap.
- Chamada recebida e spoofing de SMS.
- Logcat
- Informações sobre o estado do rádio.
- Falsificação de dados de localização.
DDMS é integrado com o Android Studio. Para iniciar o DDMS, você precisa abrir o Android Device Monitor (ADM) primeiro e então clicar no botão de menu DDMS. Assim que o DDMS é iniciado, no lado esquerdo, a lista de dispositivos conectados é exibida junto com os processos que estão sendo executados em cada dispositivo.
Com a ajuda do DDMS, você pode depurar dispositivos reais e emuladores.
P # 34) Quais são as diferentes opções de armazenamento de dados disponíveis na plataforma Android?
Responda: A plataforma Android oferece uma ampla gama de opções de armazenamento de dados. Essas opções devem ser usadas com base na necessidade, como os dados são seguros e usados com permissão apenas ou podem ser acessados publicamente.
Abaixo está a lista de opções de armazenamento de dados na plataforma Android:
- SharedPreference : Armazena dados em arquivos XML. É a maneira mais simples de armazenar dados privados no par de valores-chave.
- SQLite : Armazena dados estruturados no banco de dados privado.
- Armazenamento interno : Ele armazena dados no sistema de arquivos do dispositivo e qualquer outro aplicativo não pode ler esses dados.
- Armazenamento externo : Os dados são armazenados no sistema de arquivos, mas podem ser acessados por todos os aplicativos do dispositivo
P # 35) Explique os sensores no Android.
Responda: Os dispositivos habilitados para Android têm sensores integrados que medem a orientação, o movimento e outras condições.
Esses sensores fornecem dados com alta precisão, o que ajudará a monitorar o posicionamento e o movimento do dispositivo. Alguns dos sensores são baseados em hardware e poucos são baseados em software.
Existem três categorias de sensores, conforme mencionado abaixo:
o que é um bom downloader de mp3
- Sensores de movimento : Esses sensores medem as forças de rotação e aceleração e incluem sensores de gravidade, sensores de vetor de rotação, acelerômetros, etc.
- Sensores Ambientais : Mede a temperatura do ar, pressão, umidade, etc.
- Sensores de posição : Mede a posição física do dispositivo e inclui sensores de orientação e magnetômetros.
Existem quatro tipos de classes Java, conforme mostrado abaixo:
- Gerente de Sensor
- Sensor
- SensorEvent
- SensorEventListener
Conclusão
Quase todas as perguntas e respostas importantes da entrevista do Android foram abordadas aqui neste artigo. Espero que isso tenha sido muito útil para você.
Tenho certeza que você pode quebrar qualquer entrevista android com sucesso com um conhecimento profundo de todas essas questões.
Espero que você esteja pronto para uma entrevista !! Desejo a todos muito sucesso !!
Leitura recomendada
- 10 melhores aplicativos de gerenciamento de projeto em 2021 para dispositivos Android e iOS
- 11 melhores ferramentas de automação para testar aplicativos Android (Android App Testing Tools)
- Tutorial de teste de aplicativos Android: um guia para iniciantes
- Tutorial da Appium para testar aplicativos móveis Android e iOS
- Conectando dispositivos iOS e Android reais da nuvem ao Appium Studio
- Crie testes de Appium para um aplicativo Android
- Introdução ao Robotium - a ferramenta de teste de IU de aplicativo Android mais popular
- Como automatizar aplicativos Android usando a ferramenta TestComplete
- Como corrigir vazamento de memória em aplicativos Android usando a ferramenta DDMS
- Como testar uma versão do Android quando ela é retirada do mercado?
- Serviços de teste beta de aplicativos móveis (ferramentas de teste beta para iOS e Android)
- Tutorial de teste de interface do usuário móvel (teste de GUI de aplicativos iOS e Android)
- Tutorial do Selendroid: Android Mobile Test Automation Framework (Parte 1)
- As 15 melhores ferramentas de teste para celular em 2021 para Android e iOS
- O que é chave de segurança de rede: como encontrá-la para roteador, Windows ou Android
- Perguntas e respostas da entrevista