O que se entende por perguntas de coding em entrevistas
São tarefas de programação curtas para medir o raciocínio sob restrições. Não substituem o desempenho no emprego, mas padronizam a comparação entre candidatos. Avaliam especificação, escolha de algoritmo, implementação cuidadosa e explicação de trade-offs.
Dois candidatos com o mesmo número de exercícios podem ter notas diferentes se um comunica pressupostos, trata limites e discute complexidade com clareza.
- Clarifique entradas, saídas e restrições antes de escrever código.
- Exemplos → força bruta → optimização é um processo repetível.
- Prepare-se para follow-ups que alteram o enunciado.
Construir um fluxo fiável de código correcto e explicável com observação activa.
Como as empresas constroem e calibram bancos de perguntas
Grandes tecnológicas mantêm bibliotecas com dificuldade controlada e rubricas. Entrevistadores escolhem perguntas adequadas ao nível e ajustam aprofundamentos. Empresas mais pequenas reutilizam problemas públicos — os mesmos padrões reaparecem com histórias diferentes.
A calibração penaliza soluções decoradas que falham quando muda uma restrição; por isso surgem variantes com fluxos, grades ou contagem disfarçada de DP.
- Loops difíceis acrescentam dimensões: dois ponteiros, estado em BFS, restrições em DP.
- Rubricas comuns: resolução, código, comunicação, ritmo relativo ao nível.
- Sénior ouve mais perguntas de trade-off e extensão.
A biblioteca de padrões que cobre a maior parte das entrevistas
Hashing, dois ponteiros, janela deslizante, prefix sums, pilhas, heaps, BFS/DFS, union-find, ordenação topológica e DP clássica cobrem a maior parte dos casos.
Estudar por padrão reduz a sensação de aleatoriedade quando o enunciado muda.
- Por padrão: canónico, variante difícil, variante armadilha.
- Refazer após pausa; reconhecimento sem escrita é frágil.
- Registe erros recorrentes num diário curto.
Meça cobertura de padrões e qualidade, não apenas volume.
Arrays e cadeias de caracteres: frequência, armadilhas e sinal
Alta frequência porque o problema é fácil de enunciar e rico em follow-ups. Pequenas mudanças alteram a solução óptima. O sinal são invariantes bem explicadas.
- Pergunte por memória, streaming ou quase ordenação.
- Pratique duas versões: segura e depois limpa.
- Estime complexidade com cuidado.
Listas ligadas, pilhas, filas e mapas hash
Testam ponteiros e filas de trabalho adiadas; mapas aparecem para frequência e memoização com justificação de memória.
- Sentinelas simplificam bordas.
- LRU combina lista dupla com mapa.
- Mencione riscos de pilha em recursão profunda.
Árvores, heaps e grafos: quando o DFS faz sentido
Árvores exploram travessias e agregações; grafos acrescentam ciclos e grades implícitas. Heaps servem para “top k” e agendamento.
- BFS para menor caminho sem peso; DFS quando a recursão espelha o problema.
- Grades como grafos 4-vizinhos salvo indicação contrária.
- Casos base explícitos em árvores.
Nomear o grafo costuma destravar BFS/DFS.
Programação dinâmica e algoritmos gulosos: reconhecer, não decorar
DP exige estado mínimo suficiente; greedy exige intuição de escolha local segura e contraexemplos.
- Topo-baixo com memo ou bottom-up compacto.
- Não comprima memória antes de estar correcto.
- Desenhe estados pequenos no papel.
Complexidade, testes e comunicação como multiplicadores
Narrar trade-offs e testar bordas mostra maturidade de revisão de código.
- Ligue optimização ao modelo de carga.
- Saiba complexidade das estruturas da biblioteca.
- Resuma antes de codificar.
Roteiro de 30 / 60 / 90 dias que aguenta a vida real
Quatro semanas focadas em blocos, depois profundidade e mocks semanais; plano longo inclui recuperação e outros formatos se necessário.
- Painel semanal de métricas.
- Dias de revisão espaçada.
- Pressão simulada com frequência.
FAQs, falhas frequentes e próximos passos
Fluência na linguagem importa mais que a escolha; volume não substitui qualidade. Em bloqueio, força bruta primeiro.
- Falha: problema errado por falta de clarificação.
- Falha: código ilegível apesar da ideia.
- Falha: silêncio sobre complexidade.
Combine leitura com sessões cronometradas; use feedback para transferir padrões para a entrevista real.
Key Takeaways
- Processo e comunicação contam tanto como o código.
- Padrões e métricas vencem volume cego.
- Follow-ups exigem flexibilidade.
- Fundamentos clássicos cobrem a maior parte dos loops.
- Planos sustentáveis vencem exaustão.