Question library
Questions from real interviews. Drill any of them by voice in a couple of minutes, with an interviewer, a score and feedback.
Imagine a function add with a parameter items whose default value is an empty list. The function appends an element to that list and returns it. What happens if you call it twice in a row without passing the second argument?JuniorTell me how mutable data types in Python differ from immutable ones. Give examples and explain why it matters in practice.JuniorWhat are magic, or dunder, methods in Python? What are they for? Give a few examples.JuniorWhat's the difference between a shallow copy and a deep copy in Python? When does that difference matter?JuniorA service has a function def add_tag(tag, tags=[]), and after a few calls, the results start containing tags that belong to other calls. What's going on, and how do you fix it?Mid-levelYou overrode __eq__ on a Money class, and when you tried to put an object in a set, you got TypeError: unhashable type. Why did this happen, and how do you correctly implement equality and hashing?Mid-levelWalk me through how Python looks up an attribute when you access obj.attr. Where do descriptors fit into this, and why does property work the way it does?SeniorWhat happens when you override __eq__ in your class, and how does that relate to __hash__? How would you make an object that can safely be put in a set and used as a dictionary key?Senior