Como se preparar para uma entrevista no Google e falhar. Duas vezes

Como se preparar para uma entrevista no Google e falhar. Duas vezes

O título do artigo parece uma falha épica, mas na realidade nem tudo é tão simples. E no geral essa história terminou de forma muito positiva, embora não no Google. Mas este é um assunto para outro artigo. Neste mesmo artigo falarei sobre três coisas: como foi meu processo de preparação, como aconteceram as entrevistas no Google e por que, na minha opinião, nem tudo é tão claro quanto pode parecer.

Como tudo começou

Numa noite fria de inverno cipriota, ocorreu-me de repente que meu conhecimento da Ciência da Computação clássica estava muito longe da média e que algo precisava ser feito a respeito. Se, aliás, alguém ainda não leu porque a noite é cipriota e fria, então você pode descobrir aqui. Depois de pensar um pouco, decidiu-se começar fazendo um curso online sobre algoritmos e estruturas de dados. Ouvi de um de meus ex-colegas sobre o curso de Robert Sedgewick no Coursera. O curso consiste em duas partes (parte 1 и parte 2). Se os links mudarem repentinamente, você sempre poderá pesquisar no Google o nome do autor. Cada parte dura 6 semanas. As palestras são ministradas no início da semana, e durante a semana ainda é necessário fazer exercícios. A primeira parte do curso cobre estruturas básicas de dados, tipos básicos de classificação e a complexidade dos algoritmos. A segunda parte já é mais avançada, começando com gráficos e terminando com coisas como Programação Linear e Intratabilidade. Depois de pensar em tudo isso, cheguei à conclusão de que é exatamente disso que preciso. Aliás, um leitor curioso pode perguntar: o que o Google tem a ver com isso? E, de fato, até este momento ele não teve nada a ver com isso. Mas eu precisava de uma meta, já que estudar 12 semanas à noite sem meta é um tanto difícil. Qual poderia ser o propósito de adquirir novos conhecimentos? Claro, a sua aplicação na prática. Na vida cotidiana isso é bastante problemático, mas durante uma entrevista em uma grande empresa é fácil. Uma rápida pesquisa no Google mostrou que o Google (desculpem a tautologia) é uma das maiores empresas da Europa (e eu estava olhando especificamente para a Europa) que realiza tais entrevistas. Ou seja, seu escritório está localizado em Zurique, na Suíça. Então está decidido: vamos estudar e fazer uma entrevista no Google.

Preparando-se para a primeira abordagem

As 12 semanas passaram rapidamente e concluí os dois cursos. Minhas impressões sobre os cursos são mais que positivas e posso recomendá-los a todos os interessados. Gostei dos cursos pelos seguintes motivos:

  • O palestrante fala um inglês bastante claro
  • O material está bem estruturado
  • Apresentações lindas mostrando o interior de cada algoritmo
  • Seleção competente de material
  • Exercícios interessantes
  • Os exercícios são verificados automaticamente no site, após o qual é gerado um relatório

Meu trabalho nos cursos geralmente era assim. Ouvi palestras em 1-2 dias. Em seguida, eles fizeram um rápido teste de conhecimento do material. No resto da semana fiz o exercício em várias iterações. Depois do primeiro consegui 30-70%, os seguintes trouxeram o resultado para 97-100%. O exercício geralmente envolvia a implementação de algum algoritmo, por ex. Escultura de costura ou bzip.

Depois de concluir os cursos, percebi que muito conhecimento vem com muita tristeza. Se antes eu simplesmente sabia que não sabia de nada, agora comecei a perceber que era eu quem não sabia.

Como era apenas o mês de maio e marquei a entrevista para o outono, decidi continuar meus estudos. Após analisar os requisitos para a vaga, decidiu-se seguir em duas direções paralelas: continuar estudando algoritmos e fazer um curso básico de aprendizado de máquina. Para o primeiro objetivo, decidi mudar dos cursos para um livro e escolhi a obra monumental de Steven Skiena “Algoritmos. O Manual de Design de Algoritmos. Não tão monumental quanto o de Knut, mas ainda assim. Para o segundo gol, voltei ao Coursera e me inscrevi no curso do Andrew Ng. Machine Learning.

