Language Pack · Mid to Senior
Python Backend Developer Pack
Language internals, async, the GIL, FastAPI/Django patterns, data access and testing.
Python semantics, the GIL, async vs threads, API frameworks and production patterns.
- Questions
- 360
- Topics
- 20
- Pages
- 285pages
- 360 questions, every one with a model answer
- Internals + async cheat sheet
- Web framework comparison
- Testing & packaging
Get the Python Backend Developer Pack — $9
One-off. Delivered as a PDF by email the moment payment clears.
Prices shown are a USD base. Your local-market price is calculated at checkout in your own currency, plus any local sales tax.
What is inside
20 chapters, in the order the interviews tend to ask them:
- The object model, mutability and copying
- Dunder methods and the data model
- Functions, scopes and closures
- Iterators, generators and lazy evaluation
- Decorators and functional composition
- Exceptions and context managers
- Typing and static analysis
- Memory management and CPython internals
- The GIL and real CPU parallelism
- Threading and blocking IO concurrency
- Asyncio and the event loop
- Structured concurrency, cancellation and timeouts
- Dataclasses and modelling your data
- SQLAlchemy ORM and session management
- Database migrations and schema evolution
- FastAPI dependencies, validation and the request lifecycle
- Django ORM, middleware and request handling
- API contracts, pagination and versioning
- Caching, background jobs and message queues
- Testing a Python service
How the answers are built
Each chapter opens with the checklist the question is really testing. A few from this pack:
- A name is a binding to an object rather than a box holding a value, so assignment rebinds and never copies.
- Operators are syntax sugar for dunder lookups, so a + expression is an __add__ call on the left operand.
- A closure stores a reference to the enclosing cell, so it observes the current value rather than a snapshot.
- A generator suspends its frame instead of building a result list, so memory stays flat across a large input.
- Decorators apply bottom up, so the one closest to the function definition wraps it first.
- Catch the narrowest exception you can act on, because a broad except clause hides unrelated defects behind a log line.
Questions this pack covers
- What actually makes a Python object mutable at runtime
- Why does assigning to a list parameter inside a function mutate the caller's list
- Which dunder method does Python call for the in operator
- How does Python decide which rich comparison method to use first
- How does Python resolve a free name at function call time
- What exactly does a closure capture from its enclosing scope
- What distinguishes a generator function from an ordinary function
- Why does a generator become exhausted after its first pass
Each one is answered in full in the pack, with the reasoning written out rather than a bullet list.
About this pack
- How many questions?
- 360, spread across 20 topics, written out in full across 285 pages.
- Do the answers just list keywords?
- No. Each answer is written as prose, because that is what you have to reproduce when someone asks you the question.
- How do I get it?
- Pay once and the PDF arrives by email immediately, with a signed download link.
- Can I get it refunded?
- Yes, if it is not what you expected. See the refund policy.