Ainda penso no dia em que o Airbnb me rejeitou, mais do que deveria.
Já era fim de tarde quando saí da rodada final e fiquei vinte minutos sentado no carro, olhando para o volante. Quando a recrutadora enfim explicou a rejeição, o motivo foi uma pergunta sobre pertencimento. Não foi programação, nem system design. Era uma pergunta sobre fazer alguém se sentir acolhido dentro de uma equipe.
Na época, eu vinha de uma sequência de entrevistas no Google e achava que a preparação para programação era o jogo inteiro. Tinha doze histórias no formato STAR escritas e ensaiadas. Todas falavam de entrega de funcionalidades, de conflitos ou de algum assunto técnico. Com aquilo tudo pronto na cabeça para recitar, meu banco de histórias era a parte que menos me preocupava. Também tinha sido a primeira que concluí e nunca mais abri.
Foi exatamente esse o nível de atenção que dei à rodada de cultura. Eu marcava mock interviews de programação o tempo todo. Problemas de grafos antes do trabalho e vídeos de system design no almoço tinham virado rotina.
De tanto insistir nisso, fiquei meio cego para qualquer coisa que não fosse técnica. Uma ex-colega de equipe até tirava sarro de mim por causa disso. Seis meses antes, ela já dizia que, na avaliação final deles, cultura tinha o mesmo peso que programação. Eu ri, em voz alta. Ela não discutiu e apenas mudou de assunto. Na minha cabeça, eu estava fazendo tudo certo.
Ready to ace your next interview?
InterviewMan gives you real-time AI answers during live interviews — undetectable on Zoom, Meet, and Teams.
Try InterviewMan FreeSó que não importava quantos problemas eu resolvesse: deixei uma rodada inteira de fora. E era uma rodada essencial. Não fui "paranoico" o bastante para me preparar para a pessoa que avaliaria cultura no fim do loop.
Recebi três perguntas naquela sala. As três tratavam de fazer as pessoas sentirem que pertenciam ao lugar. Nenhuma das minhas doze histórias falava de inclusão. O melhor que consegui puxar da memória foi o onboarding de um engenheiro novo na empresa anterior, e, enquanto contava, eu mesmo sabia que a resposta estava uma porcaria. "Be a Host" e "Belonging" são valores centrais de verdade para o Airbnb, não frases de cartaz. Eu não tinha nada que chegasse perto de nenhum dos dois.
Programadores medianos que acertam cultura recebem oferta; programadores fortes que vão mal em cultura são rejeitados. Essa era a conta que minha ex-colega havia feito para mim. Eu tinha arquivado aquilo como certo exagero de quem falava da antiga empresa. Ela estava descrevendo o sistema real de pontuação.
No meu caso, o funil foi assim. Antes de falar com qualquer pessoa, veio um teste no HackerRank: dois problemas, dificuldade média, quarenta e cinco minutos.
Para mim caíram manipulação de arrays e um problema de árvore binária. Uma pessoa de um Discord de bootcamp de programação que eu acompanho recebeu um grafo no lugar da árvore. Então, eles alternam as questões dentro de um banco.
Também exigiam código real funcionando, não pseudocódigo. Isso me pegou, porque eu vinha das entrevistas do Google, onde tudo ficava no quadro branco.
Depois houve uma conversa de trinta minutos com a recrutadora. Aquilo servia basicamente para conferir se eu era uma pessoa normal e se realmente queria a vaga.
A entrevista por telefone durou quarenta e cinco minutos. Peguei componentes conectados com DFS, terminei em uns vinte, e minha entrevistadora passou o restante me ajudando a procurar casos extremos. Em certo momento, ela literalmente falou: "talvez seja bom verificar uma entrada vazia".
Quase caí da cadeira. Ninguém entrega dica alguma no Google. Pelo menos, nunca entregaram para mim por lá.
No Airbnb, eles foram me dando pequenos empurrões o tempo todo. Desenhavam comigo no quadro branco e, durante o system design, meu entrevistador ficou ao meu lado, também fazendo esboços no quadro. A dinâmica toda lembrava pair programming. Foi uma experiência de programação muito diferente da que tive no Google e o motivo, no fim, era bem simples: os entrevistadores conversavam comigo de verdade.
Só para resumir o dia da rodada final, foram duas entrevistas de programação e uma de system design. Na primeira, caiu soma de caminhos em árvore binária, com restrição de profundidade. Era uma questão que dava para encarar. Lembro de ter saído dela me sentindo bem.
Já a segunda era sobre juntar intervalos em janelas de reserva sobrepostas. Eles apresentaram o problema como reservas de hóspedes entrando em conflito, parecia uma coisa tirada do código de produção. A dificuldade ia de média para difícil e quase faltou tempo, embora eu tenha conseguido terminar. Dos quarenta e cinco minutos, passei os dez últimos suando.
Depois, minha ex-colega contou que eles faziam isso sempre. Os problemas chegavam com a cara do Airbnb, falando de bookings, listings, janelas de disponibilidade, reservas. Mas era só tirar essa roupa e apareciam as árvores e os arrays, os grafos, os intervalos que eu já vinha praticando fazia tempo. Pelo menos nas minhas rodadas, não vi nada exótico.
No system design, recebi este enunciado: "construa um sistema de reservas e anúncios". Minha entrevistadora ia acrescentando um caso depois do outro. Para começar, o que aconteceria se dois hóspedes reservassem o mesmo anúncio exatamente no mesmo segundo? Depois, um anfitrião sumia no meio da reserva. Vieram ainda os preços que mudavam de acordo com a semana e a estação do ano. A partir daí eu já não sabia quantos cenários tinham sido, mas ela continuava.
Eu tinha estudado pelos vídeos comuns do YouTube sobre reserva de hotéis. Aquilo cobriu talvez quarenta por cento do que ela perguntou. Todo o restante pertencia ao domínio do Airbnb e, nessas horas, eu me virava inventando a resposta ali mesmo.
Ready to ace your next interview?
InterviewMan gives you real-time AI answers during live interviews — undetectable on Zoom, Meet, and Teams.
Try InterviewMan FreeUma preparação genérica, dessas de "projete o Twitter", não aguenta aquela sala. E sei onde ela deixa de funcionar. Você precisa tratar a concorrência que pode gerar uma reserva duplicada, pensar nas máquinas de estado de anfitriões e hóspedes, nos preços dinâmicos. Ainda entram o ranking de busca e os calendários de disponibilidade em escala. Nos vídeos que eu assistia, ninguém no YouTube falava de nada disso.
Na segunda tentativa, conduzi essa rodada de outro jeito. Repeti o objetivo com minhas palavras, fiz perguntas para reduzir o escopo, propus números razoáveis por conta própria, comecei num nível bem alto e só então aprofundei o que parecia despertar mais interesse nela. A questão da reserva duplicada foi o ponto em que ela mais insistiu nas duas vezes. Na segunda passagem, system design virou minha parte favorita do dia inteiro. É estranho pensar nisso, porque foi justamente a rodada em que fui mal na primeira vez. E fui muito mal mesmo.
Até o almoço só é "não avaliado" entre muitas aspas. Em um thread no r/cscareerquestions, alguém contou que a pessoa que o acompanhou no almoço comentou algo sobre ele durante a avaliação final. Então, comporte-se como gente durante o dia inteiro.
Meses depois, voltei para a segunda tentativa. Dessa vez, usei o InterviewMan ao longo de todo o processo. A diferença entre as duas experiências foi o que me convenceu a trabalhar em tempo integral na construção de uma solução para esse problema.
A rodada de cultura começou, e a ferramenta já havia encontrado uma história sobre pertencimento em uma conversa anterior que tive com ela. Isso aconteceu antes mesmo de eu perceber o que a entrevistadora queria extrair da pergunta. Minha rejeição inteira tinha acontecido por causa de pertencimento. Na programação, a abordagem com DFS apareceu segundos depois de o problema surgir. No system design, ela sinalizou imediatamente a concorrência em reservas duplicadas, o mesmo ângulo em que minha entrevistadora mais havia insistido na tentativa anterior.
Testamos a visibilidade no Dock, a lista de processos e o Activity Monitor, tanto no HackerRank quanto no Zoom. Nada apareceu. Custa doze dólares por mês no plano anual, cinquenta e sete mil pessoas usam a ferramenta, há mais de vinte recursos de stealth e não existe limite de sessões. O Interview Coder cobra duzentos e noventa e nove por mês e só cobre programação. Aqui, programação representa duas de cinco rodadas, justamente as duas que menos importam no Airbnb.
Minha ex-colega tinha razão em absolutamente tudo. As histórias de cultura decidem seu resultado nessa empresa. Histórias reais, com nomes e momentos que você viveu de verdade.
Lembro de contar a ela sobre a rejeição. Ela ficou uns cinco segundos sem dizer nada, o que interpretei como "eu literalmente avisei você". E ela teria todo o direito de falar isso em voz alta.
Depois, praticamente parei de repetir essa história. Não queria percorrer tudo de novo e, sinceramente, não tinha vontade. Eu só estava furioso comigo mesmo por ter aparecido com doze histórias impecáveis e nenhuma sobre pertencimento, depois de ela ter dito com todas as letras qual rodada era importante. Aprendi do jeito caro.
Ready to Ace Your Next Interview?
Join 57,000+ professionals using InterviewMan to get real-time AI assistance during their interviews.

