Skip to content

Latest commit

 

History

History
90 lines (62 loc) · 16.2 KB

File metadata and controls

90 lines (62 loc) · 16.2 KB

Python Projects & Interview Prep (companion to Python_Mastery_Roadmap.md)

20 BEGINNER PROJECTS

  1. Number guessing game 2. FizzBuzz variants 3. Simple calculator 4. Temperature converter 5. Mad Libs generator 6. Rock-paper-scissors 7. Dice roll simulator 8. To-do list (in-memory) 9. Contact book (dict-based) 10. Password generator 11. Countdown timer 12. Unit converter 13. Tic-tac-toe (console) 14. Simple quiz app 15. BMI calculator 16. Palindrome checker 17. Word/character counter 18. Basic alarm clock (console) 19. Currency converter (static rates) 20. Simple ATM simulator

20 INTERMEDIATE PROJECTS

Core libs: json · csv · sqlite3 · Flask

  1. To-do app w/ JSON persistence 2. Contact book w/ CSV storage 3. Expense tracker w/ categories 4. Library management system (OOP) 5. Bank account system (OOP + exceptions) 6. Weather CLI (public API) 7. Web scraper for news headlines (BeautifulSoup) 8. Excel report generator (OpenPyXL) 9. PDF merger/splitter (pypdf) 10. URL shortener (Flask) 11. Blog app (Flask + SQLite) 12. Simple rule-based chatbot 13. Hangman w/ word-file input 14. Inventory management CLI 15. Recipe finder (Spoonacular API) 16. Encrypted personal diary app (cryptography) 17. Markdown-to-HTML converter (markdown) 18. Quiz app w/ SQLite-backed questions 19. Regex-based log analyzer (re) 20. Job-application tracker (CLI + CSV)

20 ADVANCED PROJECTS

Core libs: aiohttp · FastAPI · Docker · pytest

  1. Multi-threaded file downloader (threading) 2. Async web scraper (aiohttp) 3. REST API w/ FastAPI + PostgreSQL 4. Real-time chat app (WebSockets) 5. Custom ORM-lite using descriptors 6. Distributed task queue (Celery-style, simplified) 7. Rate limiter/API gateway middleware 8. Full-text search engine (basic inverted index) 9. Custom caching decorator w/ TTL (functools) 10. Plugin system using metaclasses/entry points 11. CLI package manager clone (simplified) 12. Log-aggregation dashboard (Flask + charts) 13. JWT-authenticated microservice (jwt.io) 14. Dockerized multi-service app (API + DB + worker) 15. Static site generator (Markdown → HTML) 16. Custom mini-pytest test framework 17. Memory profiler/leak detector (tracemalloc) 18. Event-driven pub/sub system 19. Recommendation engine (collaborative filtering) 20. Toy language compiler/interpreter

20 PORTFOLIO PROJECTS (resume-ready)

  1. Personal finance dashboard (Flask + charts + auth) 2. Full-stack Django e-commerce site 3. Job-board scraper + email alerts 4. Data-cleaning/EDA pipeline on a real Kaggle dataset 5. ML model deployed as a FastAPI service 6. Automated Excel + email report generator (scheduled) 7. Real-time chat application 8. Open-source CLI tool published on PyPI 9. Portfolio site static-site generator 10. GitHub analytics tool (GitHub API) 11. Personal task-manager SaaS mini-clone 12. Image classifier web app (upload → prediction) 13. Resume-parser tool (regex + basic NLP) 14. URL shortener w/ analytics dashboard 15. Budget-tracking app w/ visualization 16. Multi-user blog w/ roles/permissions 17. Weather + air-quality multi-API dashboard 18. Slack/Discord bot (discord.py) 19. Dockerized microservice architecture demo 20. Documented CI/CD pipeline demo repo (GitHub Actions)

20 AUTOMATION PROJECTS

Core libs: Selenium · smtplib · schedule

  1. Bulk file renamer/organizer 2. Auto email sender (reports/reminders) 3. Excel report generator from raw data 4. Web-scraping price tracker + alert 5. PDF invoice data extractor 6. Auto-backup script (scheduled + zipped) 7. Social media auto-poster (API-based) 8. Automated form filler (Selenium) 9. Duplicate file finder/cleaner 10. Automated test-data generator (Faker) 11. Log-file rotation & cleanup tool 12. Auto screenshot + report tool 13. Meeting-notes-to-summary automation 14. Automated invoice generator 15. Calendar event auto-scheduler (Google Calendar API) 16. Auto-download + organize email attachments 17. Website uptime monitor + alert 18. Automated cloud-backup tool 19. Batch image resizer/watermarker (Pillow) 20. Automated dependency-update checker

