27 de Fevereiro de 2026
Mock senior full stack interview: simulação com avaliação e resposta melhorada
Uma simulação completa de entrevista senior full stack com prompt, resposta inicial, follow-ups, avaliação e uma versão melhorada da resposta.
Andrews Ribeiro
Founder & Engineer
6 min Intermediario Pensamento
O problema
Muita preparação de entrevista ainda acontece em pedaços:
- pergunta isolada
- resposta curta
- dica solta
Isso ajuda.
Mas não simula bem o que realmente decide o round.
Em entrevista senior full stack, o problema costuma vir misturado:
- entendimento de produto
- decisão de frontend
- decisão de API
- noção de dados
- risco operacional
- comunicação sob follow-up
Por isso, mock bom precisa parecer conversa real.
Como usar este mock
O melhor uso é este:
- leia só o prompt
- responda em voz alta por 10 a 15 minutos
- pare antes da avaliação
- compare sua resposta com a leitura crítica do guia
- regrave uma versão melhorada
Não use como texto para decorar.
Use como espelho.
Prompt
Você está desenhando uma feature para um produto SaaS B2B. Um gerente quer uma tela de pedidos para o time de operações. Essa tela precisa listar pedidos, permitir filtro por status, busca por cliente, paginação e atualização de status. O volume é moderado hoje, mas tende a crescer. Como você pensaria a solução de ponta a ponta?
Resposta inicial do candidato
Eu começaria criando uma tela com tabela paginada, filtros e busca. No backend, faria um endpoint para listar pedidos com filtros por query string e outro para atualizar status. No banco, eu teria uma tabela de pedidos com índice por status e talvez por cliente. No frontend, eu buscaria os dados conforme os filtros mudassem e atualizaria a lista depois da mudança de status. Se o volume crescer muito, eu pensaria em cache.
O que essa resposta tem de bom
- não viajou em arquitetura cedo demais
- já percebeu que existem dois fluxos principais
- mostrou noção básica de frontend, API e banco
Onde ela ainda perde força
- escopo ainda está genérico demais
- não separou fluxo principal de nice-to-have
- não falou de consistência nem de experiência de atualização
- “se crescer muito eu pensaria em cache” é frase vaga demais
Até aqui, a resposta não está ruim.
Mas ainda não parece claramente senior.
Follow-up 1
Pergunta do entrevistador:
O que você precisaria alinhar antes de desenhar mais?
Resposta comum, mas fraca:
Eu alinharia melhor os requisitos com o PM.
Resposta melhor:
Eu alinharia três pontos que mudam o desenho. Primeiro, se a busca por cliente precisa ser substring livre ou só filtro por campo exato. Segundo, se atualização de status exige regra de transição ou auditoria. Terceiro, se essa tela precisa parecer quase real time para vários operadores ao mesmo tempo ou se refresh sob ação já resolve. Essas três respostas mudam tanto API quanto persistência e UX.
Aqui o sinal melhora porque:
- você saiu do genérico
- mostrou quais perguntas realmente mudam o desenho
- conectou requisito a impacto técnico
Follow-up 2
Pergunta do entrevistador:
Como você evitaria uma experiência ruim quando dois operadores tentam mudar o mesmo pedido ao mesmo tempo?
Resposta apressada:
Eu colocaria lock.
Resposta mais forte:
Antes de pensar em lock, eu tentaria entender o modelo de conflito que o produto tolera. Se o risco principal é sobrescrever status sem perceber, eu já pensaria em versão do registro ou
updated_atna atualização para detectar conflito e devolver erro tratável pelo cliente. Se existir regra crítica de transição, a validação precisa acontecer no backend, não só na interface. No frontend, eu mostraria falha explícita e recarregaria o estado do pedido quando a atualização fosse rejeitada por concorrência.
Aqui aparecem:
- leitura de regra de negócio
- noção de backend como fonte de verdade
- tratamento de UX
- escolha mais calibrada do que “lock em tudo”
Follow-up 3
Pergunta do entrevistador:
Onde você acha que esse sistema vai doer primeiro quando o uso crescer?
Resposta rasa:
Provavelmente no banco.
Resposta melhor:
Meu primeiro suspeito seria a leitura da listagem quando busca, filtro e paginação começarem a combinar campos demais sem índice adequado. Se o time também pedir ordenação flexível e busca parcial por cliente, eu olharia cedo para plano de query e estratégia de indexação. Outra dor provável é atualização de status com auditoria e consistência de lista na UI, porque aí o problema deixa de ser só throughput e passa a ser coerência da experiência para operadores diferentes.
Avaliação do entrevistador
Se o candidato ficasse só na resposta inicial, a leitura provável seria:
- boa base
- ainda genérico
- talvez pleno forte, não necessariamente senior claro
Quando ele melhora nos follow-ups, o sinal muda para:
- consegue enquadrar requisito
- enxerga risco de concorrência
- pensa backend e frontend juntos
- sabe onde o sistema tende a doer
Ou seja:
o round sobe menos pelo diagrama e mais pela qualidade do recorte.
Resposta melhorada
Se eu fosse condensar uma resposta mais forte desde o começo, ela soaria perto disto:
Eu começaria delimitando o que essa tela realmente precisa fazer no primeiro corte: listar pedidos, filtrar por status, buscar cliente, paginar e atualizar status com segurança. Antes de abrir solução, eu confirmaria três pontos que mudam o desenho: tipo de busca, regra de transição de status e necessidade ou não de atualização quase em tempo real. Com isso definido, eu separaria dois fluxos principais: leitura da listagem e mutação de status. Na API, eu esperaria um endpoint de listagem com filtros explícitos e paginação estável e um endpoint de atualização que valide transição no backend e registre auditoria se isso importar para operação. No banco, eu partiria de modelagem simples, mas já com atenção a índice em status, data e talvez chave de cliente conforme o padrão de busca. No frontend, eu deixaria filtro e paginação como estado controlado, manteria feedback claro de loading e erro e trataria conflito de atualização com resposta explícita, não com otimismo cego. Se você quiser, eu aprofundo agora em concorrência na mudança de status ou em performance da listagem.
Por que essa versão sobe o nível
- abre pelo escopo
- faz perguntas que realmente mudam a solução
- separa leitura e mutação
- conecta UX, API e dados
- oferece um deep dive plausível
Ela não parece perfeita.
Parece bem dirigida.
E isso é o que mais importa nesse tipo de round.
O que tornararia essa resposta ainda melhor
Se o entrevistador empurrar mais, ainda daria para aprofundar:
- estratégia de paginação por cursor vs offset
- modelo de auditoria
- política de cache ou não-cache
- autorização por papel
- observabilidade de erro operacional
Mas note:
isso vem depois.
Primeiro vem estrutura.
Erros comuns nesse formato
- sair desenhando tabela e endpoint sem alinhar requisito
- falar de escala cedo demais
- esquecer concorrência em ação de status
- tratar busca como detalhe, quando ela muda bastante a solução
- responder follow-up como defesa, não como ajuste de desenho
Ângulo de entrevista
Esse mock é bom porque parece simples, mas cobre bastante coisa de senior full stack:
- produto
- frontend state
- API design
- banco
- concorrência
- comunicação
Se você treinar bem um round desses, treina junto uma parte grande do que aparece em entrevistas modernas.
Resumo rápido
O que vale manter na cabeça
- Mock útil não é só pergunta e resposta; é follow-up, avaliação e reescrita da resposta.
- Em round senior full stack, o entrevistador observa recorte, trade-off, risco e clareza, não só implementação.
- Resposta inicial boa já define escopo, fluxo principal e o que fica fora antes de abrir tecnologia.
- Versão melhorada quase sempre organiza melhor prioridade e explicita mais critério.
Checklist de pratica
Use isto ao responder
- Consigo usar este mock como round cronometrado, falando em voz alta do começo ao fim?
- Sei identificar onde a resposta inicial perdeu força de sinal?
- Consigo produzir minha própria versão melhorada antes de ler a proposta do guia?
- Estou treinando follow-up e ajuste de rota, não só resposta inicial?
Você concluiu este artigo
Compartilhar esta página
Copie o link manualmente no campo abaixo.