JavaRush /Blogue Java /Random-PT /Acrobacias em entrevista técnica: como entrei no Google, ...

Acrobacias em entrevista técnica: como entrei no Google, Microsoft e muito mais

Publicado no grupo Random-PT
Tradução e adaptação do artigo Ace Your Technical Interview: What Got Me Into Google, Microsoft and More in The Startup community on Medium. Acrobacias em entrevista técnica: como entrei no Google, na Microsoft e muito mais - 1Antes da minha primeira entrevista de estágio, eu não tinha ideia de que também seriam feitas perguntas técnicas. Presumi que haveria apenas um monte de perguntas do tipo “fale-me sobre você” esperando por mim. No entanto, eu também não estava devidamente preparado para eles. Passei duas horas no centro de orientação profissional tentando obter conselhos valiosos de todos, e outras duas horas em casa ensaiando respostas para várias perguntas. Mas quando fui para a entrevista, o entrevistador não perguntou sobre meus pontos fortes e fracos. Em vez disso, recebi um marcador e fui orientado a ir até o quadro. E nem pensei que eles iriam testar minhas habilidades técnicas primeiro! Isso me pegou de surpresa. Não sabia responder corretamente às perguntas e poucas horas depois recebi um e-mail com uma recusa educada. Felizmente, depois desse incidente, tive muitas entrevistas bem-sucedidas. Já participei de cinquenta entrevistas técnicas e preparei muitos de meus amigos para elas. Minha abordagem parece funcionar muito bem, pois ajudou a mim e a outras pessoas a ter sucesso em entrevistas em empresas como Google, Microsoft, Apple, Amazon, etc. Gostaria de ajudar a todos pessoalmente, mas simplesmente não há tempo para isso. O melhor que posso fazer é compartilhar um guia passo a passo sobre como se sair bem em entrevistas técnicas. Aprendi o que pode e o que não pode ser feito em tais situações por tentativa e erro. Então aqui está uma lista de dicas úteis que compilei ao longo de vários anos de prática.

1. Não vá direto para entrevistas simuladas.

As pessoas geralmente aconselham fazer o maior número possível de entrevistas simuladas – e elas estão certas. Mas se você não estiver preparado, uma entrevista simulada pode ser ineficaz, intimidante e até desmoralizante. Posso te dizer por experiência própria: se eu entrevistei alguém que estava completamente despreparado como prática, no final ele se sentiu desmotivado porque “flutuou” nas perguntas e não respondeu muito bem. Aproveite o tempo para se preparar melhor e entender como é uma entrevista técnica. Aqui está um bom exemplo de entrevista simulada no Google:

2. Habilidades de comunicação > nível de formação técnica

Muitas pessoas se preparam para entrevistas técnicas passando horas em sites como LeetCode e Hackerrank. Estas são ótimas plataformas para prática. Mas é melhor tirar uma folga antes de perder horas resolvendo aleatoriamente os problemas que você acha que enfrentará em uma entrevista. Esta é uma abordagem ineficaz: em uma entrevista você encontrará pelo menos uma pergunta que nunca viu em nenhum lugar antes. Alguns de meus amigos têm programadores mais fortes do que eu, e muitas vezes fiquei surpreso ao saber por que fui aprovado nos testes de minha formação técnica, enquanto eles (às vezes) não. A maior diferença entre nós é provavelmente que passei muito tempo praticando minhas habilidades de comunicação. Sério: saber como resolver as 100 principais tarefas técnicas não ajudará se você não conseguir explicar claramente a lógica da sua solução. É muito importante aprender a formular pensamentos. A princípio, tudo isso pode parecer difícil, estranho e antinatural, mas a prática ajuda. É importante manter sua formação técnica atualizada, mas desenvolver suas habilidades de comunicação talvez seja ainda mais importante. Se você está sem tempo antes de uma próxima entrevista, é melhor se concentrar na comunicação do que tentar refazer o material que você passou dois anos estudando em ciência da computação em dois dias. Antes de sua próxima entrevista técnica, tente aprender isto:

2.1 Aprenda a fazer perguntas esclarecedoras

Uma das principais vantagens de uma entrevista é a possibilidade de esclarecer a pergunta que lhe foi feita. Normalmente, quem conduz entrevistas não fornece todas as informações básicas, portanto é necessário extrair delas detalhes adicionais. Você não pode resolver um problema sem entender completamente o que ele é! Para praticar, você pode tirar algumas dúvidas de entrevistas técnicas e elaborar uma série de perguntas esclarecedoras para elas. Por exemplo, se for solicitado que você classifique uma lista, você pode perguntar:
  • Como classificar uma lista - em ordem crescente ou decrescente?
  • Que tipo de dados a lista contém?
  • Você poderia dar um exemplo de como deve ser a entrada e a saída de dados para esse tipo de tarefa?
  • Etc.