Mais 3 meses se passaram e terminei o curso e a reserva.

Vamos começar com o livro. A leitura acabou sendo bastante interessante, embora não fácil. Em princípio, eu recomendaria o livro, mas não imediatamente. No geral, o livro fornece uma visão mais aprofundada do que aprendi no curso. Além disso, descobri (do ponto de vista formal) coisas como heurística e programação dinâmica. Naturalmente, eu já os tinha usado antes, mas não sabia como se chamavam. O livro também contém uma série de contos da vida do autor (War Story), que diluem um pouco o caráter acadêmico da apresentação. A propósito, a segunda metade do livro pode ser omitida, pois contém antes uma descrição dos problemas existentes e métodos para resolvê-los. É útil se for usado regularmente na prática, caso contrário será esquecido imediatamente.

Fiquei mais do que satisfeito com o curso. O autor claramente conhece o assunto e fala de uma forma interessante. Além disso, lembrei-me de uma boa parte disso, nomeadamente álgebra linear e noções básicas de redes neurais, da universidade, por isso não tive nenhuma dificuldade particular. A estrutura do curso é bastante padronizada. O curso é dividido em semanas. Toda semana há palestras mescladas com pequenos testes. Após as palestras, você receberá uma tarefa que deverá fazer, enviar e ela será verificada automaticamente. Resumidamente, a lista de coisas ensinadas no curso é a seguinte:
- função de custo
- regressão linear
- Gradiente descendente
- dimensionamento de recursos
- equação normal
- regressão logística
— classificação multiclasse (um contra todos)
- redes neurais
- retropropagação
- regularização
- viés/variância
- curvas de aprendizado
— métricas de erro (precisão, recall, F1)
— Máquinas de vetores de suporte (classificação de margem grande)
- K-significa
—Análise de Componentes Principais
- detecção de anomalia
— filtragem colaborativa (sistema de recomendação)
- descidas gradientes estocásticas, minilotes e lotes
- aprendizagem online
- redução do mapa
- análise de teto
Após a conclusão do curso, a compreensão de todos esses tópicos estava presente. Após 2 anos, quase tudo foi naturalmente esquecido. Recomendo para quem não está familiarizado com aprendizado de máquina e deseja entender bem o básico para seguir em frente.

Primeira corrida

Já era setembro e era hora de pensar em uma entrevista. Como a inscrição pelo site é bastante desastrosa, comecei a procurar amigos que trabalhem no Google. A escolha recaiu sobre datacompboy, já que ele era o único que eu conhecia diretamente (mesmo que não pessoalmente). Ele concordou em encaminhar meu currículo e logo recebi uma carta do recrutador oferecendo-se para reservar um espaço em sua agenda para a primeira conversa. Alguns dias depois, a ligação foi realizada. Tentamos nos comunicar via Hangouts, mas a qualidade era péssima, então mudamos para o telefone. Primeiro, discutimos rapidamente o padrão como, por que e por quê, e depois passamos para a triagem técnica. Consistia em uma dúzia de perguntas no espírito de “qual é a dificuldade de inserir em um mapa hash”, “quais árvores balanceadas você conhece”. Não é difícil se você tiver um conhecimento básico dessas coisas. A triagem correu bem e com base nos resultados decidiram organizar a primeira entrevista em uma semana.

A entrevista também aconteceu via Hangouts. Primeiro eles falaram sobre mim por cerca de 5 minutos, depois passaram para o problema. O problema estava nos gráficos. Rapidamente percebi o que precisava ser feito, mas escolhi o algoritmo errado. Quando comecei a escrever código percebi isso e mudei para outra opção, que concluí. O entrevistador fez diversas perguntas sobre a complexidade do algoritmo e perguntou se isso poderia ser feito mais rápido. De alguma forma, fiquei chato e não consegui fazer isso. Nesse momento o tempo acabou e nos despedimos. Então, depois de cerca de 10 minutos, percebi que, em vez do algoritmo Dijkstra que usei, neste problema específico eu poderia usar a pesquisa em largura, e seria mais rápido. Depois de algum tempo, o recrutador ligou e disse que a entrevista no geral correu bem e que outra deveria ser organizada. Combinamos mais uma semana.

