Minha experiência de estágio na Microsoft Redmond e recebendo uma oferta


uma reedição do artigo "" A cada ano, a Microsoft recebe 2 milhões CV "desenvolvedor Minsk -., de 7 anos de idade maneira na companhia (+ Diretrizes e uma lista de livros)" local dev.by .

Andrey Artemyev - Engenheiro de Desenvolvimento de Software no escritório da Microsoft nos EUA, em Seattle, trabalhando no sistema operacional Windows. Seu caminho para a empresa levou sete anos, com cinco envios de currículos, uma entrevista falhada e um estágio de verão na Microsoft Redmond. Andrey compartilha sua experiência com os leitores dev.by.

“Minha experiência é que a perseverança, não o talento, vence em um amplo intervalo”


Entrar na Microsoft já é bastante difícil, porque contratar a pessoa errada pode ser caro para a empresa. Isso inclui não apenas os custos de realocação, mas também os possíveis danos à empresa por erros dos funcionários que levam a consequências desagradáveis, seja o roubo por hackers russos de uma carta da candidata presidencial Hillary Clinton, a disseminação do vírus Petya ransomware e a queda do servidor de banco de dados de pacientes em um hospital japonês ou falha de um contrato de US $ 19 milhões com um fabricante de laptop.

A Microsoft recebe anualmente cerca de 2 milhões de currículos, portanto, qualquer dúvida sobre o candidato implica em rejeição. O fracasso durante a entrevista final significa que a próxima tentativa será somente após 6 meses, mas na verdade - somente após um ano. Minha experiência é que a perseverança, não o talento, vence em um amplo intervalo.

Tudo começou em dezembro de 2008, quando eu, um estudante do terceiro ano da BSUIR (Universidade Estatal da Bielorrússia de Informática e Rádio Eletrônica), participei de uma palestra sobre o MS HPC Server 2008, organizada em Minsk pelo funcionário da Microsoft Vsevolod Ukrainsky. Em uma palestra, ele mencionou estágios de verão para estudantes na sede da empresa nos Estados Unidos.

Era incompreensível para a mente, um propósito e significado apareceu na minha vida - eu tenho que ir para a Microsoft. Enviei imediatamente meu currículo (preciso enviá-lo aqui ) e, embora não tenha recebido uma resposta, não fiquei chateado: já naquele momento percebi que todas as grandes conquistas exigiam preparação.

Desde janeiro, mergulhei completamente no processo de coleta de informações e preparação. Encontrei o blog de Sergey Grebnov de Ivanovo (RF), que acabara de voltar de um estágio de verão na Microsoft dos EUA e pedi para contar mais sobre essa experiência, então ele recebeu uma série de postagens sobre o processo de entrevista e as tarefas de entrevista. No decorrer de como o conteúdo da entrevista foi esclarecido, o trabalho começou a ferver, e lamentei que houvesse apenas 24 horas por dia. Meus colegas de classe não entenderam isso.

Para começar, seu currículo deve ser notado. Se você passou dessa etapa, em setembro - outubro, terá uma entrevista por telefone com duração de 30 minutos em inglês, que eliminará aqueles que definitivamente não passarão na entrevista final com os americanos no escritório europeu. Na segunda rodada, haverá quatro a cinco entrevistas de quarenta e cinco minutos cada, durante as quais serão oferecidos problemas algorítmicos, perguntados como você testará sua solução e analisará seu código e abordagens para solucionar problemas. Sergey Grebnov foi o vencedor do Olympiads de programação, o finalista da Microsoft Imagine Cup 2008, mas também não foi a primeira vez.

"Em uma entrevista, você precisa estar sinceramente interessado em saber como pode melhorar a si mesmo, e não apenas realizar um ritual."


Eu não coloco a palavra "preparação" no sentido que eles a dão à universidade - para memorizar em alguns dias, escrever esporas, treinar um professor, trapacear. Se você foi avisado de que durante a entrevista precisa pedir feedback ao entrevistador, precisa estar sinceramente interessado em saber como pode melhorar a si mesmo, e não apenas realizar o ritual.