Pode haver muito mais perguntas – estes são apenas alguns exemplos. Certifique-se de esclarecer várias nuances: peça um exemplo de entrada e saída
  • Especifique o tipo de dados
  • Verifique se há alguma restrição na faixa de valores
  • Pergunte se você tem que lidar com casos extremos
  • Descubra se você pode usar certas bibliotecas e recursos da linguagem em que está programando

2.2 Aprenda a expressar pensamentos

Depois de fazer todas as perguntas esclarecedoras e saber exatamente o que você precisa para resolver o problema, é hora de aprender como comunicar adequadamente a essência da sua solução. Se você começar apenas a escrever o código sem explicar por que está fazendo isso, será difícil para o entrevistador descobrir se você está certo ou errado. Você não receberá pontos por isso, sem falar no fato de que pode acabar escrevendo a solução errada. Quando você explica a lógica por trás de sua decisão ao longo do caminho, o entrevistador pode apontar a direção certa se você se desviar um pouco do caminho. Antes de escrever qualquer código, tente isto:
  • Informe o seu interlocutor sobre a sua possível solução - você conseguirá resolver o problema “de frente” e é possível ou pode ser melhorado de alguma forma?
  • Percorra sua solução passo a passo com um exemplo para entender como ela deve funcionar.
  • Divida a solução em várias etapas e escreva pseudocódigo ou “esqueleto” para que o entrevistador entenda seu processo de pensamento
  • Teste sua solução com diferentes casos extremos para ver se você cobriu tudo. Peça a opinião do entrevistador.
Para praticar, pegue uma pergunta de entrevista elaborada e tente dizer a resposta (solução) correta a um amigo. Se não conseguir encontrar um amigo, pegue um bicho de pelúcia ou qualquer outro objeto e pratique com ele.

3. Melhore seus conhecimentos e habilidades técnicas

Depois de aprender como se comunicar corretamente em uma entrevista, você poderá investir toda a sua energia na atualização de seu conhecimento técnico. Certifique-se de atualizar algoritmos e estruturas de dados. Certifique-se de compreender os principais tópicos, como estruturas de dados, classificação, trabalho com algoritmos, operadores bit a bit, notações Big O, etc. A lista de coisas que você precisa saber varia de acordo com a posição para a qual você está se candidatando.

4. Pratique!

Agora, tendo atualizado as habilidades e conhecimentos necessários, você pode colocar toda a sua energia em prática.
O curso JavaRush contém muitas tarefas de “quebra-cabeça” e projetos inteiros para a criação de soluções de aplicativos.
Tente não apenas escrever uma solução, mas pensar nas etapas: faça perguntas esclarecedoras mentalmente, pense na estrutura e só então escreva a solução. Isso o ajudará a se sentir mais confiante na entrevista, e a confiança é fundamental!

5. O que fazer se você “parasse” durante uma entrevista?

Agora vamos imaginar que você entrou em uma entrevista real e de repente percebeu que a pergunta o deixou perplexo. Você não tem ideia do que precisa ser feito e como resolver o problema. Você quer simplesmente sair correndo da sala e não voltar. Eu entendo - já estive em situações com as quais ainda sonho em pesadelos. Mas não se preocupe – nem toda esperança está perdida ainda. Isso aconteceu mais de uma vez durante as entrevistas, mas geralmente terminavam com uma oferta. É difícil, dá nos nervos, mas tudo é possível. Faça uma pausa e pense. Respire, coloque seus pensamentos em ordem. Talvez você tenha uma “pista”. Teste sua solução com um exemplo simples. Tente criar uma versão simplificada da solução para um problema semelhante, porém mais simples, prestando atenção no passo a passo. Por exemplo, se você precisar ordenar uma lista, o que você faz? Você encontra o menor número e o coloca no início. Como você implementaria essa solução em código? Conte-nos sobre uma solução privada. Se uma solução completa não surgir, tudo bem. Diga isso ao entrevistador, mas também deixe-o saber de sua linha de pensamento. Este desafio se assemelha a algum que você já encontrou? Parece que você precisa usar uma estrutura de dados específica para resolver isso? Compartilhe a lógica que o orienta. Seja honesto. Se você tiver certeza de que a pergunta que lhe foi feita é de uma área do conhecimento que você não conhece, conte ao entrevistador. Digamos que você está pronto para buscar uma solução, mas que ainda não possui as habilidades necessárias. Certa vez me fizeram uma pergunta relacionada à segurança da rede. Naquela época eu não tinha prática nessa área, sobre a qual falei aos entrevistadores. Eles me explicaram os princípios básicos necessários para que eu pudesse dar conta da tarefa. Você será entrevistado por pessoas reais :) Eles te entendem perfeitamente, porque eles próprios já passaram por situações semelhantes. Essas são todas as dicas que desenvolvi ao longo de vários anos de entrevistas. Eles ajudaram a mim e a meus amigos a entrar em empresas importantes. Boa sorte na pesquisa!
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION