Este repositório foi criado para centralizar meus estudos, treinar lógica de programação, manipulação de DOM Vanilla e consumo de APIs assíncronas focando em processos seletivos de Front-End.
- Dominar os fundamentos do JavaScript Vanilla (ES6+).
- Resolver problemas de estruturas de dados e algoritmos (padrão LeetCode/HackerRank).
- Praticar a comunicação técnica e cenários com mudanças de regras (variações).
- Contador Dinâmico: Manipulação de eventos, gerenciamento de estado independente do input e validação de limites.
- Variações aplicadas: Controle de passos dinâmicos, persistência de dados com
localStorage, formatação visual (padStart) e modo de incremento automático (setInterval/clearInterval).
- Variações aplicadas: Controle de passos dinâmicos, persistência de dados com
- Filtro de Lista em Tempo Real: Filtragem de arrays e manipulação de nós na árvore DOM de forma performática.
- Variações aplicadas: Feedback visual de estado vazio ("No products found"), otimização de performance com Debounce (atraso de 300ms) e realce de termos em negrito usando Expressões Regulares (
RegExp).
- Variações aplicadas: Feedback visual de estado vazio ("No products found"), otimização de performance com Debounce (atraso de 300ms) e realce de termos em negrito usando Expressões Regulares (
- Todo List (Lista de Tarefas): Uso prático de formulários semânticos com suporte nativo ao "Enter" e criação dinâmica de elementos seguros contra vulnerabilidades XSS.
- Variações aplicadas: Gerenciamento de estado complexo (array de objetos), persistência no
localStoragee contadores estatísticos em tempo real (Tarefas concluídas / totais).
- Variações aplicadas: Gerenciamento de estado complexo (array de objetos), persistência no
- Renderização de Cards de Usuários: Uso de
async/await, manipulação de Promises e renderização sob demanda.- Variações aplicadas: Tratamento defensivo de erros HTTP com
response.ok, gerenciamento determinístico de ciclo de vida (Loading State via blocofinally), limites de exibição (slice), interrupção de conexões travadas por estouro de tempo (AbortController Timeout) e botão operacional de "Tentar Novamente" (Retry Mechanism).
- Variações aplicadas: Tratamento defensivo de erros HTTP com
- Two SUm ((O(n))): Otimização de busca linear utilizando Mapas/Objetos de frequência para evitar loops aninhados quadráticos ((O(n^2))).
- Variações aplicadas: Two SUm II para arrays ordenados usando a técnica de Dois Ponteiros ((O(1)) de espaço), busca direta de valores reais usando ES6 Sets e extração de múltiplos pares válidos com deduplicação de ponteiros móveis.
- Anagrama Válido: Comparação e contagem linear de caracteres usando dicionários de frequência para evitar ordenações pesadas.
- Variações aplicadas: Anagrama Flexível capaz de tratar sentenças complexas ignorando espaçamentos e diferenças de caixa (case-insensitive) via tratamento com regEx.
- Find the Difference: Desafio focado em encontrar o caractere adicional entre duas strings.
- Variações aplicadas: Resolução matemática ultraotimizada por acúmulo e subtração de códigos ASCII ((O(1)) de espaço), resolução genérica para múltiplas letras extras usando mapas de frequência e mapeamento combinando caractere e índice posicional real via
.indexOf().
- Variações aplicadas: Resolução matemática ultraotimizada por acúmulo e subtração de códigos ASCII ((O(1)) de espaço), resolução genérica para múltiplas letras extras usando mapas de frequência e mapeamento combinando caractere e índice posicional real via
- Palíndromo Válido: Validação de strings invertidas em tempo de execução linear ((O(n))) e memória constante ((O(1))) usando ponteiros convergentes.
- FizzBuzz: Sequência lógica tradicional com tratamento de precedência de operações artméticas condicionais (múltiplos comuns).
💡 "Pensar em voz alta e entender os fundamentos vale mais do que apenas fazer o código funcionar."