Pelo comportamento dos entrevistadores, você deve entender quem eles estão procurando e se sentir assim. Preparar é desenvolver as habilidades e os hábitos em si, cuja demonstração você não precisará forçar sua memória. Talvez demore seis meses, talvez vários anos. O boxeador no ringue não se lembra de como colocar o bloco e não pensa onde se esquivar - essas habilidades são trabalhadas. No dia da entrevista, tudo deve ir perfeitamente, todas as perguntas devem ser respondidas e todas as tarefas resolvidas, só assim você entrará na “grande liga”.

Eu aprendi inglês lendo literatura técnica, assistindo desenhos animados Futurama, Os Simpsons, South Park. Revisei muitos episódios cerca de quarenta vezes, escrevi novas palavras com tradução e transcrição em um caderno e reli estupidamente quando viajava em transporte público. Cursos de línguas estrangeiras, na minha opinião, são inúteis: estudei alemão assim, e me pareceu que o objetivo deles não era ensinar, mas ganhar dinheiro.

Uma entrevista por telefone foi simples: me perguntaram algo sobre listas vinculadas e experiência de trabalho. Em uma entrevista, não apenas a empresa o conhece, mas você o conhece, por isso é muito importante preparar perguntas. Eu estava interessado na pessoa do outro lado da linha, no que eles estão trabalhando, com que frequência ocorre horas extras, quão bom é o equilíbrio entre trabalho e vida pessoal, quais são os planos para estagiários, etc. A falta de interesse em um emprego futuro pode não ser a favor do candidato. Depois de um tempo, descobri que a primeira etapa foi aprovada e será contatada novamente em breve.

O outono chuvoso de Minsk deu lugar ao frio do inverno. Em meados de fevereiro de 2010, recebi uma carta me convidando para vir a Munique para uma entrevista no campus da empresa. 4 entrevistas de 45 minutos estavam esperando por mim, a Microsoft pagou todas as despesas. Menos de um mês foi deixado antes do dia marcado e eu não tinha visto. Eu tive que correr, porque para obter um visto alemão (não Schengen), precisava de um extrato do registro de imóveis sobre o Microsoft Deutschland Gmbh.

Em geral, o processo de contratação na Microsoft é bastante "desleixado", e acho que não apenas eu. Às vezes, os recrutadores esquecem de enviar documentos ou enviar os errados sem assinatura, ou simplesmente deixam pouco tempo aos candidatos para coletar documentos. Acredita-se que isso seja feito de propósito, a fim de eliminar candidatos, mas talvez apenas o departamento de recursos humanos não consiga lidar com um enorme fluxo de candidatos. Portanto, não relaxe, siga todo o processo e não tenha medo de escrever para eles.

A Microsoft frequentemente realiza entrevistas nos escritórios da UE, onde uma equipe de recrutadores dos Estados Unidos vem. Grebnov tinha em Varsóvia, eu tinha em Munique. Às vezes, eventos semelhantes também são realizados na Rússia, uma vez que um evento de contratação ocorreu na BSU (Universidade Estadual da Bielorrússia). Uma entrevista em um país estrangeiro é ruim porque você precisa se adaptar a um novo ambiente, um sistema de transporte público desconhecido, isso acrescenta riscos. Cheguei uma hora antes da entrevista e apenas andei por perto. Em seguida, nós quatro com os outros candidatos se reuniram no lobby e fomos convidados um a um para diferentes entrevistadores.

"O erro mais estúpido é começar a escrever código sem especificar todos os detalhes"


Na primeira entrevista, perguntaram-me sobre minha experiência profissional, e recebi um folheto no qual a classe CS ++ C ++ foi implementada, a tarefa é encontrar todos os problemas. Desde que li C ++ eficaz e C ++ mais eficaz, consegui.

A próxima tarefa foi mais difícil: implementar a função bool IsMatch (char * pszText, char * pszPattern). Uma cadeia é passada como um padrão, que pode conter *, indicando 0 ou mais caracteres. Eu não resolvi esse problema. Quando você decidir, considere estas opções: "Abcde", "A * c ** d * ek".

Na segunda entrevista, a tarefa era implementar uma função que inverte todas as palavras em uma linha. Por exemplo, "Olá, Microsoft Deutchland!" - "Deutchsland Microsoft Hello". A tarefa pode parecer simples, mas na verdade não é. O erro mais estúpido da entrevista é começar a escrever código sem especificar todos os detalhes. Para selecionar uma solução, você deve ter dados precisos que devem ser retirados do entrevistador. Precisamos esclarecer o que fazer com sinais de pontuação, se é necessário o suporte a Unicode, porque existem vários caracteres (por exemplo, emoticons com cores de pele diferentes), quão grande é o arquivo, quais são as restrições de tempo / memória. Também é necessário explicar a escolha do algoritmo e a estrutura de dados. No final da entrevista, eles me perguntaram como eu testaria esse código, respondi mal e esse foi o fim para mim.

Voltei a Minsk com a firme intenção de me preparar melhor da próxima vez. Não contei a ninguém na universidade, nem o diretor sabia por que eu estava ausente. Imediatamente ele enviou digitalizações de cheques para alimentos e transporte público à Microsoft, e a FedEx respondeu enviando um cheque no valor de US $ 215, do qual ele teve que pagar imposto de renda. A acomodação e o voo já foram pagos pela empresa.

No outono, novamente arquivei meu currículo, mas voei. De acordo com os requisitos do visto J-1 (visto de estudante exigido para um estágio nos Estados Unidos), no momento do estágio você deve ser um estudante universitário e, em 2011, eu já me formei na universidade.

Em caso de falha, eu tinha o plano B, então continuei trabalhando. De tempos em tempos, resolvia problemas e perdia situações de uma entrevista na minha cabeça. O processo de preparação entrou em segundo plano: li livros sobre programação, mas não havia fusível do passado. A Alemanha não me deu descanso, então enviei os documentos para o Mestrado em Informática da Universidade Técnica de Munique. Eles não fizeram.

A preparação continuou, às vezes resolvi problemas e testei o código. No outono, ele se candidatou novamente a três universidades diferentes e, dessa vez, recebeu respostas positivas de uma só vez. A Universidade Técnica de Munique estava no topo da lista (37ª no mundo), então eu a escolhi. Então, em abril de 2012, eu me tornei um estudante em uma universidade alemã. Mais tarde fiquei decepcionado com ele.

“Está escuro do lado de fora da janela, eu fico com um marcador na frente de um papel e implemento o jogo Campo Minado em C ++”


No final de agosto, já em Munique, solicitei novamente um estágio na Microsoft e fui convidado para a primeira etapa. Ele estava na minha universidade. Cheguei 20 minutos antes do início, várias pessoas estavam sentadas debaixo da porta. Um deles acabou sendo recrutador e conversamos por cerca de 15 minutos: fiz perguntas sobre a empresa que havia preparado com antecedência.

Na entrevista, eu precisava escrever um aplicativo C # do console no quadro, que considere o número de caracteres no arquivo e os imprima em ordem decrescente. Ao fazê-lo, pense em caracteres Unicode compostos, caracteres de formatação e caracteres invisíveis (espaço) e o que considerar os mesmos caracteres, porque em alguns idiomas eles podem parecer diferentes, mas significam a mesma coisa. Durante essas entrevistas, especialistas que não atingem o nível mínimo são eliminados. O entrevistador avalia como eu escrevo o código, como raciocino, como abordo a solução do problema. Cerca de uma semana depois, fui notificado de que havia passado a primeira etapa.

Em fevereiro de 2013, fui convidado para uma entrevista no campus de Zurique, oferecendo várias opções de datas. Em meados de março, dois caras da Polônia se reuniram no lobby da Microsoft em Zurique, um estudante indiano na Suíça e eu. Tudo foi o mesmo de 2010 - quatro entrevistas de 45 minutos cada.

Na primeira entrevista, um gerente da Microsoft me pediu para escrever alguns algoritmos do LinkedList, um dos quais foi encontrar um anel na lista SingleLinked. Não lembro de outros problemas técnicos, mas as Listas Vinculadas são usadas em todos os lugares do sistema operacional; portanto, você precisa conhecê-las bem. Então o entrevistador perguntou se eu tinha perguntas para ele. Perguntei a todos sobre o estágio, sobre a equipe e o ambiente de trabalho - foi interessante para mim.

