Pergunta de entrevista para Desenvolvedor React

Me explique como você construiria um formulário de múltiplas etapas com validação e possibilidade de retomar.

O que o entrevistador está avaliando, como estruturar sua resposta e um exemplo falado que você pode adaptar.

Resposta rápida

Mantenha um schema só para o formulário inteiro e valide cada etapa contra a fatia dela, para que as mesmas regras rodem no cliente e de novo no servidor. Guarde as respostas em um único objeto acima das etapas, controle a etapa atual pela URL para que voltar e avançar funcionem, e persista o progresso a cada troca de etapa. Valide no blur e no submit, e nunca confie na validação do cliente como único portão.

Por que os entrevistadores perguntam isso

Formulários de múltiplas etapas trazem à tona várias decisões de design de uma vez: onde fica o estado, roteamento, estratégia de validação, persistência e acessibilidade. O entrevistador quer ver que você pensa no usuário apertando o botão voltar do navegador, dando refresh no meio, e batendo num erro de validação do servidor na última etapa. Respostas fracas mantêm tudo num useState gigante e esquecem a URL por completo.

Como estruturar sua resposta

  • Defina um schema único e derive dele a validação por etapa.
  • Diga onde as respostas moram e por quê.
  • Coloque a etapa na URL e explique o que isso resolve.
  • Cubra persistência, validação no servidor e tratamento de erro no submit.

Exemplo de resposta

Exemplo falado, em primeira pessoa

Eu começo com um schema único para a coisa toda, e aí cada etapa valida a fatia dela. Assim existe uma definição só do que é válido, e eu posso rodar exatamente o mesmo schema no servidor, porque validação no cliente é conveniência e não garantia. As respostas coletadas vivem num objeto só num pai, ou numa store pequena se as etapas estiverem distantes na árvore, e cada etapa recebe a fatia dela e um jeito de escrever de volta. A etapa atual vai na URL, o que parece detalhe mas resolve várias coisas de uma vez: voltar e avançar funcionam, alguém pode dar refresh sem perder o lugar, e o suporte pode perguntar em qual URL a pessoa está. Eu persisto o rascunho a cada transição de etapa, normalmente no servidor se o usuário estiver logado e no storage se não estiver. A validação roda no blur e de novo no avançar, e no submit final eu trato os erros do servidor mapeando os caminhos dos campos de volta para a etapa certa e levando o usuário até lá com o foco no input problemático.

Vai encarar essa entrevista em breve? O GhostPilot escuta a sua chamada ao vivo, identifica a pergunta no instante em que ela é feita e coloca uma resposta estruturada na sua tela em tempo real. Teste na sua próxima entrevista simulada ou pegue um Session Pass de $29, sem assinatura, para a hora da verdade.

Veja como funciona

Perguntas de acompanhamento que você pode esperar

  • Como você lida com um erro de validação que só o servidor consegue detectar?
  • O que você faz com um usuário que abandona na etapa três e volta uma semana depois?
  • Como você gerencia foco e anúncios entre etapas para leitores de tela?

Mais perguntas para Desenvolvedor React

Seu entrevistador vai fazer a própria versão desta. Cole a descrição real da vaga no Question Predictor gratuito e receba as 20 perguntas que essa vaga tem mais chance de fazer, com o que cada uma está de fato sondando.

Prever minhas perguntas

Ensaie as perguntas difíceis antes que elas apareçam

Pratique com um copiloto ao vivo e depois entre pronto. Um Session Pass de $29 te leva até o fim da entrevista, sem assinatura e sem amarras.

Instalar o GhostPilot