Habilidades de desenvolvedor Android e perguntas para entrevistas

Publicado: Última actualização:
habilidades de desenvolvedor Android

habilidades de desenvolvedor Android estão em grande procura no desenvolvimento de software, e espera-se que esta procura cresça ainda mais. O SO Android (sistema operativo) é actualmente o sistema operativo móvel dominante. As aplicações Android funcionam em inúmeros modelos de smartphones e tablets, assim como em qualquer outro tipo de dispositivo Android.

Como resultado, uma campanha de recrutamento para encontrar desenvolvedores Android é bastante difícil. A pesquisa tem de ser rápida e precisa se quiser encontrar alguém com as competências certas para se tornar um programador Android para a sua empresa. O rastreio normalmente demora mais tempo, por isso vamos descobrir como fazê-lo de uma forma rápida e eficaz.

O que é o Android?

O Android é o sistema operacional mais popular do mundo dedicado principalmente a dispositivos móveis. O código fonte é desenvolvido pelo Google no âmbito do Android Open Source Project (AOSP). As versões subsequentes são geralmente lançadas anualmente e são anunciadas nas conferências de I/O do Google.

Uma característica do desenvolvimento de aplicações Android é que, para além dos telefones, pode ser instalado em tablets e vários outros dispositivos incorporados, por exemplo, televisores (Android TV), ecrãs em carros (Android Auto) ou relógios (Android Wear).

As principais vantagens do sistema operativo Android são as seguintes:

-Código fonte aberto (https://source.android.com/

-A plataforma é desenvolvida pela Google. A cada meio ano, o sistema fornece aos utilizadores e programadores algo de novo. O Google é muito particular no desenvolvimento de todo o ecossistema, desenvolve uma série de bibliotecas, ferramentas (IDEs baseadas em IntelliJ), organiza muitas conferências, workshops, screencasts, etc.

- Design consistente, especialmente desde que o conceito de Design de Materiais foi introduzido. A luta constante para manter uma aparência consistente no desenvolvimento de aplicações Android, de modo a que, ao alternar entre aplicações, os utilizadores não se percam.

Lista de competências do desenvolvedor Android

Há certas coisas que os programadores do Android devem saber quando se trata das bases do desenvolvimento do Android. Um recrutador de TI também deve estar ciente destas competências.

Arquitectura da plataforma Android - Refere-se a quantos processos são lançados durante o arranque da aplicação. Quantos processos são iniciados, e de que forma as aplicações Android comunicam com o sistema e com outras aplicações? Por exemplo, ao escolher um contacto ou ao partilhar uma imagem, qual é o fio principal e como funciona dentro da plataforma Android?


- Uma parte importante do desenvolvimento do Android é conhecer os componentes básicos da plataforma: Actividade, Fragmento, Serviço, Intenção, BroadcastReceiver, ContentProvider.


- Os criadores do Android devem estar cientes das bibliotecas padrão e mais populares utilizadas durante o desenvolvimento de aplicações Android. Aquelas que suportam a criação de aplicações Android. Exemplos incluem: Biblioteca de suporte do Android, Google Play Services, Retrofit, OkHTTP, rxJava, EventBus, Dagger

- Os programadores do Android devem estar cientes dos padrões de concepção que permitem escrever aplicações de forma a permitir uma fácil manutenção, extensão e teste. Incluindo as últimas tendências: MVP, MVVM, Arquitectura limpa.


- Regras relativas à criação de pontos de vista eficientes, capacidade de criar pontos de vista personalizados reutilizáveis


-A capacidade de lidar com a fragmentação do mercado e a multiplicidade de vários dispositivos de diferentes produtores com várias versões de sistemas. Mecanismos que a plataforma oferece para assegurar o bom funcionamento das aplicações Android em dispositivos com ecrãs de diferentes tamanhos/densensidades. Isto inclui também várias versões linguísticas e várias versões do próprio sistema.


-[Numa nota mais leve] Cada versão Android apresenta um dígito e uma letra (de com C até N). O Google tenta sempre arranjar um nome de pastelaria ou algo doce de início

Como verificar as competências do programador Android na fase de rastreio?

O rastreio dos criadores de aplicações Android pode ser difícil se não for um revelador você mesmo. É ainda mais difícil quando a própria tecnologia se está a desenvolver a todo o momento.

É aqui que as plataformas de teste de desenvolvedores como DevSkiller TalentScore dão aos recrutadores uma vantagem. Avaliam as competências técnicas necessárias para desempenhar a função técnica em questão - neste caso, as competências necessárias para desenvolver aplicações Android.

Sem o rastreio do programador, existem ainda algumas dicas úteis de recrutamento que o ajudarão a verificar as competências do programador Android.

Rastreio técnico das competências do desenvolvedor Android com base no CV

Um CV pode dizer-nos muitas informações úteis sobre um desenvolvedor de aplicações móveis. No entanto, é preciso saber o que é mais importante. Como recrutador de TI à procura de um criador de aplicações Android, as seguintes informações valiosas serão úteis:

- Um bom desenvolvedor de aplicações Android deveria ter trabalhado numa série de aplicações lançadas na loja Google Play. Se estas aplicações ainda estiverem disponíveis, deveriam ser verificadas para ver como são, como funcionam, e quantos downloads têm na loja Google Play.

-Uma pessoa que tenha trabalhado no desenvolvimento de aplicações Android terá normalmente feito parte de uma equipa. Descobrir o tamanho da equipa de desenvolvimento de aplicações. Qual era o nome da empresa de desenvolvimento de aplicações? Qual era o seu papel no âmbito do projecto? O projecto em que estavam a trabalhar foi também criado para outras plataformas, por exemplo - iOS, e Windows?

Se não conseguir descobrir nenhuma destas informações a partir do próprio CV, vale a pena fazer estas perguntas a qualquer potencial criador de aplicações durante uma entrevista telefónica ou vídeo.

Como recrutador técnico que procura contratar alguém para o desenvolvimento de aplicações Android, deve estar familiarizado com a terminologia utilizada pelo estúdio Android. Qualquer candidato que deseje conseguir um trabalho de desenvolvimento de aplicações Android, deve, portanto, estar também familiarizado com estes termos.

Os criadores do Android devem possuir certos conhecimentos básicos quando se trata de aplicações móveis Android. Existem certas estruturas e ferramentas que são utilizadas para tornar o trabalho de um programador Android fácil ou mais fácil de qualquer forma. Isto inclui:

-Componentes básicos, Actividade, Fragmento, Intenção, Serviço, BroadcastReceiver, Ferramentas ContentProviderTesting, Espresso, Mockito, Robolectric, Interfaces de utilizador e componentes básicos da interface de utilizador Android (a maior parte do Material Design) Barra de ferramentas, ViewPager, RecyclerView, CardView, Botão de Acção Flutuante, Gaveta de Navegação, Barra de Fundo, Ferramentas CoordinatorLayoutBuild, Gradle (Eclipse e ADT são legados), as bibliotecas e linguagens de programação mais populares, Biblioteca de Apoio, Google Play Services, Retrofit, EventBus, rxJava, rxAndroid, OkHttp, Dagger, Android SDK


Informação adicional útil no desenvolvimento do Android

No mundo do SO Android, existem alguns lançamentos de sistemas chave que são revolucionários ou introduzem algo novo. Para mais informações, vá para http://socialcompare.com/en/comparison/android-versions-comparison.

Abaixo estão disponíveis algumas das versões do Android:

Android 7.0

  • Modo multijanela (duas aplicações simultaneamente exibidas em uma tela dividida)

Android 6.0

  • Permissões de tempo de execução. Nova abordagem para solicitar acesso aos dados sensíveis dos usuários (com base no exemplo do iOS)

Android 5.0

  • Desenho do material. Revolução da IU em aplicações

Android 4.0

  • A primeira versão do sistema que não tem variantes para telefones/tabelas, mas funciona em dispositivos com qualquer tipo de ecrã

Certificação no desenvolvimento do Android

Experiência anterior: o que é importante para um recrutador de TI

Se vir pelo currículo dos criadores de aplicações Android que eles têm um par de anos de experiência, vá um pouco mais fundo e procure as seguintes coisas no seu CV:

  • Trabalho de equipa - Procurar provas de que trabalharam com outros programadores Android ou lideraram uma equipa (no caso de um programador Android sénior) que trabalhou numa série de aplicações Android.
  • Qualquer pessoa bem sucedida no desenvolvimento de software deve ter uma série de publicações, bem como problemas de produção que tenha encontrado. Isto pode dizer-lhe mais sobre as suas capacidades de desenvolvimento do Android, e a sua contribuição durante o processo de desenvolvimento do Android. Se eles puderem falar fluentemente de uma forma interessante sobre as suas experiências, isso dir-lhe-á muito sobre o seu envolvimento no processo de criação de aplicações Android. Isto deve ir além de "a minha equipa e eu resolvemos tais e tais problemas". É importante saber quais foram os problemas que resolveram, e o que contribuíram exactamente para o projecto.

O que mais pode dizer sobre um desenvolvedor de aplicações Android a partir do seu CV?

  • Tenha em atenção tudo o que esteja relacionado com a linguagem de programação Java. Workshops, certificados, e conhecimentos de código e padrões Java. Java é a linguagem de programação básica do Android. Mesmo outras linguagens de programação que possam aparecer, são normalmente baseadas em JVM (especificamente Android Runtime, ART), pelo que estar familiarizado com todas as limitações e regras relativas à linguagem de programação Java é muito útil.

Exame técnico das competências de desenvolvimento do Android durante uma entrevista telefónica/video

Um currículo pode oferecer-lhe alguma informação básica sobre o seu candidato no que diz respeito ao desenvolvimento de aplicações móveis, mas pode não lhe dizer muito sobre outras competências essenciais. Por exemplo, não é suficiente para lhe fornecer conhecimentos sólidos sobre as suas capacidades de preenchimento de código.

Abaixo encontrará alguns exemplos de perguntas que lhe dirão mais sobre o candidato a este respeito.

1. Fale-nos sobre o problema mais interessante que encontrou após a publicação de uma das aplicações móveis em que trabalhou. Como resolveu este problema?

  • Esta pergunta revela quaisquer deficiências na experiência de um desenvolvedor decente que deveria fornecer toneladas de exemplos do topo de sua cabeça de problemas que eles conseguiram resolver e que os deixou orgulhosos. Se alguém acabou de participar, pode se perder na resposta à pergunta.

2. Enumerar os componentes prontos a usar do Material Design, cujas implementações podem ser encontradas na família da biblioteca de apoio.

  • Uma resposta a esta pergunta manifesta o conhecimento da família básica de bibliotecas que cada uma e todas as aplicações Android utilizam. Um candidato deve ser capaz de enumerar pelo menos o seguinte: CardView, RecyclerView, Botão de Acção Flutuante, Barra de Ferramentas, Gaveta de Navegação. Se um programador conhece estes componentes, significa que eles não irão reinventar a roda ao criar uma aplicação clássica, mas utilizar componentes fiáveis e amplamente utilizados a partir de uma biblioteca gratuita.

3. Qual é o seu atalho favorito no Android Studio?

  • Uma resposta a esta pergunta mostra até que ponto um candidato está interessado na ferramenta que utiliza diariamente e até que ponto a domina. Um candidato deve facilmente enumerar pelo menos 4-5 atalhos que usa todos os dias. Quanto mais exemplos eles derem, melhor se reflete sobre eles. É um mau sinal quando um programador que não conhece atalhos e usa o mouse para tudo.

4. O que você tem que fazer para congelar uma aplicação Android?

  • Para realizar demasiadas operações no fio principal. Uma resposta a esta pergunta manifesta o conhecimento de um candidato sobre a arquitectura da plataforma. Ser capaz de responder a esta pergunta é uma necessidade absoluta. Um candidato que não seja capaz de dar uma resposta não escreverá uma candidatura que seja rápida e estável do ponto de vista dos seus utilizadores.

5. Como você lida com a fragmentação?

  • O mercado de telefones com Android é a mais diversa de todas as plataformas móveis e as aplicações Android continuam a ser as mais populares em plataformas como o Google Play. Ser capaz de responder a esta pergunta significa que um candidato possui conhecimento do processo de desenvolvimento. Eles sabem o que a plataforma Android oferece e têm o know-how para assegurar a compatibilidade da aplicação - numa versão particular do sistema, dispositivos com vários ecrãs, etc.

É também uma boa ideia perguntar sobre a fonte dos projectos de desenvolvimento do Android, ou seja, PSD ou fornecidos por um designer. Como é que eles lidam com o corte de gráficos e a cooperação com designers?

Leia o: Dados salariais completos do desenvolvedor Android

DevSkiller pronto a usar testes de competências para desenvolvedores Android online

Na DevSkiller fornecemos às empresas uma ferramenta que lhes permite criar os seus próprios testes de programação, onde podem testar as melhores capacidades de desenvolvimento do Android usando a sua própria base de códigos. Assim como projectos inteiros de TI utilizando as suas próprias estruturas e bibliotecas excelentes para avaliar as suas capacidades de desenvolvimento de aplicações móveis. Contudo, temos também alguns testes de codificação .NET prontos a usar, que podem ser utilizados na sua campanha de recrutamento.

Android Studio IDE

Todos os Testes de habilidade de desenvolvedores Android disponível no nosso catálogo, agora executado num IDE de Estúdio Android aquecido, directamente no browser do candidato. Desta forma, eliminamos o demorado acto de ter de configurar o ambiente de desenvolvimento numa máquina local. Os candidatos podem começar a codificar assim que abrirem o convite para o teste.

Para utilizar o Android Studio para tarefas de programação Android no teste DevSkiller TalentScore, os candidatos só precisam de seleccionar a opção "In-browser editor" quando chegam à secção de tarefas de programação nos seus testes.

Saiba mais sobre a nossa gama de Testes de codificação do programador Android

Android
JUNIOR
Competências testadas
Duração
36 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Android

Lacunas de código

avaliação do conhecimento de Android, Kotlin

Tarefa de programação - Nível: Fácil

Android | Kotlin | Bússola - Implementar a funcionalidade da bússola na aplicação baseada na localização.

Android
MÉDIO
Competências testadas
Duração
41 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Android

Lacunas de código

avaliação do conhecimento de Android, Kotlin

Tarefa de programação - Nível: Médio

Android | Kotlin | RecyclerView | Lista de afazeres - Criar uma lista de afazeres simples onde cada item é um item da lista RecyclerView.

Android
JUNIOR
Competências testadas
Duração
36 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Android

Lacunas de código

avaliação do conhecimento de Android, Java

Tarefa de programação - Nível: Fácil

Android | Java | Reprodução de vídeo - Implemente a reprodução simples de um recurso de vídeo incorporado.

Android
SENIOR
Competências testadas
Duração
48 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Android

Lacunas de código

avaliação do conhecimento de Android, Java, ProGuard

Tarefa de programação - Nível: Difícil

Android | Java | Configuração do ProGuard - Implementar a Configuração do ProGuard para remover o código do desenvolvedor da base de código - em tempo de compilação.

Android
SENIOR
Competências testadas
Duração
58 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Android

Lacunas de código

avaliação do conhecimento de Android, Kotlin

Tarefa de programação - Nível: Difícil

Android | Kotlin, C | JNI Magic - Implementar a funcionalidade JNI que permite chamar o método Base::getBaseComponent tendo apenas uma instância Cliente.

Android
MÉDIO
Competências testadas
Duração
61 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Android

Lacunas de código

avaliação do conhecimento de Android, Kotlin

Tarefa de programação - Nível: Médio

Android | Kotlin | Notepad app - Funcionalidades básicas completas de uma aplicação de tomada de notas utilizando o RecyclerView.

Android
SENIOR
Competências testadas
Duração
52 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Lacunas de código

avaliação do conhecimento de Android, Kotlin

Tarefa de programação - Nível: Difícil

Android | Kotlin | Manipulação de bitmap - Aplicação completa de manipulação de imagem que realiza algumas operações na imagem seleccionada.

Android
JUNIOR
Competências testadas
Duração
53 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Android,

Lacunas de código

avaliação do conhecimento de Android, Kotlin e Java

Tarefa de programação - Nível: Fácil

Android | Kotlin | Employees Application - Aplicação completa que exibe uma lista de pessoas responsáveis por diferentes áreas da empresa, como TI ou Folha de Pagamento.

Android
SENIOR
Competências testadas
Duração
45 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Android

Tarefa de programação - Nível: Difícil

Android | Vibrations API - Implementar um método para tocar uma melodia de fantasia através do dispositivo táctil incorporado para indicar que o interruptor de recurso foi alternado.

Android
MÉDIO
Competências testadas
Duração
39 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Android

Tarefa de programação - Nível: Médio

Android | Kotlin | ConstraintLayout Animation - Implementar animações de elementos de layout usando a API ConstraintLayout.

Partilhar correio

Saiba mais sobre a contratação de tecnologia

Subscreva o nosso Centro de Aprendizagem para obter informações úteis directamente na sua caixa de entrada.

Verificar e desenvolver as habilidades de codificação sem problemas.

Veja os produtos DevSkiller em ação.

Certificações de segurança e conformidade. Certificamo-nos de que os seus dados estão seguros e protegidos.

Logotipo DevSkiller Logotipo TalentBoost Logotipo TalentScore