Acest repository nu este un simplu set de exerciții de cod, ci o arhitectură de producție completă, decuplată pe straturi logice și testată automat. Proiectul a fost conceput ca un simulator de nivel Enterprise pentru stăpânirea conceptelor avansate de alocare a memoriei, vectorizare hardware și pipeline-uri industriale.
În cadrul modulului de optimizare am rulat un benchmark pe 50 de milioane de înregistrări pentru a măsura impactul alegerii tipurilor de date asupra memoriei RAM:
| Structură / Tip de Date | Spațiu RAM Ocupat | Impact Computațional |
|---|---|---|
| Listă Nativă Python | ~1800.00 MB |
Lentă (Overhead de obiect PyObject, Cache Misses) |
NumPy int64 (Implicit) |
~381.50 MB |
Rapidă (Contiguă, alocare în rafală) |
NumPy int16 (Optimizat) |
95.37 MB |
Ultra-rapidă (SIMD paralel, max Cache Hits) |
Cap. 4 Np&Pd/
│
├── 📂 .vscode/ # Developer Experience (DX) Workspace
│ └── 📄 settings.json # Izolează automat directoarele cache din Explorer
│
├── 📂 s13_s14_numpy/ # STRATUL 1: NumPy Fundamentals & Core Memory
│ ├── 📄 __init__.py
│ └── 📄 teorie_si_exercitii.py # Gestiune Shape, Axe, Strides și nditer in-place
│
├── 📂 s15_algebra_ai/ # STRATUL 2: Algebră Liniară Computațională & AI
│ ├── 📄 __init__.py
│ └── 📄 algebra_si_modele.py # linalg.solve, Dot product, ReLU matricial vectorizat
│
├── 📂 s16_s17_pandas/ # STRATUL 3: Data Wrangling & Enterprise Pipelines
│ ├── 📄 __init__.py
│ └── 📄 manipulare_si_analiza.py# Groupby Complexes, Merges Optimizate, Arhitecturi ETL
│
├── 📂 study/ # STRATUL 4: Laborator de Cercetare & Profiling
│ ├── 📄 numpy_reference.py
│ └── 📄 profile_memory.py # Scriptul de Memory Benchmark (Studiul de caz 50M)
│
├── 📂 tests/ # STRATUL 5: Automatizare, QA & Regresie pe Date
│ ├── 📄 __init__.py
│ └── 📄 test_pipeline.py # Asertări automate cu PyTest (Idempotență & NaN checks)
│
├── 📄 .gitignore # Protecția repository-ului împotriva fișierelor reziduale
├── 📄 GLOSAR.md # Glosar premium de termeni tehnici unificați
├── 📄 INTREBARI_INTERVIU.md # Simulator tehnic cu 40 de întrebări de elită (NTT DATA Checklist)
├── 📄 main.py # Orchestratorul central al sistemului (Main Runner)
└── 📄 MANUAL_NUMPY_PANDAS.md # Manualul teoretic premium consolidat pas-cu-pas
💡 Notă de Arhitectură (Configurarea Workspace-ului
.vscode): Proiectul include o configurare.vscode/settings.jsonoptimizată pentru standardele comerciale. Aceasta aplică o regulă de filtrare vizuală (files.exclude) care maschează automat folderele cache reziduale (__pycache__,.pytest_cache,.ruff_cache) din panoul Explorer. Fișierele sunt generate în continuare în fundal de către interpretor pentru optimizarea execuției, însă izolarea lor din interfața grafică elimină zgomotul vizual din editor și previne comiterea lor accidentală în Git.
Proiectul este structurat ciclic, oferind o corelare directă între conceptele hardware din memorie, implementarea lor în cod curat și validarea automată prin teste:
| Etapă / Fokus | Fișiere de Studiat (Cod + Teorie) | Concepte Cheie de Demonstrat la Interviu |
|---|---|---|
| Etapa 1: Micro-Alocare | s13_s14_numpy/teorie_si_exercitii.pyMANUAL_NUMPY_PANDAS.md (Cap. 1) |
Management RAM, eliminarea overhead-ului PyObject, adresare contiguă, Strides și Cache Lines. |
| Etapa 2: AI Computațional | s15_algebra_ai/algebra_si_modele.pyMANUAL_NUMPY_PANDAS.md (Cap. 2) |
Execuția hardware paralelă a modelelor Deep Learning (Forward Pass, ReLU, BLAS/LAPACK) fără bucle for. |
| Etapa 3: Pandas Wrangling | s16_s17_pandas/manipulare_si_analiza.pyMANUAL_NUMPY_PANDAS.md (Cap. 3) |
Design pattern de Pipeline Funcțional Pur, optimizări Hash Join și prevenirea exploziei de memorie (Memory Explosion). |
| Etapa 4: Simulator & QA | tests/test_pipeline.pyINTREBARI_INTERVIU.md (Toate cele 40 Q) |
Conceptul de Idempotență, testarea regresiei pe date cu pytest, automatizare cu ruff și cele 40 de scenarii de elită. |
[ Hardcore NumPy ] [ Algebră & AI ] [ Enterprise Pandas ]
┌──────────────────┐ ┌────────────────┐ ┌─────────────────────┐
│ int16 / RAM │ │ Linear Solve │ │ Indexare .loc/.iloc│
│ Cache Lines │ ────────> │ Dot Product │ ─────────> │ Groupby & Merges │
│ SIMD / Views │ │ ReLU Matrix │ │ Vectorized .str │
└──────────────────┘ └────────────────┘ └─────────────────────┘
│ │
▼ ▼
┌──────────────────┐ ┌─────────────────────┐
│ study/ │ │ s16_s17_pandas/ │
│ profile_memory │ <── [Măsurare vs Validare Automată] ──> │ pipeline_etl │
└──────────────────┘ └─────────────────────┘
│
▼
┌─────────────────────┐
│ tests/ │
│ pytest / ruff │
└─────────────────────┘
Proiectul folosește uv, cel mai rapid manager de pachete din ecosistemul Python (scris în Rust).
uv syncuv run main.pyuv run pytest -vuv run ruff check .