Tela iOS habilidades de desenvolvedor

Publicado: Última actualização:
iOS: perguntas do engenheiro de software para entrevistas

Os desenvolvedores de aplicativos móveis são difíceis de encontrar, particularmente se você estiver tentando construir um aplicativo para iOS. Depende de você sair e encontrar os melhores desenvolvedores de iOS para construir seu aplicativo móvel. Mas isso pode ser uma tarefa assustadora. As habilidades de desenvolvedor iOS que um desenvolvedor móvel precisa não são as mesmas que você conhece seu desenvolvedor Java comum.

Isto causa um problema para a maioria dos recrutadores técnicos. A maioria deles simplesmente não tem a experiência para saber se o desenvolvedor iOS que estão recrutando tem ou não as habilidades corretas de desenvolvedor iOS. Quer dizer, você não quer acabar com um grande grupo de candidatos que você precisa entrevistar. Isso levaria a horas e horas de entrevistas técnicas que a sua equipa de TI simplesmente não tem tempo para agora.

O que eu preciso saber para avaliar as habilidades do desenvolvedor iOS?

Felizmente para si, preparámos toda a informação de que necessita para analisar eficazmente as capacidades do iOS developer. No final do guia, você deve ser capaz de caminhar e falar sobre o assunto quando se trata de entrevistar e triar desenvolvedores iOS. Você será capaz de fazer as perguntas certas, entender a linguagem, e decifrar o CV de um grande desenvolvedor iOS. Mais importante, você vai descobrir que tipos de testes você pode usar para selecionar seus candidatos ao iOS para que você só convide os melhores para as entrevistas. Mas antes de tudo isso, é importante aprender o básico.

1. O que é o iOS?

O iOS é o sistema operacional que a Apple desenvolveu para alimentar seu onipresente iPhone. Não contente em dominar apenas o mercado telefônico, a Apple usou seu sistema operacional para alimentar uma série de outros dispositivos, incluindo o iPad, o relógio Apple e a Apple TV. Então, se você contratar um desenvolvedor iOS, eles estarão codificando no iOS? Bem, não exatamente.

Quando você fala de um Desenvolvedor iOSNa verdade, você está falando de um desenvolvedor que usa uma ou ambas as linguagens que são proprietárias do iOS. A partir de 2008, a Apple lançou sua própria linguagem de programação proprietária, Objective-C, para ser usada para o iOS. A isso se juntou, há quatro anos, a Swift. Embora estas sejam as duas únicas linguagens disponíveis para o iOS, você também pode usar estas linguagens para desenvolver software para o MacOS. Mas mesmo que possam ser usadas para ambos os sistemas operacionais, elas são um pouco diferentes em alguns aspectos chave.

  • Objective-C é reflexivo, baseado na classe e orientado para objectos
  • O Swift é multi-paradigma, orientado a protocolos, orientado a objetos, funcional, imperativo e estruturado em blocos

A Swift pegou emprestadas suas idéias gerais de linguagem fortemente do Objective-C junto com JavaScript, Ruby, e Python. Também é muito mais conveniente do que Objective-C, principalmente porque é do tipo seguro. Isto significa que se tornou mais fácil começar a aprender programação iOS e melhorar a segurança e estabilidade das aplicações.

O que você vai descobrir é que embora existam vários sistemas legados que usam Objective-C, a Swift tomou a maior parte como a linguagem de programação de escolha para o iOS. A curva de aprendizado para escrever código seguro e sem bugs é um pouco mais acentuada com o Swift do que era para Objective-C. Dito isto, uma vez que os desenvolvedores dominam o Swift, a prática de escrever código seguro e livre de bugs é na verdade mais fácil do que era com o Objective-C. A Swift usa o mesmo ambiente de tempo de execução e SDK do Objective-C. Isto significa que ele é totalmente compatível com toda a pilha de tecnologia iOS, bem como com as novas ferramentas apenas Swift.

2. O que é importante para um recrutador saber sobre o iOS