A segunda entrevista foi com um funcionário russo da Microsoft. Não me lembro do que estávamos fazendo, mas no final ele me deu 7 minutos para implementar o algoritmo em c #. Eu imediatamente liguei o cronômetro no relógio (o que perturbou o plano dele) e, assim, consegui me concentrar na solução do problema. Como resultado, escrevi tudo a tempo. O interlocutor me perguntou se eu quero trabalhar com o Windows Phone ou o SQL Server. Lembro-me de voltar desta entrevista para a sala de conferências, vi um cara indiano com coisas perto do elevador - o resto dos caras ainda estava nas entrevistas.

Com o terceiro entrevistador, não encontrei imediatamente um idioma comum. Era necessário organizar a classificação dos cartões. No começo, descobri a melhor forma de representar os cartões na memória, como resultado, a tarefa foi reduzida a reorganizar os elementos na matriz. Em seguida, o recrutador acrescentou a condição de que os cartões nunca deveriam permanecer no seu lugar. Eu implementei o algoritmo em C ++. Antes de escrever o código, esclareci se é possível usar um gerador de números pseudo-aleatórios padrão.

A quarta entrevista. Está escuro lá fora, estou com um marcador na frente de um papel e implemento o jogo Campo Minado em C ++. Ao longo do caminho, o recrutador pergunta quanto o conjunto de ponteiros para ponteiros leva e como você pode repetir o loop for novamente, como implementarei o jogo se o campo for grande, digamos, um milhão por milhão.

Como resultado, dois de nós permanecemos, aguardamos uma decisão final. Diante de nós, um recrutador da América sentado com um laptop, ela pergunta quem quer saber primeiro o resultado. Expresso desejo, vamos para outra sala, sentamos, o recrutador me agradece pela atenção aos estágios da Microsoft, expressa a esperança de que a experiência adquirida tenha sido útil para mim e a alegria de ingressar na empresa no verão de 2013.

Aquele cara também passou. Saímos às 18:30 e fomos para o hotel, onde comemoramos a vitória com dois copos de cerveja.

“Chegou uma carta da embaixada informando que o processamento dos meus documentos estava atrasado, pois eu estava sob Processamento Adicional”


O estágio deveria começar em 7 de junho de 2013. Voltei para a Alemanha e comecei a coletar documentos para o visto J1. Não era hora de estudar, ela estava doente. Preparei os documentos muito rapidamente, porque todas as traduções necessárias e reconhecimento de firma foram feitas quando entrei na universidade alemã.

No site da embaixada, era necessário passar em um teste com perguntas estúpidas, como: você é membro de uma organização terrorista, pretende trazer drogas para os Estados Unidos etc. Elas precisam ser abordadas com muita seriedade e, em nenhum caso, você deve brincar, caso contrário elas serão encerradas. Quando você vai à embaixada americana, é melhor não levar eletrônicos, porque não há onde armazená-los. Alguém enterra seus tablets e relógios inteligentes no canteiro, alguém os entrega aos golpistas para armazenamento e nunca mais os vê; fui à loja e deixei minhas coisas no depósito.

Cerca de uma semana depois, recebi uma resposta da embaixada informando que o processamento dos meus documentos estava atrasado, uma vez que eu estava no Processamento Adicional. Esse é o procedimento que muitos programadores, físicos e especialistas em explosivos passam durante a primeira solicitação de visto americano. Assim, a consideração dos meus documentos foi adiada por mais tempo do que o planejado.

Escrevi para a Microsoft e eles me disseram que só posso esperar. Todo dia eu fui para a caixa de correio, mas estava vazia. O tempo do meu estágio foi adiado, eu "classifiquei" completamente meus estudos, embora os exames estivessem chegando. Naquela época, aluguei um sótão de uma família alemã perto da universidade, mas eles estavam se preparando para se mudar para outra casa. Lembro-me de que a casa já não tinha coisas, exceto a minha, o período de aluguel estava chegando ao fim e era necessário tomar uma decisão. Certa vez, em um dia quente de Munique, vi um envelope pesado em uma caixa e nela - um passaporte com visto e um monte de papéis. A Microsoft imediatamente me comprou os ingressos e eu voei para longe. Assim, o estágio em Redmond começou com um atraso de um mês.

"Normalmente, os estagiários da Microsoft recebem uma oferta de emprego, a menos que façam algo estúpido."


