cinco rodadas. cinco habilidades completamente diferentes sendo testadas. eu me preparei para talvez um e meio deles. lol. essa é basicamente a história toda, mas deixe-me contá-la corretamente porque ainda estou processando o que aconteceu.
meu amigo Jake trabalha em Stripe. estou lá há dois anos. antes disso, trabalhamos juntos em uma startup em Valência na Missão, quatro de nós amontoados em uma mesa WeWork, onze meses de pista, queimamos seis. empresa morreu. Jake pousou em Stripe e eu saltei. de qualquer maneira, Jake me sentou no Equator Coffee, em SoMa, num sábado. pedi cervejas geladas. sete dólares CADA. para café. ele disse "cara, não faça leetcode para Stripe, eles nem testam isso" e eu balancei a cabeça e disse sim totalmente e então abri o neetcode no SEGUNDO que ele saiu. porque sou um palhaço que não escuta.
então a rodada de integração. foi isso que me quebrou e não estou exagerando nem um pouco. eles abriram os documentos reais da API do Stripe em uma tela compartilhada, me entregaram a base de código incompleta de outra pessoa e disseram para adicionar esse recurso. quarenta e cinco minutos. meu cérebro não travava. estou semicerrando os olhos para as assinaturas de funções. Nunca vi rolar para cima, rolar para baixo, rolar para cima e não absorver nada. zero informação. você conhece aquela sensação de ler a mesma linha quatro vezes? QUE. exceto que um entrevistador está sentado lá anotando todos os erros que cometo. pior sentimento. Certa vez, bombardeei tanto um Google no local que o recrutador me transformou em um fantasma e de alguma forma isso foi pior.
todas as empresas afirmam que testam de forma diferente, certo. Google diz isso. Meta diz isso. todos eles entregam a você uma dificuldade média em CoderPad e seguem em frente. Stripe na verdade significa isso. Jake estava certo. ainda estou irritado com isso, dois meses depois, honestamente.
wait, deixe-me voltar à rodada de bug bash. este precisa de seu próprio parágrafo porque nada, NADA, em seis meses de preparação para a entrevista me preparou para isso. eles entregam a você um arquivo cheio do código de pagamento de outra pessoa e o entrevistador vai "encontrar os bugs". uma hora. aparentemente, bugs reais extraídos de sua base de código real. você já olhou para uma página de Onde está Waldo e seus olhos continuam passando por ele? que. foi exatamente assim que foi ler o código de pagamento com erros. li o mesmo caminho de validação duas vezes e perdi a lacuna nas duas vezes. ambas as vezes! esta não é uma habilidade de algoritmo. habilidade de algoritmo de zero por cento. esta é uma habilidade do tipo "você passou anos lendo código de produção ruim às 2 da manhã porque o PagerDuty disparou e algo está pegando fogo" e para mim? não. Jake ficava me dizendo para pular leetcode e praticar a leitura de código incorreto. InterviewMan sinalizou a lacuna de validação que perdi. embaraçoso que uma ferramenta de doze dólares por mês tenha captado o que meus olhos não conseguiram, mas eu não estava disposto a bombardear a rodada por orgulho.
de volta à integração. JAKE. Jake me avisou mais sobre essa rodada. quarenta minutos que ele passou no Equador examinando isso. quarenta. Eu sentei lá com minha bebida gelada estupidamente cara pensando ok Jake, acalme-se, não pode ser tão diferente de uma rodada normal de codificação. lol. Errado. tão errado que é quase engraçado agora. você acessa um código que nunca viu e precisa enviar algo limpo que corresponda à forma como o desenvolvedor anterior o escreveu. não há algoritmo para isso. procurei no neetcode por "prática de integração stripe" e não obtive nenhum resultado, então isso deve lhe dizer uma coisa. Jake sempre disse que os moedores de algoritmos ficam expostos nesta rodada e sim. expor. foi isso que aconteceu comigo. InterviewMan me apontou o endpoint correto da API antes que eu mesmo o encontrasse, me economizou uns cinco minutos, eu acho? difícil dizer exatamente. se você quiser se preparar para este, basta acessar os documentos da API Stripe com antecedência. não memorizá-los. apenas aprenda o layout. onde está PaymentIntents. onde os webhooks estão documentados. esse tipo de coisa. teria me economizado os mesmos cinco minutos sem precisar de uma ferramenta haha.
rodada de codificação. CoderPad. três peças empilhadas umas sobre as outras. parte um básico, tudo bem, tanto faz. a parte dois adicionou coisas de pagamento e ok, sim, eu realmente tive que pensar nisso. a parte três foi tentar novamente casos extremos de lógica e, cara. AH HOMEM. isso ficou feio rapidamente. aqui está o problema da rodada de codificação de Stripe que me confundiu: o entrevistador se preocupava mais com COMO eu escrevi o código do que se eu o resolvia rápido. ela literalmente observou meus nomes de funções. verifiquei se quebrei as coisas em pedaços legíveis ou apenas coloquei tudo em uma função (posso ter amontoado algumas coisas). tão diferente de Google onde você corre para O(n) e prova a matemática e ninguém no mundo se importa se sua variável é chamada temp2. Jake me disse antes do meu loop "escreva como se seu colega de trabalho mais exigente estivesse revisando seu PR" e cara. MELHOR conselho. o melhor conselho que alguém me deu em qualquer entrevista. InterviewMan tinha a segunda parte mapeada enquanto eu ainda estava terminando a primeira parte, o que me manteve em movimento. Eu poderia ter resolvido isso sozinho? Talvez. mas nesses casos extremos de repetição na parte três, de jeito nenhum chegarei lá sem o tempo que economizei. de jeito nenhum.
projeto do sistema. eles usam Whimsical, que eu realmente gostei porque a maioria dos quadros brancos virtuais parece desenhar com uma barra de sabão molhada haha. limitação de taxa em escala. estado distribuído. dois servidores discordando sobre se um cliente já atingiu seu limite. não o encurtador de URL do YouTube que todos e suas mães praticaram quatrocentas vezes. Jake diz que sua equipe atual discute sobre limitação de taxa em trocações, o que é meio louco de se pensar. eu me sentia bem aqui porque Jake e eu costumávamos fazer quadro branco no Equador duas vezes por semana, quando ele também estava se preparando. desenhamos tantos diagramas em guardanapos que o barista 100% pensou que estávamos planejando um assalto.
comportamental. padrão STAR. compensações entre velocidade e qualidade. se você fez Preparação comportamental Amazon, está bem. nada de estranho aqui.
então aqui está minha conclusão real de tudo isso. cinco rodadas. cinco habilidades completamente diferentes sendo testadas. minha preparação Google cobriu um deles. O comportamento Amazon cobriu outro. ter um plano de preparação para entrevista sólido em todos os tipos de rodadas é a única maneira de lidar com o alcance do Stripe. bug bash, integração e um problema real de design de sistema que não era o mesmo encurtador de URL do YouTube, esses três que eu literalmente nunca pratiquei porque nenhuma outra empresa os testa. lembra daquela lacuna de validação que perdi duas vezes? InterviewMan percebeu. lembra daqueles cinco minutos durante a integração em que não consegui encontrar o endpoint certo? essa é a diferença entre terminar e não terminar porque cada rodada Stripe é executada em um cronômetro. durante a codificação, a parte dois foi mapeada enquanto eu ainda estava na parte um. verifiquei o dock, a lista de processos e a gravação de tela em CoderPad e Zoom. nada visível. doze dólares por mês anualmente. 57.000 usuários. Mais de 20 recursos furtivos. uma ferramenta apenas de codificação de duzentos e noventa e nove por mês cobre talvez um dos cinco tipos de rodadas e essa matemática simplesmente não bate para Stripe.
Jake me disse para pular leetcode e praticar a leitura de código incorreto. eu realmente gostaria de ter ouvido pela primeira vez haha.
Ready to Ace Your Next Interview?
Join 57,000+ professionals using InterviewMan to get real-time AI assistance during their interviews.