20 WEB DEVELOPMENT PROJECTS

Core: Flask · Django · FastAPI

  1. Personal portfolio site (Flask) 2. Blog w/ comments + auth (Django) 3. E-commerce store w/ cart/checkout 4. Recipe-sharing platform 5. Job board w/ search/filter 6. Forum/discussion board 7. URL shortener w/ dashboard 8. Real-time polling app 9. Event-management platform 10. Multi-user note-taking app 11. Q&A platform (Stack Overflow-lite) 12. Booking/reservation system 13. Social media mini-clone 14. File-sharing web app 15. Survey/form builder tool 16. Expense-splitting app (Splitwise-style) 17. Newsletter subscription manager 18. Simple CMS 19. API-first app (FastAPI + frontend) 20. Real-time collaborative to-do list (WebSockets)

20 DATA SCIENCE PROJECTS

Core: Pandas · Matplotlib · Kaggle datasets

  1. Titanic survival EDA 2. COVID-19 data visualization dashboard 3. Retail sales-trend analysis 4. IMDB movie ratings analysis 5. Customer segmentation (RFM analysis) 6. Stock price trend visualization 7. Sports statistics analyzer 8. Social-media sentiment trend chart 9. Population/demographics dashboard 10. Historical weather pattern analysis 11. E-commerce churn EDA 12. Air-quality data analysis 13. Housing-price cleaning + visualization 14. Music-streaming trends analysis 15. Job-market trends analyzer (scraped postings) 16. A/B test results analyzer 17. Basic time-series sales forecasting 18. Public-health dataset dashboard 19. Crime-statistics visualization 20. Custom interactive Plotly dashboard

20 MACHINE LEARNING PROJECTS

Core: scikit-learn · PyTorch · TensorFlow

  1. Titanic survival predictor 2. House-price regression model 3. Spam-email classifier 4. Handwritten digit recognizer (MNIST) 5. Customer-churn prediction model 6. Movie-recommendation system 7. Sentiment analysis on tweets/reviews 8. Credit-card fraud detection 9. Cats-vs-dogs image classifier 10. Iris species classifier (classic starter) 11. Loan-approval prediction model 12. Basic stock-price time-series prediction 13. K-means customer segmentation 14. Face-detection app (OpenCV) 15. Text-summarization tool 16. Chatbot w/ basic NLP intent classification 17. Disease-risk prediction model 18. Resume-job matching model (basic NLP similarity) 19. Object-detection demo (pretrained model) 20. End-to-end ML pipeline deployed via FastAPI

20 API PROJECTS

Core: requests · FastAPI

  1. Weather API wrapper CLI 2. GitHub-stats API consumer 3. News-aggregator API app (NewsAPI) 4. Currency-converter API service 5. Movie-info API app (TMDB) 6. Recipe-finder API app 7. Quote-generator API + app 8. Custom REST API for a to-do app 9. Custom REST API w/ JWT auth 10. Live public-transport data API app 11. Chat API backend (WebSockets) 12. Payment-gateway sandbox integration (Stripe API) 13. Custom rate-limited public API 14. GraphQL API (Strawberry) 15. API aggregator (3+ public APIs) 16. Webhook receiver/processor service 17. Headless-CMS API for a personal blog 18. Job-postings scraper + serving API 19. Social-media-style API (posts/likes/comments) 20. Full API + auto docs (FastAPI showcase)

20 OPEN-SOURCE CONTRIBUTION IDEAS

Start here: goodfirstissue.dev · GitHub Explore

  1. Fix a "good first issue" on a small popular repo 2. Improve docs/README on a project you use 3. Add missing type hints to an OSS module 4. Write/improve unit tests for under-tested code 5. Fix a bug w/ a minimal reproducible example 6. Add a small requested utility function 7. Improve CLI error messages 8. Translate/localize docs 9. Add examples to a docs folder 10. Publish a helper tool you've built as OSS 11. Contribute to a Django/Flask plugin 12. Fix CI-flagged lint/format issues 13. Improve accessibility of an OSS web project 14. Add CI/CD config to a repo lacking it 15. Review/comment on others' PRs 16. Add an Advent-of-Code-style example to an educational repo 17. Improve a project's CONTRIBUTING.md 18. Add a missing Dockerfile 19. Contribute to Python's own tools (pip, black, ruff) — great GSoC-adjacent practice 20. Answer beginner questions in an OSS Discord/discussion

100 ESSENTIAL PYTHON INTERVIEW QUESTIONS (by category)