Durante o estágio, a Microsoft me forneceu um carro e um desconto no aluguel de casas. Os estagiários tiveram tempo suficiente não apenas para trabalhar, mas também para viajar.


Estação de trabalho interna da Microsoft

Trabalhei no Windows Phone 8.1, adicionei algum tipo de API (não me lembro qual). Primeiro, era necessário entender o projeto, redigir um documento de design, discuti-lo com outros funcionários, obter sua aprovação, depois implementá-lo e testá-lo. No final de um estágio de 12 semanas, apresentei meu projeto à equipe e recebi uma oferta de emprego. A maioria dos estagiários recebe essa oferta apenas se não fizer algo estúpido.

Recebi um convite para trabalhar na Microsoft no início de setembro, mas recebi um cartão de funcionário azul apenas dois anos depois.

Viajei pela América e voltei a Minsk pelo período de meu visto de trabalho. Este é um processo muito longo. Nos Estados Unidos, o número de mão-de-obra estrangeira é de cota; nos últimos anos, o número de solicitantes excedeu o número de cotas, de modo que são sorteados de acordo com o princípio da loteria.

Do lado de fora da janela em 2014, moro com meus pais, estou esperando um visto. Se tudo correr bem, no outono irei para os EUA, para que você não possa procurar trabalho. Mas em abril, ficou claro que este ano eu não recebi um visto e não fui para os Estados Unidos, em vez disso, havia uma opção de trabalhar no escritório de Vancouver, a três horas de carro de Seattle: depois de um ano trabalhando no Canadá com um visto L1, eu seria transferido para Redmond. No entanto, esta opção também não funcionou. Como resultado, no outono, fui fazer uma entrevista na Softeq. Minha experiência na Microsoft e um sólido conhecimento de inglês me deram uma vantagem notável ao me candidatar a um emprego.

A primavera de 2015 entrou silenciosamente. Em abril, meus documentos de visto de trabalho foram finalmente aprovados. A entrevista na Embaixada dos EUA em Moscou foi muito curta: eles me perguntaram onde eu trabalharia e com que salário, pegaram meu passaporte e retornaram no mesmo dia com um visto. Todos os funcionários estrangeiros começam a trabalhar em outubro, quando o novo ano fiscal começa. Portanto, meu primeiro dia útil foi em 5 de outubro de 2015.

Referências de Andrei Artemyev :

Literatura para "físicos" que ajudarão a se preparar para entrevistas técnicas. Não é necessário ler de capa a capa; recomendo que você estude algoritmos com um lápis nas mãos.

As entrevistas começarão no próximo outono - no ano que vem - prepare-se e envie seu currículo. Se não der certo, tire conclusões e tente novamente.

  • Thomas Cormen. Algoritmos e estruturas de dados;
  • Boris Kordemsky. Conhecimento matemático;
  • Alexander Shen. Programação. Teoremas e problemas;
  • William Pandstone. Como mover o Monte Fuji.
  • Uma coleção de tarefas e soluções de programação para eles em topcoder.com ;
  • Quebrando a entrevista de codificação: 150 perguntas e respostas sobre a entrevista de programação;
  • Perguntas da entrevista da Microsoft em glassdoor.com ;
  • C ++ eficaz;
  • C ++ mais eficaz;
  • Pérolas de programação;
  • Página da Microsoft no FB para acompanhar os eventos

Literatura motivacional para as "letras":

  • M. Weller. As aventuras do major Zvyagin;
  • A. Schwarzenegger. Lembrar de tudo. Minha história incrivelmente verdadeira;
  • M. Sharapova. Imparável. Minha vida;
  • Malcolm Gladwell. 10.000 horas;
  • C. Lengold. Just space: uma oficina sobre a vida ágil, cheia de significado e energia;
  • Timothy Ferris Como trabalhar 4 horas por semana.

ps adição ao artigo do autor : se eu planejasse fazer um estágio novamente, enviaria um currículo imediatamente para todas as grandes empresas. Quase todo mundo tem estágios - Microsoft, Google, Amazon, Facebook, Intel, Apple e o resto. Além de estágios nos EUA, há estágios nos escritórios europeus. A Europa não possui requisitos de visto tão rigorosos quanto os Estados Unidos. Há estágios na Microsoft Research para pessoas envolvidas na ciência.

All Articles