12 questions to validate the level: Django, Flask/FastAPI APIs, pandas data science, scikit-learn machine learning and polite scraping.
Answer everything, then click Check: your score and explanations will appear.
4.1 · Recall
1. Why is Django called “batteries included”?
Admin, ORM, migrations, auth: everything provided and coherent.
4.3 · Recall
2. What is the core structure of pandas?
The DataFrame: the programmable spreadsheet.
4.4 · Recall
3. What do fit() and predict() do in scikit-learn?
Learn (fit) then predict (predict), evaluate on never-seen data.
4.1 · Application
4. Nabil changes his Vente model (new date field). What to run?
Migrations translate the model into database evolution.
4.2 · Application
5. Nabil's POST /ventes returns 200 after creation. Fix?
Truthful statuses: 201 created, 400 invalid.
4.2 · Application
6. Where does Nabil's interactive documentation on /docs come from?
Hints give auto validation + living documentation.
4.3 · Application
7. Nabil receives an unknown one-million-row CSV. First reflex?
Inspect first, vectorise instead of looping.
4.4 · Application
8. Nabil's model scores 100% on train but 60% in production. Diagnosis?
Without a split, you measure memory — not learning.
4.5 · Application
9. Nabil wants to scrape public prices while staying polite. Conduct?
Allowed, spaced, logged — or abstain.
4.3 · Arbitration
10. Nabil hesitates between GPU deep learning and RandomForest for his clients table. Decision?
Simple baseline first; deep for image/text via pre-trained.
4.5 · Arbitration
11. Nabil's target site forbids collection in its ToS but data is visible. Decision?
Visible is not allowed: ToS, personal data, lawyer.
4.4 · Arbitration
12. Nabil's arrears model penalises a whole neighbourhood. Reflex?
The model learns prejudices: audit + human decider.
What's next?
Score ≥ 80%: move to Level 5 — pro Python (quality, async, Docker, CI/CD) and take your specializations to production.
Score 50-79%: revisit the failed sections (Django 4.1, API 4.2, pandas 4.3, ML 4.4, scraping 4.5), reread the explanations above, then retake the test.
Score < 50%: restart the level from 4.1 coding each model (MVT, API, groupby, baseline, polite scraper), then retry the exam with a fresh head.