Fundamentals: Mutable vs immutable types · is vs == · deep vs shallow copy · memory model · *args/**kwargs · LEGB scope rule · the GIL and its implications · Py2 vs Py3 differences · pass/continue/break · truthy/falsy values · string interning · f-strings vs .format() vs % · None/False/0 · walrus operator := · duck typing.

Data Structures: list vs tuple vs set vs dict · dict hashing · time complexity of common ops · list comprehension vs generator expression · sorted() vs .sort() · Counter vs manual counting · defaultdict use cases · namedtuple vs dataclass vs class · set operations · slicing mechanics · unpacking (a, *b = [...]) · dict merging (|, 3.9+) · frozensets · why dict keys must be hashable.

Functions: mutable-default-argument pitfall · closures & late binding · how decorators actually work · unpacking in calls · recursion depth limits · lambda limitations · first-class functions · functools.wraps purpose · lru_cache memoization · pure functions vs side effects.

OOP: __init__ vs __new__ · class vs static vs instance methods · MRO & super() · abstract base classes · operator overloading · __str__ vs __repr__ · @property · composition vs inheritance · multiple inheritance & diamond problem · __slots__ · metaclasses (conceptual) · encapsulation conventions · dataclasses vs classes · class-variable shared-state pitfall · SOLID principles in Python.

Exceptions & Files: try/except/else/finally order · custom exception design · context managers internals · handling multiple exception types · raise vs raise from · file modes (r/w/a/rb) · JSON vs pickle trade-offs · pathlib vs os.path.

Intermediate: iterators vs iterables · generator vs list memory · yield vs return · decorators with arguments · contextlib.contextmanager · regex greedy vs non-greedy · itertools.groupby gotchas · functools.reduce use cases · what __call__ does · monkey patching risks · GIL vs true parallelism · threading vs multiprocessing vs asyncio · coroutines vs threads · event loop basics.

Testing/Quality: unittest vs pytest · mocking external APIs · pytest fixtures · test-coverage meaning/limits · why bare except: is bad · linting vs formatting · do type hints affect runtime.

Databases/APIs: SQL injection prevention (parameterized queries) · ORM vs raw SQL · REST principles · idempotency (GET vs POST vs PUT) · status codes (200/201/400/401/404/500) · JWT structure · rate-limiting strategies · connection pooling.

System Design/Practical: design a URL shortener · design a rate limiter · scale a Flask app · caching strategies (in-memory vs Redis) · design a job queue · handle a production memory leak · design idempotent retries.


100 CODING INTERVIEW PROBLEMS — Structured Track

Category Count Example problems
Arrays/Strings 15 Two Sum, Reverse String, Anagram check, Max subarray, Rotate array
Hashing 8 Two Sum, Group Anagrams, First Unique Char, Subarray Sum Equals K
Two Pointers/Sliding Window 10 Longest substring w/o repeats, Container With Most Water, Trapping Rain Water
Linked Lists 10 Reverse list, Detect cycle, Merge sorted lists, Remove Nth node
Stacks/Queues 8 Valid Parentheses, Min Stack, Queue via Stacks, Daily Temperatures
Trees 12 Max Depth, Invert Tree, Validate BST, Level-order traversal, LCA
Graphs 10 Number of Islands, Clone Graph, Course Schedule, Word Ladder
Recursion/Backtracking 8 Permutations, Subsets, N-Queens, Combination Sum
Dynamic Programming 12 Climbing Stairs, Coin Change, LCS, Knapsack, Edit Distance
Sorting/Searching 7 Binary Search, Merge Sort, Kth Largest, Search in Rotated Array

Best curated list: NeetCode 150 — free, matches the categories above almost exactly.

Practice Site Roadmaps

  • LeetCode: Easy (~40 problems, build confidence) → Medium (~50, bulk of interview prep) → Hard (~10, only once Medium is comfortable). Follow NeetCode 150 or Blind 75 rather than solving randomly.
  • HackerRank: 10 Days of Python → Problem Solving (Basic) → Problem Solving (Intermediate) → SQL track if pursuing data roles.
  • Codewars: 8kyu → 7kyu → 6kyu (covers 90% of interview-relevant fundamentals) → 5kyu once comfortable. Use as daily warm-ups, not primary prep.
  • Project Euler: Problems 1–20 (math + basic loops) → 21–50 (optimization, Big-O intuition) → beyond 50 only if you enjoy math-heavy problems — supplement, not core interview prep.

How to use these two files together: teach/practice using Python_Mastery_Roadmap.md stage-by-stage; once you reach Stage 11 (DSA) and beyond, start pulling daily warm-up problems from this file in parallel.