Experiência de entrevista de caminhada | Conjunto 7 (para SDE iOS) | 2+ anos de experiência
Recentemente, participei do Hike Hiring Drive para iOS Developer no escritório de Delhi. Os candidatos têm 0-2, 2-4 e 4+ anos de experiência. Recebi recomendação de um recrutador no LinkedIn.
Rodada 1: Aplicativo móvel - (1:30 hora) Eles forneceram Flickr Api, a tarefa é construir um aplicativo iOS que busca imagens usando a entrada da barra de pesquisa e exibe as imagens. Certifique-se de que a IU não deve ser bloqueada, manipulação de várias requests durante a digitação do usuário, estrutura de código, paginação e legibilidade e armazenamento em cache de imagem são vantagens se você tiver implementado.
Criei o aplicativo em 50 minutos - Link para ver https://github.com/Vasu05/Hike-Messenger-Hiring-iOS-Test
Após a conclusão do aplicativo, Meu aplicativo é revisado pelo gerenciador de iOS. Ele foi legal e amigável. Ele perguntou a estrutura do modelo que eu segui, há travamento no meu aplicativo, me pediu para depurar e eu fiz, disse a ele o motivo do travamento. Ele perguntou sobre GCD, pediu otimização de código. Ele perguntou como detectar se o usuário rola a parte inferior da página. Ele inspecionou o aplicativo completamente, ele estava digitando, cancelando, limpando dados para ver o comportamento do aplicativo. Ele ficou impressionado, pois criei todos os principais recursos com otimização de código. Em seguida, temos uma discussão sobre os projetos atuais em que estou envolvido, o que eu construí no passado. Essa rodada de revisão durou cerca de 1:20 h. Ele me pediu para almoçar e esperar o segundo turno.
Rodada 2: DS Algo (30 min) -
- Encontre dois elementos com soma igual ao valor x em Array. Fiz isso usando hashmap .
- A árvore é BST ou não.
- Implementação LRU
- Discussão sobre o tratamento de threads no iOS
Foi necessário um código adequado, eles deram tempo suficiente para pensar e pediram uma abordagem melhor. Eu codifico todos os três a bordo com uma explicação. O entrevistador ficou impressionado, me pediu para esperar mais uma rodada.
Rodada 3: esta rodada deveria ser realizada pelo vice-presidente da empresa, mas ele estava ocupado com outros candidatos, então outra pista veio e me pediu para fazer outra rodada. Ele fez duas perguntas
- Detecte o loop na lista vinculada e remova o loop.
- obter ponto de fusão de duas listas vinculadas.
Enquanto isso, eu estava escrevendo o código para as segundas perguntas no papel, ele disse que havia encerrado a entrevista e me pediu para encontrar o VP para uma nova rodada.
Rodada 4: esta rodada realizada pelo vice-presidente da empresa. Ele deu uma introdução, o que ele fez, em que eles estão se concentrando e falou sobre como eles são diferentes de outros aplicativos de mensagens no mercado. Ele me perguntou se você preferia caneta e papel ou escrever na tela, então ele me pediu para vir para o quadro, era samsung TV onde eu deveria escrever código com caneta. Ele perguntou -
- Fluxo infinito de palavras que você deve dizer k palavras mais ocorrentes. Eu disse a ele abordagem com heap e trie, ele me pediu para usar outra estrutura de dados para pesquisa, eu dei a ele uma abordagem de árvore ternária ainda que ele esperava melhor e me deu uma dica para usar o mapa, em seguida, dei a solução usando heap e hashmap. Ele me pediu para codificar.
- verifique se a árvore binária é mínima ou não . Ele saiu da sala e me perguntou se eu pensava em otimizar a solução. Ele chega depois de 30 minutos de intervalo entre eu escrevi propriedades da árvore binária e heap e, em seguida, escrevo código para verificar se a árvore é mínima ou não. Ele ficou satisfeito.
- Ele me deu uma pergunta sobre o design - ele me pediu para criar a opção de pesquisa de adesivos enquanto o usuário estava digitando. Eu disse a ele sobre o cache de memória, ele me perguntou o que todos os tipos de cache que podemos usar. Eu disse a ele que há um cache de aplicativo mantido por aplicativo, memória de disco e memória de rede. Eu fiz um diagrama de como a consulta de pesquisa funcionará passo a passo. Em seguida, discutimos sobre o manuseio de vários caracteres durante a digitação do usuário. Eu disse que podemos usar o temporizador para processar uma nova solicitação. Em seguida, ele me perguntou o tópico principal não deve ser bloqueado enquanto o usuário interage com a tela. Eu disse a ele para usar GCDs e temos uma longa discussão sobre isso. Ele ficou satisfeito, foi uma longa jornada, ele estava me ajudando quando estou preso. Em seguida, discutimos sobre a cultura da empresa, se ele ainda codifica, como ele começou com o Hike Messenger. Ele me pediu para esperar outra rodada.
- Existem muitas outras questões das quais não me lembro.
Esta rodada dura 1:40 horas.
Depois de tudo isso eu estava muito exausto, já que respondi todas as perguntas corretamente, essa avaliação contínua era iniciada a partir das 10:30 da manhã.
Eram cerca de 5h30 quando eles agendaram outra rodada de entrevista.
Rodada 5: O entrevistador examinou meu currículo e pediu-me uma breve introdução. Expliquei a ele meus projetos atuais na empresa e na faculdade. Ele era desenvolvedor de back-end sênior. Ele começa a me fazer perguntas sobre Java. Eu disse a ele que não pude entrar em contato com ele desde 1,5 anos, mas ele perguntou.
- escrever código para 1 gravador e problema de n leitor. Eu disse a ele que podemos usar bloqueios (semáforo e semáforo) e dei-lhe a solução.
- Ele pediu dicas virtuais - eu disse a ele que não me lembro.
- Stack vs Heap Memory. Eu dei a ele uma explicação com exemplo.
- Classe Singleton, porque estamos usando isso. Ele não ficou satisfeito com a explicação.
- Ele fez perguntas básicas sobre Java, como o que é público, privado e por que existe uma única função principal em Java.
Afinal esse recrutador me pediu para sair e no dia seguinte disseram que a última rodada não foi conforme a expectativa. Eu não fui selecionado. Dicas - prepare sua entrevista como uma colocação em uma faculdade, eles podem perguntar qualquer coisa, mesmo que não seja relacionado ao seu posto de contratação.
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva