Como realizei seis entrevistas com sucesso no Vale do Silício

Durante seis dias, de 13 a 20 de agosto de 2018, passei por entrevistas em seis empresas do Vale do Silício (LinkedIn, Yelp, Apple, Amazon, Facebook e Google) e recebi uma oferta de emprego de cada uma.



No processo de preparação, que descrevo abaixo, contei bastante com o post deste ano passado - foi ele quem uma vez me levou a pensar se era hora de mudar para outra empresa. Eu não me sentia constantemente vagando pelo outro lado do país e voltando à procura de um emprego ideal, por isso ficou claro que eu tinha que montar minha vontade e planejar todas as entrevistas para que elas fossem uma após a outra. Eu tinha como objetivo vagas relevantes para o desenvolvimento móvel, mas a abordagem descrita para treinamento, dicas e truques também é adequada para outros casos.

Espero que minha história inspire alguém que agora está na mesma posição (não muito satisfeito com o trabalho atual, quer se mudar para a área da baía, mas é um pouco curto em termos de preparação), ousa - quem sabe o que o futuro reserva para eles.

Introdução e Estatística





Decidi firmemente que quero trabalhar na área do golfo, onde posso conseguir uma grande empresa e crescer seriamente como desenvolvedor de dispositivos móveis. Eu trabalhava em startups, e foi uma boa experiência, mas desta vez por várias razões, estava procurando um peixe maior (quero dizer não apenas o tamanho da equipe, mas também a capital). Eu também sabia que ainda não tinha uma empresa específica, além de entender qual salário eu precisava solicitar, para não perder em comparação com o que tenho. Finalmente, eu não tinha vontade de enviar centenas de currículos, como já fiz logo após a universidade.

Com tudo isso em mente, enviei um currículo para vinte empresas. Quatro deles (Reddit, Nest, Stripe, Uber) me recusaram imediatamente após receber a carta. Dos dezesseis restantes, dez (Lyft, Airbnb, Dropbox, Instagram, YouTube, Square, Robinhood, Twitter, Snap, Slack) não deram nenhum feedback. A aritmética simples sugere que seis empresas responderam e sugeriu que eu conversasse com um recrutador. Como resultado, recebi seis convites para uma entrevista por telefone, seis - para uma entrevista no escritório e seis ofertas de emprego.

Depois de revisar minha agenda no Google, estimo que ela foi distribuída da seguinte maneira:

  • 7 reuniões com recrutadores em 10 dias
  • 7 entrevistas técnicas em 11 dias
  • 29 entrevistas de escritório em 8 dias
  • 3 vestígios de entrevista por telefone

Juntando esses números, podemos calcular: fiz 46 entrevistas em 73 dias (se você contar os intervalos entre as etapas). Foi difícil, e por muitas semanas eu tive que gastar todo o meu almoço nas reuniões. Comecei a trabalhar cedo para poder sair mais cedo e passar as noites em conversas telefônicas. As complicações foram criadas pelo fato de que era necessário continuar cumprindo suas funções adequadamente no trabalho atual - no entanto, eu sempre tentei dar prioridade a ela e remarquei as reuniões, se as circunstâncias o exigissem. Não pretendia me afastar para facilitar a entrevista. Isso é antiético, deixa uma má impressão e, além disso, pode acabar não encontrando um novo local e arruinando sua reputação no antigo.

Empresas (em ordem cronológica)


LinkedIn (Sunnyvale, CA)



O LinkedIn, de fato, desenvolve aplicativos bastante agradáveis ​​e eles contribuem consideravelmente para a comunidade de código aberto. Durante todo o tempo de nossa interação, fiquei impressionado com a cultura corporativa e as soluções de engenharia. Se você comparar a posição na classificação de prestígio no mercado iOS no início e no final de todo o processo, é essa empresa que mais subiu aos meus olhos.

Yelp (São Francisco, Califórnia)



O aplicativo Yelp parece ótimo: você sente a delicadeza do molho, falando sobre o conhecimento profundo da plataforma iOS. Gostei da atmosfera no escritório deles. O prédio em si é muito bonito e eu ficaria feliz em trabalhar em equipe com qualquer uma das pessoas que entrevistou. Comparada a outras empresas da minha lista, essa é bem pequena e afeta tudo - mas tem um efeito positivo. A equipe parece ter funcionado muito bem e os processos de trabalho estão se desenvolvendo extremamente rapidamente.

Apple (Cupertino, Califórnia)



A Apple tem sido parte integrante do mercado iOS (ha ha). Sou fã raivoso desde a infância (bem, desde os 12 anos, com certeza). Foi graças aos computadores Mac que eu me empolguei com a programação. O SDK do iPhone me ajudou a criar e lançar meu primeiro aplicativo. Quando eles me convidaram para uma entrevista no escritório e depois se tornaram parte da equipe - foi como em um sonho. Eu nem sei mais o que dizer na conta deles.

Amazon (Palo Alto, Califórnia)



Eu não chamaria a Amazon de uma empresa focada principalmente no desenvolvimento móvel, pelo contrário. No entanto, a posição e a equipe atenderam aos critérios que eu estabeleci para mim no início. O escritório em Palo Alto, onde entrevistei, não me impressionou, mas este é um refúgio temporário e eles devem em breve se mudar para algum prédio mais alinhado ao estilo da Amazônia. Então, nesse aspecto, eu simplesmente não tive sorte com o tempo. As pessoas com quem conversei pareciam muito entusiasmadas com seus projetos. Literalmente de todas as empresas que ouvi: “Temos uma atmosfera aqui, como nas startups!”, Mas com a Amazon isso realmente parece verdade.

Facebook (Menlo Park, Califórnia)



Fui entrevistado no novo edifício. Em geral, tudo parecia legal, mas eu me lembro dos detalhes da reunião vagamente: era o meu quinto dia de entrevistas seguidas e a falta de sono se fazia sentir. Só me lembro que tive muito prazer em me comunicar com os funcionários e que a reunião no jantar acabou sendo muito informativa.

Google (Mountain View, Califórnia)



No Google, pelo que entendi, as entrevistas para uma determinada posição são realizadas mais ou menos em um padrão. Consegui conversar com muitos membros da equipe que trabalhavam em um dos maiores produtos iOS da empresa, mas solicitei um cargo não relacionado especificamente às atividades deles. Depois que o comitê de contratação aprovou, fui transferido para a próxima etapa, onde eles selecionam o time certo e, finalmente, encontrei uma opção adequada. Este é um processo muito longo, quando comparado com o ritmo das negociações de outras equipes com quem conversei. Eu precisava manter constantemente os outros empregadores informados sobre como estamos negociando com o Google e o Google, respectivamente, o que criamos com outras empresas.

Plano de treinamento


Vou deixar claro: quando comecei, teoricamente era capaz de resolver a maioria das tarefas da seção "Simples" no Leetcode em cerca de trinta minutos e cerca de 25% das tarefas da seção "Dificuldade média", se você não definiu limites de tempo. Resolver as tarefas da seção "Complexo" para mim era como tentar provar a igualdade das classes NP e P. Em resumo, eu tinha muito trabalho a fazer.

Para reforçar os algoritmos, virei primeiro para o livro Cracking the Coding Interview . Aos domingos, pela manhã, levantei-me, fui até o café e resolvi os problemas para o Objective-C. Tendo elaborado um número decente de tarefas do livro (algo em torno de trinta e cinco), mudei para o Leetcode e revi as tarefas que correspondiam aos capítulos que concluí. Depois de várias semanas dessas aulas, senti que já havia aprendido o “básico” muito bem e fui para a próxima etapa.

Armado com meu conhecimento básico, peguei Elementos de Entrevistas de Programação . Este livro é muito mais complicado que o anterior. Os planos de aula recomendados são dados lá, e tentei não me desviar muito deles. Se bem me lembro, um foi projetado para quatro semanas de treinamento, e eu passei por isso quase completamente. Na minha opinião, é extremamente importante praticar a resolução das tarefas no quadro ou realizar um ensaio por telefone com alguém. Além disso, por "criticamente importante" quero dizer não apenas "útil", mas que deve ser considerado como um elemento obrigatório do currículo. Não tenho dúvidas de que alguém conseguirá um emprego sem ele, mas para mim não encontrei uma maneira melhor de desenvolver minhas habilidades.

