Este artigo é uma versão revisada e atualizada da minha história de estágio no Google .Olá Habr!
Neste post, vou dizer o que é o estágio em uma empresa estrangeira e como se preparar para as entrevistas, a fim de receber uma oferta.
Por que você deveria me ouvir? Não deveria. Mas, nos últimos dois anos, estive em estágios no Google, Nvidia, Lyft Level5 e Amazon. Entrevistando a empresa no ano passado, recebemos 7 ofertas: da Amazon, Nvidia, Lyft, Stripe, Twitter, Facebook e Coinbase. Portanto, tenho alguma experiência nesse assunto que pode ser útil.

Sobre mim
Estudante do 2º ano do Mestrado em
Programação e Análise de Dados, St. Petersburg HSE. Ele se formou no programa de bacharel
"Matemática Aplicada e Ciência da Computação" da Universidade Acadêmica, que em 2018 foi transferido para o HSE de São Petersburgo. Durante seus estudos de graduação, ele frequentemente decidia concursos de programação esportiva e participava de hackathons. Depois, ele fez estágios em empresas estrangeiras.
Estágio
Estágio - trabalhe para os alunos por um período de vários meses a um ano. Tais programas permitem que o empregador entenda como o trainee lida com suas tarefas e o trainee - aprenda uma nova empresa, ganhe experiência e, é claro, ganhe dinheiro extra. Se durante o estágio o aluno fez um trabalho decente, ele recebe uma vaga de pleno direito.
A julgar pelas avaliações, é mais fácil conseguir um emprego em uma empresa estrangeira de TI após um estágio do que passando por uma entrevista para uma vaga de tempo integral. A maioria dos meus amigos se estabeleceu no Google, Facebook, Microsoft.
Como receber uma oferta?
Visão geral do processo
Suponha que você decida ir para outro país no verão e obter uma nova experiência, em vez de cavar camas da sua avó.
Uau! Ajuda avó de qualquer maneira! Então é hora de começar a trabalhar.
Um processo típico de entrevista com uma empresa estrangeira é o seguinte:
- Solicitar um estágio
- Solução do concurso Hackerrank / TripleByte Quiz
- Passe por uma entrevista de triagem
- Em seguida, você recebe a primeira entrevista técnica
- Então o segundo , e talvez o terceiro
- Ligue para a entrevista no local
- Eles dão uma oferta
, mas isso não é certo ...
Vamos abrir cada um dos itens com mais detalhes.
Pedido de estágio
O capitão diz que, em primeiro lugar, você deve preencher um requerimento no site da empresa. E provavelmente você adivinhou. Mas o que nem o capitão nem você poderia saber era que as grandes empresas usam sistemas de referência através dos quais os funcionários da empresa recomendam irmãos na profissão - de modo que o candidato se destaca do fluxo interminável de outros visitantes.
Se de repente você não tiver amigos que trabalham em escritórios que lhe interessam, tente encontrá-los através de amigos que o apresentarão. Se não houver, abra o Linkedin, encontre qualquer funcionário da empresa e peça que ele publique um currículo.Ele não escreverá que você é um programador legal. E isso é lógico! Afinal, ele não te conhece. No entanto, a chance de obter uma resposta ainda será maior. Caso contrário, envie uma inscrição pelo site. Recebi minha oferta para a Stripe sem conhecer uma única pessoa trabalhando lá. Mas não relaxe: tive sorte que eles responderam.
Tente não ficar muito chateado quando pilhas de cartas com o conteúdo "você é tão legal, mas escolhemos outros candidatos" ou não responderão, o que será ainda pior. Especialmente para você, desenhei um funil. Das 45 inscrições, recebi um total de 29 respostas. Apenas 10 deles se ofereceram para serem entrevistados, enquanto o restante recusou.

Sinta o conselho que está no ar?

