Mock Technical InterviewSimulador de Vagas Reais
Arena de Entrevistas Técnicas
Treine para os processos seletivos de big techs e unicórnios (Nubank, Mercado Livre, Google, iFood) com cronômetro real e casos de teste ocultos.
30:00
Escolha o Teste Técnico
Nubank
Processador de Transações Financeiras com Idempotência
Alvo:Tempo: O(n)Espaço: O(n)
No Nubank, uma transação não pode ser processada duas vezes devido a re-tentativas de rede (duplicação de requisições).
Implemente a função `processTransactions(transactions, initialBalance)`:
- Cada transação possui: `{ id: string, amount: number }`.
- Se o `id` da transação já foi processado anteriormente, desconsidere a transação duplicada.
- Se o saldo da conta for insuficiente (`balance - amount < 0`), rejeite a transação.
- Retorne um objeto com o saldo final e a lista de IDs de transações aprovadas: `{ finalBalance: number, approvedIds: string[] }`.
Dica da Banca: Utilize um Set para garantir busca de IDs em O(1), mantendo a complexidade total em O(N).
solution.js
3 casos de teste (inclui testes ocultos)