O que não fazer na etapa final de uma entrevista com o Facebook

Como cheguei até etapa final e quais erros cometi

Lucas Magnum
6 min readApr 2, 2021

Olá, turu bem? Hoje vou contar para vocês sobre uma experiência que tive recentemente ao chegar até a etapa final do processo no Facebook e quais erros eu cometi.

Vou explicar abaixo o que aconteceu etapa por etapa, qual o feedback recebi após todas entrevistas, como se preparar (vários links) e o que evitar.

Eu fiz uma entrevista para uma posição de liderança técnica, o que faz com que as expectativas sejam mais altas, isso quer dizer que por menor que seja o erro, o impacto pode ser grande. Se você tem menos experiência alguns erros podem passar despercebidos.

Muito importante: aproveitando que você está por aqui, eu vou criar um sistema para ajudar pessoas a se preparem para essas entrevistas, se tiver interesse em saber mais responde aqui: https://forms.gle/xnrqFkCwzyw9X4mNA

Segue lá nos Youtube também que devo voltar a postar mais coisas relacionadas ao tópico https://www.youtube.com/c/LucasMagnum/

Bom, bora lá!

Primeira etapa

Eu sempre ouvi muito sobre o quão dificil e cansativo era o processo dessas empresas, porém, eu tinha pouco interesse em trabalhar em uma empresa gigante por receio de ter pouca autonomia do meu trabalho.

Entretanto, ao receber essa mensagem do Facebook eu estava no momento bem tranquilo da minha vida, trabalhando pouco e com mais tempo livre. Decidi então que iria aceitar o desafio de começar o processo e ver o que eu poderia aprender com ele.

Passado alguns dias após responder a mensagem do recrutador, recebi uma ligação e ali se dava a primeira etapa, diferente de outras empresas o recrutador do outro lado era super técnico e me fez várias perguntas sobre ciência da computação e conceitos de algoritmos e estrutura de dados.

Feedback que recebi: Foi me dito que eu respondi alguns conceitos de forma errada, porém, como respondi a maioria de forma correta eu poderia ir para a próxima etapa.

Como se preparar: Vasculhada em https://www.bigocheatsheet.com/ e umas lidas rápidas em algumas estrutura de dados. Olha também no Glassdoor quais são as perguntas que geralmente perguntam nessa fase.

O que não fazer: Criar muita expectativa, existem muitas pessoas que não passam dessa etapa por não responder corretamente sobre conceitos de estrutura de dados.

Segunda etapa

A segunda etapa consiste em teste técnico de 45 minutos para responder até 2 problemas.

Para todos os testes técnicos é importante lembrar:

  • Em nenhum momento você será capaz de executar o código;
  • É esperado que você explore o problema antes de começar;
  • É esperado que você explique como vai resolver o problema antes de escrever qualquer linha de código;
  • É esperado que você faça análise da sua solução antes de escrever qualquer linha de código;
  • Esperado que você implemente sua solução levando em consideração situação não comum (por exemplo, se seu código está fazendo uma soma, você precisa se parar para uma situação de receber algo que não seja um número e assim por diante).

Como se preparar: resolver vários problemas de algoritmos, estudar conceitos de estrutura de dados, análise de algoritmos e técnicas de resolução de problemas. Pratique escrever código falando em voz alta o que seu código faz. Pair programming onde você explica para outra pessoa exatamente o que está passando na sua cabeça.

Exemplo de pergunta:

O que não fazer: Ficar calado e esquecer de testar seu código.

É muito importante que você se comunique com o entrevistador, faça perguntas se tiver alguma dúvida, explique porque está resolvendo o problema em um determinado jeito e explique porque seu jeito é melhor para determinado problema.

Feedback: Recebi um feedback positivo nessa etapa, especialmente porque fui capaz de explicar minha linha de pensamento de forma concisa e clara, fui capaz também de testar meu código de maneira eficiente e encontrar erros antes do entrevistador.

Etapa final (4 entrevistas)

É muito comum na segunda etapa você seja encaminhado para um segundo teste técnico ou ir direto para a etapa final dependendo do resultado. Como fui bem, me mandaram direto para a etapa final.

A etapa final é composta de 4 entrevistas, você pode fazer todas no mesmo dia, ou separar em 2 dias. Eu decidi fazer todas de uma vez (o que talvez foi erro).

  1. Entrevista comportamental
  2. Primeiro teste técnico
  3. Segundo teste técnico
  4. Arquitetura de Sistemas

Após realizar as quatro entrevistas, cada entrevistador apresenta um feedback sobre sua entrevista e votam para saber se você foi aprovado ou não.

Entrevista comportamental (Behavioral Interview)

A entrevista comportamental é uma conversa sobre sua experiência, onde você precisa responder explicar situações passadas de uma forma inteligente e que mostre suas qualidades.

