DataArt interview question

Python Basics: List vs. tuple vs. set vs. dictionary – differences and use cases. Mutable vs. immutable objects with examples. How does garbage collection work in Python? Explain *args and **kwargs. What are decorators? Write an example. How do __init__ and __new__ differ? What are Python generators? Yield vs. return. OOP & Design Patterns: Explain inheritance, polymorphism, and encapsulation. What is method overriding vs. method overloading? What’s a metaclass? When would you use it? Singleton pattern – how to implement it in Python? Algorithms & Data Structures: Reverse a string/list in place. Find duplicates in a list/array. Check if two strings are anagrams. Explain time complexity (Big-O) of common operations. Frameworks & Libraries: Django vs. Flask – key differences. How do Django models work with databases? What is middleware in Django/Flask? Async vs. sync code – when to use each? Databases: SQL vs. NoSQL – pros and cons. How to optimize a slow SQL query? What are indexes, and when should you use them? Experience with ORMs (Django ORM, SQLAlchemy). Testing & Debugging: How do you write unit tests? (unittest/pytest) What’s mocking, and why is it useful? How would you debug a memory leak? System Design: Design a REST API for a blog. How would you handle high traffic on an API? Explain caching strategies (Redis, Memcached). DevOps & Tools: Git workflow – branching, merging, rebasing. What’s CI/CD? How have you used it? Docker basics – what’s a container vs. an image?