Desta vez as coisas pioraram. Se na primeira vez o entrevistador foi amigável e sociável, desta vez ele se mostrou um tanto sombrio. Não consegui resolver o problema de imediato, embora as ideias que tive pudessem, em princípio, levar à sua solução. No final, após várias instruções do entrevistador, a solução chegou até mim. Desta vez acabou por ser novamente uma pesquisa ampla, apenas a partir de vários pontos. Escrevi as soluções, encontrei-as na hora certa, mas esqueci os casos extremos. Depois de algum tempo, o recrutador ligou e disse que dessa vez o entrevistador estava insatisfeito, pois na opinião dele eu precisava de muitas dicas (3 ou 4 peças) e mudava constantemente o código enquanto escrevia. Com base nos resultados de duas entrevistas, decidiu-se não ir mais longe, mas sim adiar a próxima entrevista por um ano, se assim o desejar. Foi por isso que nos despedimos.

E desta história tirei várias conclusões:

  • A teoria é boa, mas você precisa navegar nela rapidamente
  • Teoria sem prática não ajudará. Precisamos resolver problemas e trazer a codificação para o automatismo.
  • Depende muito do entrevistador. E nada pode ser feito a respeito.

Preparando-se para a segunda corrida

Depois de pensar na situação, decidi tentar novamente em um ano. E editei ligeiramente o objetivo. Se antes o objetivo principal era estudar, e uma entrevista no Google era como uma cenoura distante, agora passar na entrevista era o objetivo e estudar era o meio.
Assim, foi desenvolvido um novo plano, que contemplava os seguintes pontos:

  • Continue a estudar teoria lendo livros e artigos.
  • Resolva problemas algorítmicos no valor de 500-1000 peças.
  • Continue aprendendo a teoria assistindo a vídeos.
  • Continue a estudar teoria por meio de cursos.
  • Estude as experiências de outras pessoas com entrevistas no Google.

Concluí o plano em um ano. A seguir descreverei o que exatamente fiz para cada um dos pontos.

Livros e artigos

Nem me lembro de quantos artigos li, li-os em russo e em inglês. Provavelmente o site mais útil este aqui. Aqui você pode encontrar uma descrição de um grande número de algoritmos interessantes com exemplos de código.

Eu li 5 livros: Algoritmos, 4ª edição (Sedgewick, Wayne), Introdução aos Algoritmos 3ª Edição (Cormen, Leiserson, Rivest, Stein), Cracking the Coding Interview 4ª edição (Gayle Laakmann), Programming Interviews Exposed 2ª edição (Mongan, Suojanen , Giguere), Elementos de entrevistas de programação (Aziz, Lee, Prakash). Eles podem ser divididos em 2 categorias. O primeiro inclui livros de Sedgwick e Corman. Isto é uma teoria. O resto é preparação para a entrevista. Sedgwick fala sobre a mesma coisa no livro e em seus cursos. Apenas por escrito. Não faz muito sentido lê-lo com atenção se você já fez o curso, mas vale a pena dar uma olhada de qualquer maneira. Se você ainda não assistiu ao curso, faz sentido lê-lo. Cormen parecia muito chato para mim. Para ser honesto, tive dificuldade em dominá-lo. acabei de tirar de lá teoria mestree várias estruturas de dados raramente usadas (heap Fibonacci, árvore van Emde Boas, heap radix).

Vale a pena ler pelo menos um livro para se preparar para uma entrevista. Todos eles são construídos aproximadamente no mesmo princípio. Eles descrevem o processo de entrevistas em grandes empresas de tecnologia, dão coisas básicas da Ciência da Computação, problemas para essas coisas básicas, soluções para problemas e análises de soluções. Dos três acima, eu provavelmente recomendaria Cracking the Coding Interview como o principal, e o restante é opcional.

Problemas algorítmicos

Este foi provavelmente o ponto mais interessante da preparação. Você pode, é claro, sentar e resolver problemas de maneira estúpida. Existem muitos sites diferentes para isso. Usei principalmente três: Hackerrank, CodeChef и Código Leet. No CodeChef, os problemas são divididos por dificuldade, mas não por tópico. No Hackerrank tanto por complexidade quanto por tópico.