Concurso Hackerrank / TripleByte Quiz
Se o currículo sobreviver à triagem inicial, em uma ou duas semanas você receberá uma carta com a tarefa a seguir. Provavelmente, você terá a opção de solucionar problemas algorítmicos no Hackerrank ou passar pelo TripleByte Quiz, onde responderá perguntas sobre algoritmos, desenvolvimento de software e design de sistemas de baixo nível.
Normalmente, o concurso no Hackerrank é simples. Geralmente, consiste em duas tarefas para algoritmos e uma tarefa para analisar logs. Às vezes, eles também são solicitados a escrever algumas consultas SQL.
Entrevista de triagem
Se o teste for bem-sucedido, uma entrevista de triagem espera por você, na qual você conversará com o recrutador sobre seus interesses e sobre os projetos nos quais a empresa está envolvida. Se você demonstrar interesse e sua experiência anterior atender aos requisitos, tudo ocorrerá sem problemas.
Expresse todos os seus desejos sobre o projeto. Durante essa conversa com um recrutador de Palantir, percebi que não estaria interessado em trabalhar nas tarefas deles. Portanto, não passamos mais tempo juntos.
Se você sobreviveu a este ponto, a principal parcela de chance já está para trás! Mas se você estragar tudo, então culpe apenas a si mesmo;)
Entrevistas técnicas
Em seguida, vêm as entrevistas técnicas que geralmente são realizadas via Skype, Hangouts ou Zoom. Verifique com antecedência se tudo está funcionando no seu computador. Durante a entrevista, haverá algo para se preocupar.
O formato das entrevistas técnicas depende muito da posição que você está entrevistando. Além do primeiro deles, que ainda será para resolver problemas algorítmicos. Aqui, com sorte, você será solicitado a escrever o código em um editor de código online, como
coderpad.io . Às vezes no Google Docs. Mas não vi nada pior que isso, então não se preocupe.
Eles também podem fazer uma pergunta sobre o design orientado a objetos para ver se você está familiarizado com o design de software e quais padrões de design você conhece. Por exemplo, eles podem ser solicitados a criar uma simples loja online ou twitter. Desde o ano passado, fui entrevistado para posições relacionadas ao aprendizado de máquina, durante as entrevistas foram feitas as perguntas apropriadas: em algum lugar era necessário responder uma pergunta sobre a teoria, em algum lugar para resolver a tarefa do teórico e em algum lugar para projetar o sistema de reconhecimento de faces.
No final da entrevista, você certamente terá a oportunidade de fazer perguntas. Eu recomendo levar isso a sério, porque, graças às perguntas, você pode demonstrar seu interesse e demonstrar competência no tópico. Estou preparando uma lista de perguntas. Aqui está um exemplo de alguns deles:
- Como é organizado o trabalho no projeto?
- Qual é a contribuição do desenvolvedor para o produto final?
- Que tarefa difícil você teve que resolver recentemente?
- Por que você decidiu trabalhar nesta empresa?
Acredite, é difícil para os entrevistadores responderem às duas últimas perguntas, mas eles ajudam a entender o que está acontecendo dentro da empresa. Observo que você nem sempre é entrevistado por uma pessoa com quem trabalhará no futuro. Portanto, essas perguntas dão uma idéia aproximada do que está acontecendo na empresa.
Se você concluir com êxito a primeira entrevista, você receberá uma segunda. Desde o início, ele será diferenciado pelo entrevistador e, consequentemente, pelas tarefas. É provável que o formato permaneça o mesmo. Depois de passar a segunda entrevista, eles também podem oferecer o terceiro
uau, você foi longe.Entrevista no local
Se até esse momento você não tiver sido recusado, uma entrevista no local o aguardará, quando o candidato for convidado para uma entrevista no escritório da empresa.
Talvez não espere ... Nem todas as empresas passam esse estágio, mas muitas das que gastam estarão prontas para pagar por voos e hospedagem. É uma má ideia? Ótimo! Ainda não estive em Londres ... Mas, em alguns casos, você será solicitado a passar por esse estágio no Skype. Pedi ao Twitter que fizesse isso porque havia muitos prazos e não havia tempo para ficar em outro continente.
A entrevista no local consiste em várias entrevistas técnicas e uma comportamental. Durante uma entrevista comportamental, você conversa com o gerente sobre seus projetos, que decisões você tomou em diferentes situações e coisas do gênero. Ou seja, o entrevistador está tentando entender melhor a personalidade do candidato e entender com mais detalhes a experiência profissional.
Bem, tudo, apenas uma emoção agradável está à frente: 3 nervos fazem cócegas, mas você não pode fazer nada. Se tudo correu bem, não há nada a temer - a oferta chegará. Se não, é triste, mas acontece. Quantos lugares você foi? Em dois? Bem, então, o que você estava esperando?
Como se preparar?
Sumário
Este é um passo zero. Apenas nem leia mais o artigo. Feche a guia e vá fazer um currículo normal. Estou falando serio. Enquanto eu estava no estágio, muitas pessoas me pediram para encaminhá-lo à empresa para um estágio ou posição em período integral. Muitas vezes, os currículos foram mal projetados. As empresas raramente respondem a aplicativos e currículos ruins tendem a diminuir esse percentual para zero. Um dia, escreverei um artigo separado sobre como retomar a redação, mas, por enquanto, lembre-se:
- Indique a universidade e os anos de estudo. Também é desejável adicionar o GPA.
- Remova toda a água e escreva conquistas específicas.
- Faça seu currículo simples, mas arrumado.
- Peça a alguém para verificar o currículo quanto a erros no idioma inglês, se você tiver problemas com isso. Não copie a tradução do Google Translate.
Confira
este post e confira
Cracking the Coding Interview . Há sobre isso também.
Codificação da entrevista
Ainda não fizemos nenhuma entrevista. Até agora, eu lhe contei como é todo o processo e agora você precisa se preparar bem para as entrevistas, para não perder a chance de passar o verão agradável e, possivelmente, com benefícios.
Existem recursos como
Codeforces ,
Topcoder e
Hackerrank , que eu já mencionei. Nesses sites, você pode encontrar um grande número de problemas algorítmicos, além de enviar suas soluções para verificação automática. Tudo isso é ótimo, mas você não precisa disso. Muitas tarefas desses recursos são projetadas para um longo tempo de solução, requerem conhecimento de algoritmos e estruturas de dados avançadas, enquanto as tarefas nas entrevistas geralmente não são tão complicadas e são projetadas por 5-20 minutos. Portanto, no nosso caso, um recurso como o
LeetCode , que foi criado como uma ferramenta para a preparação de entrevistas técnicas, é muito mais adequado. Se você resolver 100-200 problemas de complexidade variada, com uma alta probabilidade de não ter problemas durante a entrevista. Entre os mais decentes, também existe o
Facebook Code Lab , no qual você pode escolher a duração da sessão, por exemplo, 60 minutos, e o sistema selecionará um conjunto de tarefas para você, que leva em média uma hora para ser resolvido.
Mas se de repente você se tornou um nerd que está passando a juventude no
Codeforces, eu era um deles , então é ótimo. Feliz por você. Você deve ter sucesso;)
Muitos outros são aconselhados a ler
Cracking the Coding Interview . Eu mesmo li seletivamente apenas algumas de suas partes. Mas vale a pena notar que resolvi muitos problemas algorítmicos nos meus anos de escola. Não resolveu os gnomos? Então leia melhor.
Além disso, se você nunca teve ou teve poucas entrevistas técnicas com empresas estrangeiras, não deixe de passar por algumas. Mas quanto mais, melhor. Você se sentirá mais confiante durante a entrevista e menos nervoso. Organize entrevistas de teste no
Pramp ou até pergunte a um amigo sobre isso.
Eu falhei nas minhas primeiras entrevistas precisamente porque não tinha essa prática. Não pise neste ancinho. Eu já fiz isso por você. Não dê graças.
Entrevistas comportamentais
Como mencionei, durante uma entrevista comportamental, o entrevistador tenta aprender em detalhes sobre sua experiência e entender seu personagem. E se você for um grande desenvolvedor, mas um egoísta selvagem, impossível de trabalhar em equipe? Pensando em apenas trabalhar com
George Hotz ? Eu não sei, mas suspeito que seja difícil. Conheço pessoas que recusaram. Então, o entrevistador quer entender isso sobre você. Por exemplo, você pode ser perguntado qual é a sua fraqueza. Além de perguntas desse tipo, você será solicitado a falar sobre projetos nos quais desempenhou um papel fundamental, sobre os problemas encontrados e as soluções deles. Às vezes, essas perguntas são feitas no início de uma entrevista técnica. Como se preparar para essa entrevista está bem escrito em um capítulo em
Cracking the Coding Interview .
Principais conclusões
- Faça um currículo normal
- Encontre alguém que possa lhe oferecer
- Vá aonde quer que vá
- Resolver o código de luz
- Compartilhe um link para um artigo com aqueles que precisam
PS
Dirijo um
canal do Telegram, onde falo sobre a experiência de estágios, compartilho minhas impressões sobre os lugares que visito e expresso meus pensamentos.
PPS Consegui um
canal no YouTube onde falarei sobre coisas úteis.
PPPS Bem, se não há absolutamente nada a fazer, você pode assistir a
esta entrevista no canal ProgBlog