Cenário: o bug some quando você adiciona um log
Pergunta
Um bug intermitente desaparece assim que você adiciona um `console.log` ou roda no debugger. O que isso costuma indicar e como investigar?
Resposta esperada
É quase sempre um problema de timing/concorrência: o log ou o breakpoint muda o escalonamento e mascara a corrida. Suspeitos: uma race condition entre operações assíncronas que dependem de ordem não garantida; acesso a estado compartilhado sem sincronização; uma promessa não aguardada cujo resultado às vezes chega antes, às vezes depois; dependência de ordem de resolução de callbacks. Como investigar: não confie no log que 'conserta' — use logging que não altera timing (buffer em memória, despejar no fim), adicione delays artificiais dos dois lados pra forçar a corrida a acontecer sempre, revise o código em volta procurando dois caminhos que tocam o mesmo dado, e escreva um teste que estressa a concorrência. A correção real é remover a dependência de ordem, não colocar um sleep.
Por que perguntam isso
Cenário sênior ('heisenbug'). Bom candidato reconhece na hora que é concorrência e não tenta 'estabilizar' com sleep. Conecta com o cenário de teste flaky.