Interview Prep
Real questions for real interviews. C#, Python, Go. Junior → System Design.
Quiz me →Python
Junior
- What is the difference between a list and a tuple in Python, and when would you use each?
- Write a generator function that yields Fibonacci numbers indefinitely
- What are *args and **kwargs in Python, and when do you use them?
- What is a list comprehension in Python, and how does it differ from a generator expression?
- Two Sum in Python — return indices of two numbers that add to a target
- Tell me about a bug that was hard to find and how you debugged it
Mid-level
- What is the GIL in CPython and when does it limit performance?
- Implement a memoization decorator in Python
- What are context managers in Python and how do you implement one with __enter__ and __exit__?
- Implement a retry decorator with configurable attempts and exponential backoff
- Tell me about a time you optimised a slow Python service in production
- Design a Python service for processing real-time user activity events with rate limiting
Senior
- How does Python's asyncio event loop work, and when do you prefer it over threading?
- Implement an async retry function with exponential backoff in Python (asyncio)
- What are Python descriptors and how do they underpin properties and ORM fields?
- Describe leading a major refactor in a Python codebase — how you managed risk and team buy-in
System Design
- Design a real-time data pipeline in Python capable of processing 1 million events per day
- Design a URL shortener in Python — architecture, storage, and scale to 1B URLs
- When do you choose SQL vs NoSQL, and what are the consistency trade-offs?
- Describe a time you drove a critical technical decision at the system architecture level