Mas, como descobri imediatamente por mim mesmo, existe uma maneira mais interessante. E estas são competições (desafios de programação ou concursos de programação). Todos os três sites os fornecem. É verdade que há um problema com o LeetCode - um fuso horário inconveniente. Por isso não participei deste site. Hackerrank e CodeChef oferecem um número bastante grande de competições diferentes, com duração de 1 hora a 10 dias. Formatos diferentes têm regras diferentes, mas poderíamos conversar muito sobre isso. O principal motivo pelo qual as competições são boas é a introdução de um elemento competitivo (e novamente tauológico) no processo de aprendizagem.

No total, participei de 37 competições no Hackerrank. Destes, 32 eram de classificação e 5 eram patrocinados (até recebi US$ 25 em um deles) ou por diversão. No ranking estive entre os 10% melhores 4 vezes, entre os 11% melhores 12 vezes e entre os 5% melhores 25 vezes. Os melhores resultados foram 27/1459 nas 3 horas e 22/9721 na semana.

Mudei para o CodeChef quando o Hackerrank começou a hospedar competições com menos frequência. No total consegui participar de 5 competições. A melhor pontuação foi 426/5019 nos dez dias de competição.

No total, nas competições e assim por diante, resolvi pouco mais de 1000 problemas, que cabem no plano. Agora, infelizmente, não há tempo livre para continuar as atividades competitivas, assim como não há meta para a qual o tempo não livre possa ser amortizado. Mas foi divertido. Eu recomendo que aqueles que estão interessados ​​​​nisso encontrem pessoas que pensam como você. Juntos ou em grupo é muito mais interessante. Eu me diverti com isso com um amigo, então talvez tenha corrido bem.

Visualizar vídeo

Depois de ler o livro de Skiena, fiquei interessado no que ele estava fazendo. Assim como Sedgwick, ele é professor universitário. Nesse sentido, vídeos de seus cursos podem ser encontrados online. Resolvi revisar o curso COMP300E - Desafios de Programação - 2009 HKUST. Não posso dizer que gostei muito. Em primeiro lugar, a qualidade do vídeo não é muito boa. Em segundo lugar, não tentei resolver sozinho os problemas discutidos no curso. Então o engajamento não foi muito alto.
Além disso, ao resolver problemas, tentando encontrar o algoritmo certo, me deparei com o vídeo de Tushar Roy. Ele trabalhou na Amazon e agora trabalha na Apple. Como descobri mais tarde por mim mesmo, ele Canal do Youtube, onde ele publica uma análise de vários algoritmos. No momento em que este artigo foi escrito, o canal continha 103 vídeos. E devo dizer que a análise dele foi muito bem feita. Tentei assistir outros autores, mas de alguma forma não funcionou. Portanto, posso definitivamente recomendar este canal para visualização.

Fazendo cursos

Não fiz nada de especial aqui. Assisti a um vídeo do Android Developer Nanodegree do Google e fiz um curso da ITMO Como vencer competições de codificação: segredos dos campeões. O Nanodegree é muito bom, embora eu naturalmente não tenha aprendido nada de novo com ele. O curso do ITMO é um pouco distorcido em termos teóricos, mas os problemas foram interessantes. Eu não recomendaria começar com isso, mas em princípio foi um tempo bem gasto.

Aprenda com as experiências de outras pessoas

Claro, muitas pessoas tentaram entrar no Google. Alguns entraram, outros não. Alguns escreveram artigos sobre isso. Das coisas interessantes que provavelmente mencionarei Este и Este. No primeiro caso, a pessoa preparou para si uma lista do que precisa aprender para se tornar Engenheiro de Software e entrar no Google. Eventualmente acabou na Amazon, mas isso não é mais tão importante. O segundo manual foi escrito pela engenheira do Google, Larisa Agarkova (Larr). Além deste documento, você também pode ler o blog dela.

Faz sentido ler resenhas de entrevistas no Glassdoor. Eles são todos mais ou menos semelhantes, mas você pode obter algumas informações úteis.

Não fornecerei links para outros artigos pequenos; você pode encontrá-los facilmente no Google.

Segunda corrida

E agora um ano se passou. Acabou sendo muito intenso em termos de estudos. Mas abordei o novo outono com conhecimentos teóricos muito mais profundos e desenvolvi habilidades práticas. Ainda faltavam algumas semanas para o final do ano que me foi atribuído para preparação, quando de repente chegou ao correio uma carta de um recrutador do Google, na qual ele me perguntava se eu ainda desejava trabalhar no Google e se Eu me importo de conversar com ele. Naturalmente, não me importei. Concordamos em ligar em uma semana. Também me pediram um currículo atualizado, ao qual acrescentei uma breve descrição do que fiz durante o ano de trabalho e em geral.

Depois de nos comunicarmos para o resto da vida, decidimos que em uma semana haveria uma entrevista no Hangout, assim como no ano passado. Passou uma semana, chegou a hora da entrevista, mas o entrevistador não apareceu. 10 minutos se passaram, eu já estava começando a ficar nervoso, quando de repente alguém entrou no chat. Como descobri um pouco mais tarde, por algum motivo meu entrevistador não pôde comparecer e um substituto foi encontrado com urgência para ele. A pessoa estava um pouco despreparada tanto na configuração do computador quanto na condução da entrevista. Mas então tudo correu bem. Resolvi o problema rapidamente, descrevi onde as armadilhas eram possíveis e como elas poderiam ser contornadas. Discutimos várias versões diferentes do problema e a complexidade do algoritmo. Depois conversamos por mais 5 minutos, o engenheiro nos contou suas impressões sobre trabalhar em Munique (aparentemente não encontraram um substituto urgente em Zurique), e então nos separamos.

No mesmo dia, o recrutador entrou em contato comigo e disse que a entrevista correu bem e que estavam prontos para me convidar para uma entrevista no escritório. No dia seguinte ligamos via Hangouts e discutimos os detalhes. Como eu precisava solicitar um visto, decidimos marcar uma entrevista em um mês.

Enquanto preparava os documentos, discuti simultaneamente a próxima entrevista com o recrutador. Uma entrevista padrão no Google consiste em 4 entrevistas algorítmicas e uma entrevista de design de sistema. Mas, como eu estava me candidatando como desenvolvedor Android, me disseram que parte da entrevista seria específica para Android. Não consegui arrancar do recrutador exatamente quais seriam e quais seriam os detalhes. Pelo que entendi, isso foi introduzido há relativamente pouco tempo e ele próprio não estava muito ciente. Também me inscrevi em dois treinamentos: como passar em uma entrevista algorítmica e como passar em uma entrevista de System Design. As sessões foram de utilidade média. Também lá ninguém poderia me dizer o que perguntam aos desenvolvedores Android. Portanto, a minha preparação para este mês resumiu-se ao seguinte:

  • Comprar um quadro de marcadores e escrever de memória 2 a 3 dúzias dos algoritmos mais populares nele. 3-5 peças todos os dias. No total, cada um foi escrito várias vezes.
  • Refresque sua memória com diversas informações do Android que você não usa todos os dias
  • Assistindo alguns vídeos sobre Big Scale e coisas assim

Como já disse, ao mesmo tempo preparava os documentos para a viagem. Para começar, me pediram informações para fazer uma carta-convite. Depois tentei durante muito tempo descobrir quem em Chipre emite vistos para a Suíça, já que a embaixada suíça não trata disso. Acontece que o consulado austríaco está fazendo isso. Liguei e marquei uma consulta. Pediram um monte de documentos, mas nada particularmente interessante. Foto, passaporte, autorização de residência, vários certificados diferentes e, claro, uma carta-convite. Entretanto a carta não chegou. No final, optei por uma impressão normal e funcionou muito bem. A carta chegou três dias depois, e a FedEx cipriota não conseguiu encontrar meu endereço e eu mesmo tive que ir buscá-la. Ao mesmo tempo, recebi um pacote da mesma FedEx, que também não puderam me entregar, pois não encontraram o endereço, e que estava lá desde junho (3 meses, Karl). Como eu não sabia disso, naturalmente, não presumi que eles tivessem. Recebi meu visto dentro do prazo, depois disso eles reservaram um hotel e me ofereceram opções de voo. Ajustei as opções para torná-lo mais conveniente. Não havia mais voos diretos, então acabei voando para lá via Atenas e voltando via Viena.

