Demonstração: Fábrica de desafios técnicos de contratação, com defesa ao vivo e decisão humana

Simulação da ferramenta com dados fictícios. As telas mostram as notas do cofre e a saída da linha de comando, que é como a ferramenta é usada. Nenhum candidato real foi avaliado com ela até setembro de 2026. A interface do produto é em português.

banca-técnica · cofre e terminal

demonstração com dados fictícios
Telas da demonstração

desafios / catalogo.md

gerado por scripts/catalogo.mjs em 17/09/2026 14:05 · não editar à mão

Catálogo de desafios

  • 88 cargos (22 trilhas × 4 níveis)
  • 5 desafios
  • 1 pronto-para-publicar
  • 4 rascunho
  • 0 publicados

Cobertura por trilha e nível

Matriz de 22 trilhas por 4 níveis, com o status de cada desafio
trilhaEstágioJúniorPlenoSênior
T01 Frontend————
T02 Backend——pronto-para-publicarX04—
T03 Full-stack————
T04 Mobile————
T05 DevOps——rascunhoX05—
T06 Engenharia de Dados————
T07 SuporterascunhoX01———
T08 QA—rascunhoX02——
T09 Análise de Dados————
T10 Infraestrutura e Redes————
T11 Banco de Dados————
T12 Segurança Defensiva————
T13 AppSec———rascunhoX07
T14 Arquitetura de Software————
T15 Engenharia de ML————
T16 Product Design—planejado——
T17 Gestão de Produto————
T18 CRM e Automação————
T19 Web e SEO Técnico————
T20 Integrações e Pagamentos————
T21 Governança e LGPD————
T22 Liderança Técnica————

planejadorascunhorevisadoblindadopronto-para-publicarpublicadoaposentado

Desafios

idtítulocargostatusduraçãoremuneradoatualizado
T02-P-X04Pedido que sai duas vezesBackend · Plenopronto-para-publicar300 min240 + 60não17/09/2026
T08-J-X02Cupom que não expiraQA · Júniorrascunho225 min180 + 45não16/09/2026
T13-S-X07Sessão que sobrevive ao logoutAppSec · Sêniorrascunho330 min270 + 60sim16/09/2026
T07-E-X01Senha que não entraSuporte · Estágiorascunho105 min60 + 45não15/09/2026
T05-P-X05Deploy que não voltaDevOps · Plenorascunho300 min240 + 60não15/09/2026

Duração = take-home + defesa ao vivo. Acima de 4 h de trabalho assíncrono, o desafio é remunerado. T16 · Júnior está planejado e ainda não tem ficha.

desafios / T02-P-X04-pedido-em-dobro / ficha.md

id
T02-P-X04
trilha
T02 · Backend
nível
Pleno
cargo
Pessoa desenvolvedora backend plena
empresa que assina
Brisa Tecnologia (fictícia)
superfície
Brisa Mercado Online, varejo
competências
idempotência · concorrência · testes · observabilidade
duração
300 min: take-home de 240 + defesa ao vivo de 60
status
pronto-para-publicar
atualizado
17/09/2026

Pedido que sai duas vezes

tese

Garantir que um pedido pago não seja despachado duas vezes quando o aviso do provedor de pagamento chega repetido.

Mecanismos anti-IA 10 de 12 · mínimo em pleno: 9

  • M1contexto proprietário
  • M2armadilha plausível
  • M3ambiguidade intencional
  • M4restrições não padrãofora
  • M5diário de decisões
  • M6revelação em etapas
  • M7explique esta linha
  • M8falha injetada
  • M9PR plantado
  • M10testes ocultos
  • M11estimativafora
  • M12quando não

Portões

portãoetapastatusdataevidência
G0ficha e planoaprovado14/09ficha.md
G1contextoaprovado14/09contexto.md
G2designaprovado14/09design.md, ciclo 2
G3artefatosaprovado14/09candidato/ e banca/
G4ablindagemaprovado16/09banca/blindagem.md
G4bcandidato simuladoaprovado16/09Pleno ≈ 3h50, nota típica 3
G4cequidadeaprovado com condição16/09condição: H3
G4dconfidencialidadeaprovado17/09guardião: 0 achados
G4ecrítico finalaprovado17/09critica-final.md
G5publicaçãoaguardando H1—decisão de uma pessoa

Quem cria não aprova: as revisões G4 recebem o pacote pronto, sem o raciocínio de quem criou.

Histórico de ciclos