Muito importante: Muita gente esquece de se preparar para essa entrevista e você pode ir super bem nas outras e ser reprovado aqui.

Foi me perguntado diferentes perguntas, casos de conflito, decisões que tomei e que foram erradas, aprendizados, arrependimentos e etc.

Como se preparar: Crie uma lista de todos os lugares que você trabalhou, anote quais foram os desafios que você teve (colega, tecnologias, projetos, prazos, financeiros e pessoais), como você resolveu esses desafios e o que você aprendeu com eles.

O que não fazer: Esquecer de se preparar, responder de forma vaga, seja especifico e não dê muitos detalhes ao não ser que perguntado, use técnicas como STAR (Situation, Task, Action, Result).

https://zety.com/blog/star-method-interview#:~:text=The%20STAR%20method%20is%20a,specific%20work%20situations%20and%20challenges.

Feedback: Super positivo, fui bem em explicar minha experiência, apresentar os desafios, casos de liderança técnica, o que aprendi com eles e como eles fizeram crescer profissionalmente.

Primeiro teste técnico (Coding interview)

Novamente um teste técnico, 45 minutos e 2 perguntas. Diferente da segunda etapa, eles esperam que você responda as 2 perguntas e o faça da forma mais performática possível.

Como se preparar: Foque bastante em entender muito bem a linguagem de programação que você vai utilizar no teste, entenda como as estruturas de dados são implementadas internamente e como você pode utilizá-las. Dê uma olhada nas dicas da segunda etapa.

O que não fazer: pular direto para o código antes de entender o problema 100%, é muito importante que você entenda e explique como resolver problema antes mesmo de escrever alguma linha de código.

Feedback: Na primeira pergunta eu cometi um erro onde esqueci de cobrir um caso de uso do problema, na segunda pergunta eu fui bem e no fim resolvi os dois problemas da forma ideal. Entretanto, o entrevistador ficou com uma impressão meio mista por eu ter esquecido um caso de uso na primeira e ir bem na segunda.

Segundo teste técnico (Coding interview)

A diferença que senti dessa entrevista foi que os problemas foram mais complexos.

Feedback: Na primeira pergunta eu fui bem e resolvi o problema de forma ideal, na segunda pergunta eu não havia entendido direito o problema e fui muito afoito pra escrever código, isso fez com que eu tivesse que me corrigir durante a resolução do problema.

Mesmo sendo capaz de resolver os dois problemas de forma ideal, o entrevistador não ficou feliz com o fato de eu não ter explorado o problema antes de começar escrever o código.

Arquitetura de Sistemas (Design System interview)

Essa entrevista eu estava super nervoso, geralmente é vista como uma das entrevistas mais difíceis.

O entrevistador te da um problema de forma bem vaga, ex: “Como construir um Instagram” em 45 minutos. Você precisa assumir o controle da entrevista, entender de fato o que ele quer dizer, levantar os requisitos, desenhar a arquitetura do sistema e mostrar como escalar o sistema para milhões de usuários.

Como se preparar: Aprenda sobre conceitos de arquitetura, como funciona diferentes tecnologias, banco de dados, sistemas de caches, estratégias de cache, como escalar horizontalmente, como construir sistemas distribuídos e outras coisas nessa linha.

https://www.amazon.com/Designing-Data-Intensive-Applications-Reliable-Maintainable/dp/1449373321

O que não fazer: começar a desenhar a arquitetura sem entender os requisitos funcionais e não funcionais do problema, não explicar o motivo que você está usando alguma tecnologia, quais são os pros e cons da sua escolha, não fazer perguntas, não se preparar antes para esse tipo de entrevista.

Feedback: Foi super positivo, fui capaz de explicar como escalar o sistema, como resolver o problema dado e como explicar minha linha de pensamento e defender minha arquitetura de forma concisa.

Feedback final

Depois de todas as entrevistas recebi o feedback que não fui aprovado mesmo tendo ido bem na maioria das entrevistas e ter sido capaz de resolver todos os problemas, o motivo principal foi a primeira entrevista técnica que eu tive uma performance mista e isso pesou pois a expectativa para a posição é bem alta.

Foi um processo sensacional, tive suporte o tempo todo para tirar dúvidas, fui capaz de conhecer pessoas que trabalham lá e recebi diversas dicas de como me preparar.

Enfim, foi um aprendizado enorme, e agora vou tentar retribuir ajudando outras pessoas a chegarem até etapa final e quem sabe conseguir uma vaga lá no futuro!

Não deixe de responder: https://forms.gle/xnrqFkCwzyw9X4mNA

Boa sorte!

Lucas Magnum

--

--

Lucas Magnum
Lucas Magnum

Written by Lucas Magnum

I will show you the world through my eyes, everything is a point of view. https://www.youtube.com/c/LucasMagnum

Responses (1)