Depois de acertadas todas as formalidades da viagem, mais alguns dias se passaram e eu realmente voei para Zurique. Cheguei lá sem incidentes. Do aeroporto para a cidade peguei o trem - de forma rápida e prática. Depois de passear um pouco pela cidade, encontrei um hotel e me hospedei. Como o hotel estava reservado sem comida, jantei no vizinho e fui dormir, pois o vôo era de manhã e eu já queria dormir. No dia seguinte tomei café da manhã no hotel (para ganhar dinheiro extra) e fui ao escritório do Google. O Google possui vários escritórios em Zurique. Minha entrevista não foi central. E, em geral, o escritório parecia bastante comum, então não tive a chance de ver todas as vantagens de um escritório “normal” do Google. Registrei-me com o administrador e sentei-me para esperar. Depois de algum tempo, o recrutador apareceu e me contou o plano do dia, após o que me levou até a sala onde seriam realizadas as entrevistas. Na verdade, o plano incluía 3 entrevistas, almoço e mais 2 entrevistas.

Entrevista número um

A primeira entrevista foi apenas no Android. E não teve nada a ver com algoritmos. Surpresa, no entanto. Bem, ok, é ainda mais comum assim. Fomos solicitados a criar um determinado componente de UI. Primeiro discutimos o que e como. Ele se ofereceu para fazer uma solução usando RxJava, descreveu exatamente o que faria e por quê. Eles disseram que isso certamente é bom, mas vamos fazer isso usando o framework Android. E ao mesmo tempo escreveremos o código no quadro. E não apenas um componente, mas toda a Activity que utiliza esse componente. Era para isso que eu não estava preparado. Uma coisa é escrever um algoritmo de 30-50 linhas no quadro, e outra coisa é escrever macarrão de código Android, mesmo com abreviações e comentários no espírito de “bem, não vou escrever isso, pois já é óbvio”. O resultado foi uma espécie de vinagrete para 3 tábuas. Aqueles. Resolvi o problema, mas parecia idiota.

Entrevista número dois

Desta vez a entrevista foi sobre algoritmos. E havia dois entrevistadores. Um é o entrevistador real e o segundo é um jovem padawan (entrevistador sombra). Foi necessário criar uma estrutura de dados com determinadas propriedades. Primeiro, discutimos o problema como de costume. Fiz perguntas diferentes, respondeu o entrevistador. Depois de algum tempo, eles foram solicitados a escrever vários métodos da estrutura inventada no quadro. Desta vez tive mais ou menos sucesso, embora com alguns pequenos erros, que corrigi a pedido do entrevistador.

Entrevista número três

Desta vez, System Design, que de repente também se tornou Android. Foi necessário desenvolver uma aplicação com determinadas funcionalidades. Discutimos os requisitos do aplicativo, do servidor e do protocolo de comunicação. A seguir, comecei a descrever quais componentes ou bibliotecas eu usaria ao construir o aplicativo. E então, ao mencionar o Job Scheduler, houve alguma confusão. A questão é que nunca o utilizei na prática, pois na época de seu lançamento havia acabado de passar a suportar aplicações onde não havia tarefas para seu uso. A mesma coisa aconteceu no desenvolvimento dos subsequentes. Ou seja, em tese eu sei o que é essa coisa, quando e como é usada, mas não tenho experiência em usá-la. E o entrevistador não pareceu gostar muito. Então eles me pediram para escrever algum código. Sim, ao desenvolver um aplicativo você precisa escrever código imediatamente. Novamente o código Android no quadro. Acabou sendo assustador novamente.

Almoço

Outra pessoa deveria vir, mas ele não veio. E o Google comete erros. Como resultado, fui almoçar com a entrevistadora anterior, colega dela, e um pouco mais tarde juntou-se a entrevistadora seguinte. O almoço foi bastante decente. Novamente, como este não é o escritório principal de Zurique, a sala de jantar parecia bastante comum, embora muito agradável.

Entrevista número quatro

