DevQuestPROEstudos de Código
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)