Python Developer Professional · Review-проєкт 1
CLI-аудитор колекцій
Створіть portfolio-safe command-line utility, яка приймає підготовлений synthetic dataset, перевіряє shape records, не губить duplicate evidence, будує deterministic summary і має відтворювані tests. Реальні клієнтські дані, акаунти й мережа не потрібні.
Завдання
Оберіть вигаданий domain: черга звернень, каталог книг, інвентар лабораторії або план задач. Dataset має бути синтетичним і містити normal, empty, duplicate, missing-field та invalid-type cases. CLI не повинен збирати персональні дані або звертатися до production services.
Обов’язковий пакет
- Contract: input shape, required/optional fields, allowed values, duplicate й unknown-field policies.
- Core: pure functions для validation, normalization, duplicate detection, indexing і summary.
- CLI shell: import-safe
main(), documented command, exit status і зрозумілий output. - Collections: обґрунтований вибір list/tuple/dict/set; deterministic output; без прихованої mutation caller input.
- Tests: normal, empty, boundary, duplicate, missing, invalid і non-mutation cases.
- Evidence: expected/observed matrix, test output, limitations, security/provenance checklist.
Delivery format
- Один доступний без login HTTPS repository, shared document або portfolio page.
- README із setup/run/test commands, synthetic-data statement, file map і known limitations.
- Source та fixtures без
.venv,.env, caches, tokens, machine paths або personal data. - Тестовий output без usernames, environment variables і secrets.
- Посилання перевірене в приватному browser context.
Рубрика 100 балів
| Критерій | Бали |
|---|---|
| Input/schema contract і validation boundaries | 20 |
| Function/module decomposition та import-safe CLI | 20 |
| Collection choice, duplicate policy й non-mutation | 20 |
| Tests, deterministic evidence і failure clarity | 20 |
| README, privacy, security і portfolio-safe delivery | 20 |
Прийнято від 80/100 без blocker: secret/PII leak, inaccessible artifact, відсутній runnable core або неправдива evidence. Review може повернути проєкт на доопрацювання.
Перед подачею
Safety gate
Перевірте repository history, fixtures, screenshots і logs. Видаліть credentials, emails, телефони, customer IDs, production URLs, cookies, private keys та absolute machine paths. Не підміняйте synthetic result заявою про production impact.
Подання роботи на перевірку
Передайте HTTPS-посилання на папку або репозиторій із доступом для перегляду. Не додавайте паролі, API-ключі, персональні дані клієнтів чи production-вивантаження.
- HTTPS artifact і README зі synthetic-data statement, setup, run/test commands та limitations
- Input/schema contract, fixtures і validation з explicit failure reasons
- Import-safe CLI, pure collection core та deterministic summary
- Tests для normal, empty, duplicate, missing, invalid і non-mutation cases
- Security/provenance checklist без PII, secrets, machine paths або production endpoints
- Input/schema contract і validation boundaries — 20
- Function/module decomposition та import-safe CLI — 20
- Collection choice, duplicate policy й non-mutation — 20
- Tests, deterministic evidence і failure clarity — 20
- README, privacy, security і portfolio-safe delivery — 20