Finalmente, algoritmos em sua forma mais pura. Resolvi o primeiro problema com bastante rapidez e eficácia imediata, embora tenha perdido um caso extremo, mas a pedido do entrevistador (ele deu esse caso extremo) encontrei o problema e o corrigi. Claro, tive que escrever o código no quadro. Então foi dada uma tarefa semelhante, mas mais difícil. Para isso, encontrei algumas soluções não ideais e quase encontrei a ideal, 5 a 10 minutos não foram suficientes para finalizar o pensamento. Bem, não tive tempo de escrever o código para isso.

Entrevista número cinco

E novamente entrevista Android. Eu me pergunto por que estudei algoritmos o ano todo?
No início houve algumas perguntas simples. Em seguida, o entrevistador escreveu o código no quadro e pediu para encontrar problemas nele. Encontrei, expliquei, consertei. Discutido. E então começaram algumas perguntas inesperadas no espírito de “o que o método Y faz na classe X”, “o que está dentro do método Y”, “o que a classe Z faz”. Claro, respondi alguma coisa, mas depois disse que não encontrei isso em meu trabalho recentemente e, naturalmente, não me lembro detalhadamente quem está fazendo o quê e como. Depois disso, o entrevistador perguntou o que eu estava fazendo agora. E as perguntas foram sobre esse assunto. Já respondi muito melhor aqui.

Após o término da última entrevista, eles pegaram meu passe, me desejaram boa sorte e me mandaram embora. Caminhei um pouco pela cidade, jantei e fui para o hotel, onde fui dormir, pois o vôo era novamente de manhã cedo. No dia seguinte cheguei em segurança a Chipre. A pedido do recrutador, escrevi um feedback sobre a entrevista e preenchi um formulário em um serviço especial para devolução do dinheiro gasto. De todas as despesas, o Google paga diretamente apenas pelas passagens. Hotel, alimentação e deslocamento são pagos pelo candidato. Em seguida, preenchemos o formulário, anexamos os recibos e enviamos para um escritório especial. Eles processam isso e transferem dinheiro para a conta com bastante rapidez.

Demorou uma semana e meia para processar os resultados da entrevista. Depois disso, fui informado de que estava “um pouco abaixo da barra”. Ou seja, fiquei um pouco aquém. Mais especificamente, 2 entrevistas correram bem, 2 não tão bem e o Design do Sistema não muito bem. Agora, se pelo menos 3 tivessem dado certo, teríamos conseguido competir, senão não tem chance. Eles se ofereceram para voltar em outro ano.

No início, claro, fiquei chateado, porque tinha sido despendido muito esforço na preparação e, na altura da entrevista, já estava a pensar em deixar Chipre. Entrar no Google e mudar para a Suíça parecia uma ótima opção.

Conclusão

E aqui chegamos à parte final do artigo. Sim, falhei duas vezes na entrevista do Google. É triste. Provavelmente seria interessante trabalhar lá. Mas você pode ver o assunto do outro lado.

  • Em um ano e meio, aprendi muitas coisas relacionadas ao desenvolvimento de software.
  • Eu me diverti muito participando de competições de programação.
  • Fui a Zurique por alguns dias. Quando irei lá novamente?
  • Tive uma experiência interessante de entrevista em uma das maiores empresas de TI do mundo.

Assim, tudo o que aconteceu ao longo deste ano e meio pode ser simplesmente considerado treino, ou treino. E os resultados desta formação fizeram-se sentir. A minha ideia de deixar Chipre amadureceu (devido a algumas circunstâncias familiares), passei com sucesso em várias entrevistas com outra empresa conhecida e mudei-me após 8 meses. Mas essa é uma história completamente diferente. No entanto, penso que ainda devo agradecer ao Google pelo ano e meio em que trabalhei sozinho e pelos 2 dias interessantes em Zurique.

O que posso dizer finalmente? Se você trabalha com TI, prepare-se para entrevistas no Google (Amazon, Microsoft, Apple, etc.). Talvez um dia você vá lá para chegar lá. Mesmo que você não queira, acredite, esse preparo não vai piorar você. No momento em que você perceber que pode (mesmo que com sorte) conseguir uma entrevista em uma dessas empresas, muito mais caminhos estarão abertos para você do que antes de iniciar sua preparação. E tudo que você precisa ao longo do caminho é propósito, persistência e tempo. Eu te desejo sucesso :)

Fonte: habr.com

Adicionar um comentário