Você vai descobrir que o ambiente do iOS muda regularmente. Normalmente há uma grande atualização uma vez por ano que informa as linguagens que são utilizadas, bem como a direção do desenvolvimento. Elas são normalmente anunciadas na WWDC ou na World Wide Developers Conference. Este é o maior evento do mundo para desenvolvedores iOS com todas as novas tecnologias iOS anunciadas na palestra principal. Qualquer recrutador que esteja à procura de programadores iOS deve tomar nota do que é anunciado aqui para se manter no topo das mais recentes tecnologias iOS.

As duas bibliotecas mais importantes que todos os desenvolvedores do iOS devem conhecer são UIKit e Foundation. Um desenvolvedor de iOS simplesmente não pode construir nenhum aplicativo sem elas, então é obrigatório que o desenvolvedor possa usar essas ferramentas. Além disso, para as ferramentas suportadas pela Apple, há um grande número de bibliotecas e frameworks de código aberto que os desenvolvedores de iOS podem utilizar para construir seu software.

3. Como verificar as habilidades do desenvolvedor iOS na fase de triagem

3.1. Triagem técnica das habilidades do desenvolvedor iOS com base em um CV

Provavelmente a coisa mais valiosa que o CV de um desenvolvedor iOS pode lhe dizer é sobre os tipos de projetos em que o candidato se envolve. Estes podem incluir funções essenciais como Bluetooth, bases de dados locais, e trabalhar com serviços de localização. Obviamente, uma grande vantagem seria se eles tivessem desenvolvido um aplicativo. Qualquer aplicativo pode ser verificado indo até a loja de aplicativos iOS.

Construir aplicações não é a única experiência útil a procurar no CV do seu candidato. Experiência com outros idiomas, especialmente C++ é ótimo de se ver. Também é bom ver que o candidato trabalhou com uma plataforma específica como o Apple Watch ou a Apple TV. Devido à natureza da plataforma, você quer ver o conhecimento dos testes unitários e do processo de submissão na App Store. Finalmente, você quer ver a experiência com a configuração de integração contínua.

Apesar de ser bastante simples fazer a triagem de um CV, às vezes o vocabulário que um recrutador precisa para entender o que está no CV de um desenvolvedor iOS pode ser confuso. Para ajudá-lo, nós criamos um glossário que você pode usar para entender as habilidades mais importantes de um desenvolvedor iOS.

3.2 Glossário de competências de desenvolvimento iOS para recrutadores técnicos

Idiomas Rápido, Objetivo-C
Geral GCD, Fila Operacional, Notificações Push, Conscientização na assinatura do código,
Base de dados Sqlite, CoreData, Realm
UI UIKit, Animação Core, Autolayout, Classes de tamanho, SnapKit
Estruturas específicas (todo o trabalho tanto no Objective-C como no Swift) Localização central, MapKit, AVFoundation, StoreKit, Extensões, Catálogo de endereços, EventKit, CAllKit, SiriKit, Core Bluetooth

3.3 Mais informações sobre o iOS que seriam úteis para um recrutador saber

Novas funcionalidades foram adicionadas a cada nova versão do iOS. E à medida que as funcionalidades são adicionadas, novas frameworks são desenvolvidas para interagir com elas (SiriKit, CallKit, WatchKit, e MapKit).

Além disso, as diferentes versões do sistema operacional são basicamente as mesmas com apenas a adição de novas extensões.

Os nomes mais comuns da tecnologia iOS que são utilizados de forma intercambiável

CoreData e SQLite podem ser utilizados de forma intercambiável

O quão próximas estão as respectivas versões das tecnologias iOS umas das outras:

Todas as versões da Swift que estão disponíveis são semelhantes umas às outras. É claro que o idioma passou por múltiplas iterações de 1.0 a 4.2. E cada uma delas introduziu as suas próprias alterações específicas. No entanto, se alguém tem experiência com três, não deve ter problemas usando a versão mais recente.

4. Habilidades do desenvolvedor iOS: perguntas para entrevistas

A entrevista é um momento importante para conhecer os tipos de problemas que o seu candidato enfrentou e a sua abordagem para resolver problemas. Não pode substituir um ecrã técnico, mas pode informar a sua decisão.

4.1 Perguntas sobre a experiência da plataforma para um desenvolvedor iOS

Q1: Escolha algumas tecnologias do CV do candidato e peça ao candidato para explicar o que são e como são utilizadas.

Por que você deve perguntar Q1: Só para verificar o seu conhecimento sobre as tecnologias que mencionaram.

Q2: Peça ao candidato para descrever o projecto mais interessante em que participou e qual foi o seu papel no projecto.

Por que você deve perguntar Q2: Verificar quão complexos e variados foram os projectos que o promotor experimentou e qual foi o seu papel (promotor, promotor principal, arquitecto).

4.2 As habilidades de um desenvolvedor iOS: conhecimentos e opiniões

Q3: Peça ao candidato para comparar Swift e Objective-C.

Por que você deve perguntar Q3: Dá uma compreensão de quão experiente é o desenvolvedor, e se ele trabalhou com o Objective-C ou não. Na maioria dos casos, conhecer o Swift não é suficiente. Mesmo no nível júnior, um candidato iOS precisa ser capaz de compreender e usar tanto Objective-C como Swift.

Q4: Quais as tecnologias iOS que estão em amplo uso agora, e quais podem se tornar populares no futuro?

Por que você deve perguntar Q4: Ele informa se o candidato tem a capacidade de analisar e prever tendências do mercado e da indústria de TI, com base nas habilidades do desenvolvedor iOS.

Q5: Como você pode evitar vazamentos de memória?

Por que você deve perguntar Q5: Você verá se o candidato está consciente de potenciais problemas enquanto usa referências fortes/ fracas. Tenha em mente que blocos e fechamentos podem manter uma forte ligação com um objeto.

4.3 Questões comportamentais para um desenvolvedor iOS

Q6: Você já teve experiência como tutor e mentor de alguém no Swift?

Por que você deve perguntar Q6: Verifique se o desenvolvedor é capaz de ser um bom mentor para os recém-chegados.

Q7: Pergunte qual das soluções e projectos do candidato mais se orgulha?

Por que você deve perguntar Q7: Isto irá ajudá-lo a verificar o nível de complexidade das tarefas em projectos anteriores

5. Triagem técnica de competências iOS com um teste de codificação online

Telas de CV e entrevistas podem ser úteis para contratar desenvolvedores iOS, mas eles não podem realmente dizer se o seu candidato tem as habilidades corretas de iOS. O que você realmente precisa que eles façam é algum desenvolvimento de software real. Isto pode ser um problema se feito de forma errada, porque os candidatos têm um tempo limitado e paciência para fazer um projeto de codificação. Um teste de codificação online pode ser uma boa solução. Mas como você sabe qual escolher? O certo deve ter algumas características chave.

  1. Envolve os tipos de tarefas que o candidato irá realmente realizar uma vez contratado (e as verdadeiras habilidades de desenvolvedor iOS que ele precisará para fazê-lo)
  2. Deve cobrir tanto a tecnologia como a pilha de tecnologia em que eles vão trabalhar.
  3. Deve ser o mais próximo possível do natural. processo evolutivo o mais possível - Isto significa:
    1. O candidato deve ter acesso ao seu próprio IDE
    2. Eles devem ser capazes de usar todos os recursos que normalmente usariam no trabalho, incluindo bibliotecas, estruturas, Stack Overflow e até mesmo o Google
  4. Deve testar as capacidades de codificação, mas também a lógica empresarial
  5. Deve iluminar o tipo de decisões de codificação que o candidato toma
  6. Deve ser fácil de levar de qualquer lugar para evitar incomodar desnecessariamente o candidato.

Infelizmente, a maioria dos testes de codificação online fica aquém destes requisitos. Os testes de algoritmo podem dizer-lhe se o candidato pode codificar mas não podem dizer-lhe o quão bem o candidato conhece o ambiente, as decisões que toma e a lógica de negócio que utiliza. Em essência, eles não fazem justiça às habilidades do desenvolvedor iOS. Eles também são uma forma bastante antinatural de escrever código. O resultado é que eles desligam muitos desenvolvedores que não sentem que podem representar suas habilidades desta maneira com precisão. Esses desenvolvedores correm o risco de sair do seu pipeline de recrutamento.

Os testes de amostras de trabalho no DevSkiller resolvem estes problemas. No DevSkiller, os seus desenvolvedores de iOS serão solicitados a construir um recurso real ou uma pequena aplicação para o iOS. Os testes podem ser feitos em qualquer parte do mundo e representam um ambiente natural de programação. Você pode verificar os vários testes iOS tanto no Objective-C como no Swift no nosso catálogo de teste de codificação.

6. DevSkiller pronto a usar avaliação de habilidades de desenvolvedores iOS online

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

Perguntas de escolha

avaliação do conhecimento de Swift, iOS

Lacunas de código

avaliação do conhecimento de Swift, iOS

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

iOS | Swift | Nerd Airlines App - Construir uma aplicação que é utilizada para encontrar a rota mais barata entre dois destinos determinados. Implementar um mecanismo gráfico de atravessamento para encontrar a rota mais barata através do preenchimento dos métodos apropriados, implementar um mecanismo genérico de cache para os dois ovos de páscoa dados da aplicação.

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

Perguntas de escolha

avaliação do conhecimento de Swift, iOS

Lacunas de código

avaliação do conhecimento de Swift, iOS, MacOS

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

iOS | Swift | Nerd Airlines App - Construir uma aplicação que é utilizada para encontrar a rota mais barata entre dois destinos determinados. Implementar um mecanismo gráfico de atravessamento para encontrar a rota mais barata através do preenchimento dos métodos apropriados, implementar um mecanismo genérico de cache para os dois ovos de páscoa dados da aplicação.

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

Perguntas de escolha

avaliação do conhecimento de Swift, iOS

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

iOS | Swift | Notepad App - Completa uma aplicação simples de notas usando o NotesService fornecido para salvar e ler notas.

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

Perguntas de escolha

avaliação do conhecimento de Swift, iOS

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

iOS | Swift | NSA Cipher Tool - Resolva os 3 puzzles criptográficos para tomar a posição de sonho como programador na NSA.

Swift
MÉDIO
Competências testadas
Duração
48 minutos, no máximo.
Avaliação
Manual
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Swift, iOS

Lacunas de código

avaliação do conhecimento de Swift, Unicode, iOS

Tarefa de revisão de código - Nível: Médio

iOS | Swift | BookDataAnalyst - Por favor, faça uma revisão do código deste código. Preste atenção à qualidade e ao cumprimento das melhores práticas.

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

Perguntas de escolha

avaliação do conhecimento de iOS, Swift

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

iOS | Swift | Book Keeper App - Inicializar a Pilha de Dados Principal, incluindo salvar e buscar itens genéricos e implementar funcionalidades adicionais, preenchendo os métodos que faltam e fixando a funcionalidade UI.

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

Perguntas de escolha

avaliação do conhecimento de Swift, iOS

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

iOS | Swift | Book Keeper App - Inicialize o Core Data Stack para trabalhar concomitantemente, incluindo salvar em um thread de fundo e buscar itens genéricos no thread principal; implemente funcionalidade adicional preenchendo os métodos que faltam e fixando a funcionalidade UI para que um usuário seja capaz de adicionar ou editar itens da empresa e faturas; implemente a funcionalidade de busca em ambas as visões. Finalmente, ele precisará limitar a entrada do campo de texto de forma apropriada para passar nos testes.

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

Perguntas de escolha

avaliação do conhecimento de iOS, Swift

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

IOS | Swift | Weather App - Construa um aplicativo que analisa os dados meteorológicos recebidos de um backend de serviço meteorológico. O candidato deve ler o arquivo JSON fornecido, criar um modelo de dados, analisá-lo e preencher as funções em falta para recuperar as condições meteorológicas necessárias do modelo.

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