Numa das minhas primeiras telas técnicas, o entrevistador abriu um problema de grafo. Eu não vi que era grafo. Passei 40 minutos em força bruta e saí da call já sabendo o resultado. Anotei no caderno: "estudar por padrão, não por problema". Foi assim que cheguei no NeetCode 150, a lista que usei nas mais de 100 entrevistas seguintes e que recomendo pra qualquer dev treinando LeetCode para entrevista.
Por que 150 problemas e não o LeetCode inteiro
O LeetCode tem mais de 3.000 problemas. Ninguém resolve isso. E ninguém precisa: entrevista cobra um conjunto pequeno de padrões (hash map, two pointers, sliding window, BFS/DFS e mais alguns). Problemas diferentes, mesmo esqueleto.
O NeetCode 150 é curadoria: 150 problemas escolhidos pra cobrir os padrões que caem, organizados em trilha. Resolver 150 com entendimento vale mais que 600 no modo aleatório. Eu testei os dois jeitos. O aleatório me deu volume e ansiedade. A trilha me deu reconhecimento: bater o olho no enunciado e pensar "isso é sliding window" em 30 segundos.
É isso que a entrevista mede. Não é decoreba de solução. É reconhecimento de padrão sob pressão.
A ordem importa mais que a dificuldade
O erro comum é filtrar por "easy" e resolver qualquer easy. A ordem certa é por padrão, porque um se apoia no outro: arrays e hashing, depois two pointers, sliding window, stack, binary search, linked list, árvores, heap, backtracking, grafos e, por último, programação dinâmica.
Two pointers assume que você domina arrays. Grafo assume árvore. DP assume backtracking. Pular etapa é o que faz um problema parecer "impossível". Ele não é difícil. Ele depende de um padrão que você ainda não consolidou.
Os 4 níveis do NeetCode 150
Eu organizo os 150 em 4 níveis e só avanço quando o anterior está sólido:
- Nível 1, fundamentos: arrays, hashing, two pointers. É o que cai nas triagens técnicas. Sem isso firme, nada em cima para em pé.
- Nível 2, estruturas: sliding window, stack, binary search, linked list. O grosso das telas técnicas de pleno.
- Nível 3, recursão e árvores: trees, heap, backtracking. Onde se separa quem treinou de quem só revisou.
- Nível 4, avançado: grafos e programação dinâmica. Caem menos. Quando caem, decidem a vaga.
"Sólido" tem definição: resolver um problema novo daquele padrão, sem dica, explicando em voz alta, dentro do tempo. Se precisou olhar a solução, o nível ainda não acabou.
LeetCode para entrevista: 3 a 4 por semana, em voz alta
Meu método, depois de muito erro:
- 3 a 4 problemas por semana. Parece pouco. É sustentável, e constância bate maratona. Quem faz 20 num fim de semana e zero nas duas semanas seguintes esquece tudo.
- Timer de 35 minutos. É o tempo real de uma tela técnica. Acabou, para e estuda a solução. Sofrer 3 horas num problema não é treino.
- Em voz alta, em inglês. Do enunciado à complexidade. "I'll use a hash map to store seen values, that gives us O(n) time." Soa ridículo sozinho no quarto. É exatamente o que a call cobra, e a primeira vez não pode ser na entrevista.
- Errou, anota e reagenda. Problema que travou volta em 7 dias. Travou de novo, volta em mais 7. Repetição espaçada funciona pra código igual funciona pra flashcard.
O que o entrevistador avalia além da resposta
Eu já passei em tela técnica com solução incompleta e já reprovei com solução certa. O que eles olham:
- Perguntas antes do código. Tamanho do input, edge cases, formato do retorno. Quem sai codando sem perguntar levanta red flag sobre como trabalha no dia a dia.
- Raciocínio audível. O entrevistador só avalia o que ouve. Solução certa em silêncio não demonstra nada.
- Reação a dica. Dica é teste disfarçado. Eles querem ver se você incorpora feedback rápido ou se trava defendendo a primeira ideia.
- Trade-offs e complexidade. Dizer "dá pra fazer com sort em O(n log n), mas com hash map fica O(n) gastando memória" vale mais que implementação perfeita e muda.
A tela técnica é uma amostra de como é trabalhar com você. Treina ela como comunicação, não só como algoritmo. E ela é só uma das etapas: escrevi sobre as 5 etapas da entrevista em inglês e o que cada uma cobra.
Começa hoje: dois problemas de arrays e hashing, timer ligado, falando em voz alta em inglês. O desconforto da primeira vez é o sinal de que era isso que estava faltando.
No VagaGringa os 150 do NeetCode já estão organizados nesses 4 níveis com meta semanal de reps, junto com 148 flashcards e simulados cronometrados, por R$ 19,90 vitalício e 7 dias de garantia.
Conhecer o VagaGringa · R$ 19,90 vitalício