Se alguém precisar de um parceiro para ensaiar entrevistas para postagens relacionadas ao iOS, terei prazer em ajudar. Você pode me encontrar no CS Career Hackers - entre em contato, concordaremos de alguma forma, se não estiver muito ocupado. E se não, há outras pessoas que o apoiarão de bom grado. Claro, você ficará envergonhado. Este é o ponto inteiro. Se tudo desse certo por si só, então não fazia sentido praticar, certo? Se durante os ensaios no quadro-negro ou no telefone, você fica muito envergonhado ou deslocado, está fazendo exatamente o que precisa - treine-se com antecedência. Pessoalmente, no começo eu me senti muito constrangido e, em algum momento, passou, então o treinamento mais do que valeu a pena.

Após um mês de conclusão da tarefa diária (duas a três horas durante a semana, mais nos finais de semana), concentrei-me na seção “ Perguntas populares da entrevista ” no Leetcode. Eu não passei por todos eles, mas passei o suficiente. Para se preparar para uma entrevista sobre algoritmos, o principal é atingir o nível em que você pode encontrar uma solução diretamente no decorrer da entrevista. Não vale a pena tentar memorizar todas as decisões, é impossível. Quase todas as tarefas que encontrei durante aquela semana de entrevistas eram novas para mim - mas, ao mesmo tempo, pareciam o que eu já tinha visto. Afinal, o próprio processo de desenvolvimento ocorre de acordo com o mesmo esquema. Muitas tarefas em geral se descrevem, mas cada caso tem um conjunto especial de restrições.

O que eu aprendi


Abaixo, listarei em uma lista as conclusões que tirei para mim, em ordem aleatória. Todas essas recomendações seriam muito úteis para mim se eu as conhecesse com antecedência - tanto as relacionadas à preparação para entrevistas técnicas quanto as que falam sobre planejamento e outras nuances que não estão relacionadas à programação. Não há nada neles que se aplique única e exclusivamente ao iOS, então acho que, em termos gerais, eles são adequados para todas as entrevistas em nosso setor.

  • Não deixe cair. Quando eu estava procurando meu primeiro emprego sério depois da faculdade, eu só tinha o suficiente por uma semana ou duas das aulas. Eu raciocinei assim: aparentemente, isso não é dado a mim. Afinal, mais de uma semana se passou e quase nenhum progresso foi observado; então, qual é o sentido de perder mais tempo? Mas desta vez eu decidi que não tinha escolha. Depois de algum tempo, a imagem começou a tomar forma. Será necessário investir muito trabalho, mas é o desejo de estudar que distingue os candidatos aprovados dos outros.
  • Treinamento é o nosso (quase) tudo. Certamente, um certo nível de habilidades inatas também é necessário aqui, mas a prática (isto é, o treinamento) pode mudar muito, muito. As pessoas não são contratadas para o que nasceram. Eles são contratados pelo fato de serem capazes de cumprir com êxito certos deveres, e onde e quando receberam o conhecimento necessário não importa.
  • Treinar com os amigos é o nosso descanso. Não importa se você ensaia no quadro-negro ou usa algo como o Codeshare , o ponto é que, quando você mergulha na atmosfera de uma entrevista com alguém por um longo tempo, isso está longe de ser assustador. Se durante a entrevista o cérebro falhar repentinamente e você der algum tipo de estupidez, isso não o perturbará. Bem, se você conseguir encontrar uma pessoa que conhece as soluções, mesmo para as tarefas que você não entende, e que pode empurrá-lo na direção certa - geralmente será perfeito. Sério, esse treinamento vale seu peso em ouro.
  • A cobertura é decisiva. Você pode treinar antes de estupefazer (e até de forma produtiva) - e ainda não conseguir um emprego, porque seu currículo não chegou à pessoa certa ou você foi atacado por um estupor no quadro-negro e não resolveu o problema a tempo. A melhor garantia é ter a chance máxima. Ou seja, envie um currículo para todos que lhe convierem e para quem você se encaixa nos requisitos, e não apenas a melhor opção. Eu selecionei vinte empresas inteiras!
  • Decisão é um processo, não um resultado. Memorização não vai conseguir nada. Cerca de uma semana, me ofereceram cerca de vinte tarefas em algoritmos, e apenas uma delas era familiar para mim (o que relatei imediatamente, embora muitos considerassem supérfluo). Mas aprendi a identificar padrões e, assim, consegui encontrar soluções em movimento.
  • Não desista. Fiquei preso mais de uma ou duas vezes, e o entrevistador teve que me levar à resposta correta. Isso não me impediu de receber ofertas de emprego de todas as empresas. Houve uma entrevista que me pareceu fracassar irremediavelmente (quatro das cinco sessões, na minha opinião, provocaram apenas um "não"), mas, na verdade, eles acabaram me convidando para a equipe. Em suma, o que só não acontece na vida.
  • Não se apresse em varrer tarefas. Quando eu estava estudando com um amigo, ele frequentemente dispensava as tarefas mais difíceis, dizendo que isso não seria útil para mim. Curiosamente, dos quatro tipos de tarefas que, segundo ele, "eles definitivamente não caem", dois foram pegos. Não exatamente na forma em que os resolvemos, mas de uma maneira muito semelhante. Se durante o processo de treinamento você se deparar com algum tipo de conceito regularmente - resolva-o.
  • Não subestime a importância das habilidades pessoais. Acho que devo grande parte do meu sucesso ao fato de que minhas respostas (bastante honestas) às perguntas estavam alinhadas com a política da empresa. Eu tenho uma teoria de que desenvolvedores muito fortes às vezes acham difícil encontrar um emprego decente simplesmente porque se comportam de maneira grosseira, mentem ou não sabem como permanecer em situações que não estão relacionadas à programação. Na minha opinião, todas essas são boas razões para recusar um candidato. Portanto, pratique seu comportamento da mesma maneira que as habilidades técnicas.
  • Mostre seu conhecimento. Durante as entrevistas, ocorriam frequentemente situações em que, em resposta a uma pergunta, mencionei algumas de minhas outras habilidades com a ressalva de que, devido à falta de tempo, não pude contar detalhadamente sobre a implementação desta solução. Você está falando de falas? Mostre na sua decisão que você sabe trabalhar com Unicode ou diga como suportá-lo. Chamando um método privado? Explique como as coisas funcionam com os métodos no Objective-C. Atualizando dados na exibição de tabela? Liste as animações que você pode suportar. Se você é pouco versado em alguma coisa, é claro que levantar esse tópico não vale a pena. Mas se você tem algo a dizer, aproveite a oportunidade para ir além da estrutura estreita na qual a pergunta inicial o leva e mostre sua vantagem sobre aqueles que não deixam o caminho comum.
  • Tente não alcançar a barra, mas aumentá-la. A impressão que você causa na entrevista depende não apenas da oferta de um emprego, mas também de quais condições ele será oferecido. Se em algum momento você tiver certeza de que seu conhecimento para esta vaga é suficiente - excelente! Mas não se esqueça: há uma enorme diferença entre "alcançar mais ou menos" e "absolutamente certo". Seu objetivo deve ser o segundo. As condições que me foram inicialmente oferecidas (isto é, antes das negociações) eram muito, muito boas, e acho que as entrevistas tiveram um papel importante aqui.

Em conclusão


Bem, é isso! A maratona ainda estava lá, mas não me arrependo de nada. Espero sinceramente que tudo o que escrevi aqui ajude alguém a decolar em busca do sonho. Se alguém estiver interessado em dicas relevantes especificamente para o segmento iOS, eu posso compartilhá-lo, então escreva nos comentários .

Se isso incentiva você: este é meu segundo emprego depois da faculdade, tenho cerca de dois anos e meio de experiência, não tenho grandes nomes em meu currículo, me formei em uma faculdade muito modesta, que nunca teve grandes empresas na "feira de empregos", iniciei o processo preparação no final de abril, e comecei a enviar um currículo em junho-julho e, finalmente, em apenas alguns meses, consegui um emprego que só podia sonhar.

Finalmente, quero anunciar novamente a comunidade CS Career Hackers . Se você está procurando um lugar para praticar, ou apenas quer conversar com pessoas que estão na sua posição (ou que estão familiarizadas com ele, de ambos os lados), por favor, não passe. Eu me deparei com ele apenas alguns meses depois de assinar o contrato, mas de qualquer maneira, é ótimo lá. Boa sorte com seus preparativos!

Source: https://habr.com/ru/post/pt437484/


All Articles