Practică abilități prin provocări și exerciții structurate
Scrie o funcție care verifică dacă un număr este par sau impar.
Calculează suma tuturor elementelor dintr-un array de numere.
Inversează un șir de caractere fără a folosi metoda reverse().
Printează numerele de la 1 la 100. Pentru multiplii de 3 printează "Fizz", pentru 5 "Buzz", pentru ambii "FizzBuzz".
Găsește cel mai mare număr dintr-un array.
Numără câte vocale conține un string.
Verifică dacă un string este palindrom (se citește la fel de la stânga la dreapta și invers).
Elimină duplicatele dintr-un array și returnează array-ul cu elemente unice.
Transformă un array multidimensional într-unul unidimensional.
Verifică dacă două stringuri sunt anagrame (conțin aceleași litere).
Creează o copie profundă a unui obiect (inclusiv obiecte nested).
Implementează o funcție debounce pentru a limita execuția unei funcții.
Implementează propria versiune a metodei Promise.all().
Creează o clasă EventEmitter cu metode on, off, emit.
Implementează un algoritm simplu de diff pentru Virtual DOM.
Calculează factorialul unui număr (recursiv și iterativ).
Generează primele n numere din seria Fibonacci.
Verifică dacă un număr este prim.
Creează o listă cu pătratele numerelor de la 1 la 10 folosind list comprehension.
Numără de câte ori apare fiecare cuvânt într-un text.
Citește un fișier și numără liniile, cuvintele și caracterele.
Parsează un fișier CSV și calculează statistici (medie, max, min).
Extrage titlurile articolelor de pe o pagină de știri.
Creează un client pentru o API publică (ex: OpenWeatherMap).
Implementează o ierarhie de clase pentru un system de animale.
Implementează algoritmul Binary Search pentru căutare într-un array sortat.
Implementează algoritmul Merge Sort pentru sortare.
Implementează algoritmul Quick Sort cu pivot selection.
Implementează o structură de date Stack cu operațiile push, pop, peek.
Implementează o structură de date Queue cu enqueue și dequeue.
Creează o clasă LinkedList cu metodele insert, delete, search.
Implementează un Binary Search Tree cu insert, delete, search.
Creează un meniu de navigare responsive cu hamburger menu pentru mobile.
Construiește o galerie foto responsivă folosind CSS Grid.
Implementează validare client-side pentru un formular de contact.
Creează un component modal reutilizabil cu animații.
Înainte de a codifica, asigură-te că înțelegi complet cerințele. Schițează soluția pe hârtie.
Folosește nume descriptive pentru variabile, indentare corectă și comentarii unde e necesar.
Nu testa doar cazurile normale. Verifică și situațiile extreme: array gol, null, valori mari.
Consistența e cheia. Rezolvă câteva exerciții zilnic pentru a-ți consolida cunoștințele.