CORE PYTHON INTERNALS
● GIL (Global Interpreter Lock)
● Name binding and references
● Mutable vs immutable types
● Method Resolution Order (MRO)
● Descriptor protocol
● Import system and module caching
● Bytecode compilation (.pyc files)
● Namespace and scope resolution
● Internals of common data structures
● Python memory model
PERFORMANCE & COMPLEXITY
● Big O analysis for Python operations
● Time complexity of built-in operations
● Space complexity considerations
● Profiling memory usage
● Timeit and benchmarking
● Algorithm optimization patterns
● Data structure selection impact
● Cache locality in Python
● Optimization trade-offs
CONCURRENCY
● threading module details
● multiprocessing module details
● asyncio event loop
● Async/await syntax
● [Link] patterns
● Race conditions and deadlocks
● Lock types (RLock, Semaphore)
● Thread pools vs process pools
● Async context managers
● Task coordination patterns
OOP + DESIGN PATTERNS
● Factory pattern
● Singleton pattern
● Adapter pattern
● Observer pattern
● Strategy pattern
● Repository pattern
● Builder pattern
● Dependency injection
● Mixin classes
● Interface segregation
MEMORY MODEL & GARBAGE COLLECTION
● Reference counting
● Cyclic garbage collection
● Generational garbage collector
● Memory allocation in CPython
● slots memory impact
● Object pooling patterns
● Memory fragmentation
● Weak references
● GC tuning parameters
TOOLING
● Packaging ([Link], [Link])
● Virtual environments (venv, conda)
● Linting (flake8, pylint)
● Formatting (black, isort)
● Type checking (mypy, pyright)
● Dependency management (poetry, pipenv)
● Profiling tools (memory_profiler, py-spy)
● Debugging (pdb, ipdb)
● Documentation (Sphinx, pydoc)
ARCHITECTURE DECISIONS
● Microservices vs monolith
● Event-driven architecture
● Message queue integration
● Caching strategies
● Database connection pooling
● API design (REST, GraphQL)
● Service layer patterns
● Configuration management
● Secret management
● Health checks and monitoring
REAL CODING CHALLENGES
● Data validation pipelines
● ETL process implementation
● API client development
● Database abstraction layers
● Error handling strategies
● Retry mechanisms with backoff
● Rate limiting implementation
● Data serialization formats
● Batch processing systems
● Real-time streaming pipelines
DATABASE + API + ASYNC TASKS
● DB-API specifications
● SQLAlchemy ORM patterns
● Connection pool management
● Async database drivers
● REST API client implementation
● GraphQL query optimization
● Background task queues
● Celery task patterns
● Webhook handling
● API rate limit handling
TESTING & CI/CD
● Unit testing patterns
● Integration testing strategies
● Mocking external services
● Test fixtures and factories
● Parameterized testing
● CI/CD pipeline configuration
● Automated deployment
● Environment testing
● Performance testing
● Security testing