cicloquandoresultadomotivomudanças
111 a 12/09voltou do G4a para o G2Um modelo resolveu só com a entrega: o nome de um anexo entregava a armadilha.anexos com nome neutro, revelação em etapas e falha injetada na defesa
214 a 17/09G4 aprovadoNenhum resultado vulnerável e um parcial coberto pela falha injetada.peso ao vivo em 50% e autoria (D8) como eliminatória

Pendências humanas 3 abertas

#pendênciabloqueiaresponsável
H1Canal de contato monitorado para dúvidas do candidatopublicação e envioRecrutamento
H2Rodar o kit inicial em Linux e macOSnada (recomendado)Engenharia
H3Prazo mínimo de entrega no conviteenvioRecrutamento

desafios / T02-P-X04-pedido-em-dobro / banca / blindagem.mdconfidencial · só a banca

Blindagem · ciclo 2

barreira de privacidade

Só o material do candidato foi enviado, com nomes de arquivo neutros. Gabarito, rubrica, testes ocultos e entregas identificadas nunca saem para um modelo externo.

modeloduraçãocaiu na armadilhainvariantes violadossustenta a defesasó entregaentrega + defesaveredito
Modelo Acom execução de código38 minnão2/11não3,42,3PARCIAL
Modelo Bconversa22 minsim5/11não2,61,9RESISTENTE
Modelo Cconversa31 minnão3/11parcial3,12,2RESISTENTE
Modelo Dlocal12 minsim7/11não1,81,4RESISTENTE
nota por modelo, de 0 a 4só entregaentrega + defesafaixa de recomendar: 2,8

alerta automático · conferido

Nota só com a entrega acima de 3,0 (modelos A e C): o peso ao vivo fica em pelo menos 50% e a autoria (D8) vira eliminatória.

nota final = 40% × menor(entrega, defesa) + 60% × defesa

Brechas e recomendações

  1. Brecha 1. O teste público cobria o aviso repetido em sequência; dois modelos passaram por ele sem tratar a entrega fora de ordem.

    → Levar a entrega fora de ordem para os testes ocultos e para a falha injetada. Aplicado.

  2. Brecha 2. O diagrama de sequência chamava um passo de "deduplicar".

    → Trocar o rótulo por "confirmar pagamento" e deixar a decisão com o candidato. Aplicado.

G4a · APROVADONenhum VULNERÁVEL e um PARCIAL, coberto pela falha injetada na defesa.

Regra de publicação: nenhum VULNERÁVEL e no máximo um PARCIAL coberto pela parte ao vivo.

terminal · ~/banca-tecnica

node scripts/empacotar.mjs T02-P-X04

empacotar · T02-P-X04 · pedido-em-dobro

  1. [1/4] copia só a pasta do candidato11 arquivos
  2. [2/4] guardião de confidencialidade na cópia
  3. segredos0
  4. dados pessoais0
  5. trechos da banca no pacote0
  6. [3/4] placeholders de publicação2
  7. convite.md:12 {{CANAL_DE_CONTATO}}H1
  8. convite.md:19 {{PRAZO_MINIMO_DIAS}}H3
  9. [4/4] zip com código neutronão gerado

✗ bloqueado: resolva H1 e H3 e rode de novo. Nada foi enviado.

node scripts/status.mjs

  • T02-P-X04G5 aguarda H1
  • T08-J-X02rascunho, G3
  • T13-S-X07rascunho, G2
  • T05-P-X05rascunho, G2
  • T07-E-X01rascunho, G1

G0 a G5 por desafio · 0 publicados · 0 avaliações

T02-P-X04 / candidato / aviso-e-termo.md enviar antes do aceite

Antes de aceitar

Este é o aviso que a pessoa candidata recebe antes de decidir participar. O enunciado e o kit só vão depois do aceite.

o desafio
Take-home de até 240 minutos e uma conversa técnica ao vivo de 60 minutos com duas pessoas da banca.
remuneração
Até 4 horas de trabalho assíncrono, o desafio não é pago. Acima disso, ele é remunerado: nada de trabalho grátis.
uso de IA
Pode usar no take-home. Anote no diário de decisões onde usou e o que conferiu. Na conversa ao vivo não há IA, e a documentação fica liberada.
acessibilidade
Precisa de mais tempo, de pausa ou de outro formato? Peça a qualquer momento: o pedido não entra na avaliação. Nenhum hardware ou software pago é necessário.
seus dados
Antes de qualquer leitura, a entrega recebe um código, como CAND-2026-0001, e o seu nome sai dos arquivos, inclusive dos metadados de autor do git. A tabela que liga código e nome fica fora do repositório.
por quanto tempo
6 meses depois do fim do processo, ou 12 se você autorizar o banco de talentos. Depois disso, tudo é apagado por script.
quem decide
Uma pessoa. A banca escreve um parecer que apoia a decisão, e você recebe uma devolutiva.
critérios
Idade, gênero, raça, religião, deficiência, estado civil, gravidez ou origem nunca são critério (Lei 9.029/95).

desafios / T02-P-X04-pedido-em-dobro / banca / roteiro-defesa.mdconfidencial · só a banca

exemplo preenchido

Registro com um candidato fictício, para mostrar o modelo. Nenhum candidato real passou por esta banca.

Defesa ao vivo · Pleno · 60 min

bloco atual falha injetada · minuto 40 a 50 · D4 verificação

A banca injeta avisos duplicados em paralelo no ambiente da entrega. Até duas dicas, cada uma registrada.

  1. O quêO que acontece agora que o provedor reenviou o aviso 40 segundos depois?
  2. Por quêPor que a chave de idempotência é o id do evento, e não o do pedido?
  3. E seE se o aviso de estorno chegar antes do aviso de pagamento?
  4. Quando nãoQuando essa trava deixa de ser suficiente?
  5. ProvaQue teste mostraria a falha antes da sua correção?

âncoras da resposta

  1. 1Não localiza a falha, mesmo com as duas dicas.
  2. 2Localiza com as duas dicas e corrige o sintoma.
  3. 3Localiza com até uma dica e corrige a causa.
  4. 4Localiza sozinho, corrige a causa e propõe o teste que prova.

dicas usadas 1 de 2

Registro com minutagem CAND-2026-0001

minpergunta ou eventoresumo fiel da respostadimensão
00aberturaScript de abertura lido. Nenhum pedido de acomodação.—
04tour pela entregaComeçou pelo diário: registrar o evento antes de despachar.D1
12explique esta linhaExplicou a comparação de versão e o que acontece quando duas gravações colidem.D8
22fundamentosSeparou "pelo menos uma vez" de "exatamente uma vez" com um exemplo próprio.D2
34mudança de requisitoValidou a assinatura do aviso, mas gravou o corpo inteiro no log, com o e-mail do comprador.D5
43falha injetadaAchou a corrida entre avisos paralelos com uma dica e levou a trava para o banco.D4
52PR plantadoApontou o retry sem limite e a falta de teste; pediu mudanças.D3
58perguntas do candidatoPerguntou sobre plantão e sobre como o time revisa código.—

abertura, lida em voz alta: sem IA nesta conversa · documentação liberada · silêncio para pensar é bem-vindo · se precisar de pausa ou de outro formato, é só pedir.

avaliacoes / _exemplo / parecer-CAND-2026-0001.md

exemplo preenchido

Candidato fictício. A ferramenta ainda não avaliou nenhum candidato real.

Parecer · CAND-2026-0001 · T02-P-X04 · Pleno

candidato
CAND-2026-0001 (pseudônimo)
banca
avaliador técnico · avaliadora de segurança
expurgo
31/03/2027 · banco de talentos: sem consentimento
dimensãoneste desafiopesotécnicosegurançafinalfinal × peso
D1 entendimentoler o fluxo de pagamento10%3330,30
D2 fundamentosidempotência e concorrência20%4440,80
D3 qualidadecódigo e revisão do PR15%3330,45
D4 verificaçãotestes e falha injetada15%3330,45
D5 segurança e privacidadeaviso público e logs10%3120,20
D6 operaçãoreprocessamento e alerta10%3330,30
D7 comunicaçãodiário e defesa5%3330,15
D8 autoria e domínioexplique esta linha15%3330,45

3,10

Recomendarnota ponderada · faixa de 2,80 a 3,39

  • ✓ D2 fundamentos ≥ 2
  • ✓ autoria (D8) = 3; com 2 ou menos, não recomenda nem para o nível abaixo
  • ✓ eliminatórias: nenhuma
  • ✓ testes ocultos: 9 de 11 invariantes

divergência · D5

Técnico 3 × segurança 1. Diferença de 2 pontos: discussão obrigatória com evidência nova. Evidência: minuto 34 da defesa, o corpo do aviso com o e-mail do comprador gravado no log. Final: 2.

plano de desenvolvimento
D5: dado pessoal em log. Mascarar e-mail e guardar só o id do evento.
revisão de equidade
Nenhum critério fora da rubrica. Nenhum pedido de acomodação.
devolutiva
Rascunho pronto; vai para o candidato depois da decisão.
decisão humana
pendente gestora da vaga

Este parecer apoia, e não substitui, a decisão de uma pessoa.