1.What is PEP 8?
PEP 8 is the style guide for Python code. It provides
guidelines for writing readable and consistent code.
2.How does Python handle memory management?
Python uses automatic memory management through a private
heap space. The memory manager handles allocation and deallocation of memory.
3.Explain the differences between a list and a tuple in
Python.
Lists are mutable, meaning their elements can be changed
after creation. Tuples are immutable, and their elements cannot be modified
once defined.
4.What are Python decorators used for?
Decorators are used to modify or extend the behavior of
functions or methods without changing their actual code. They are often used
for tasks like logging, authentication, and memorization.
5.How can you handle exceptions in Python?
Exceptions are handled using try-except blocks. Code that
might raise an exception is placed in the try block, and the handling of the
exception is defined in the except block.
6.Explain the Global Interpreter Lock (GIL).
The GIL is a mutex used in CPython, the standard
implementation of Python. It allows only one thread to execute in the
interpreter at a time, limiting the parallel execution of threads in multi-core
systems.
7.What is the purpose of virtual environments in Python?
Virtual environments are used to create isolated Python
environments for different projects. They help manage dependencies and avoid
conflicts between packages.
8.How can you read data from a CSV file in Python?
You can use the csv module to read CSV files. It provides
functions like csv.reader() to read the file line by line and parse the data.
9.Explain the difference between a shallow copy and a
deep copy.
A shallow copy creates a new object but does not recursively
duplicate the objects within the original object. A deep copy creates a new
object and also recursively duplicates the objects within it.
10.What is the purpose of the __init__ method in Python
classes?
The __init__ method is a constructor that gets called when a
new instance of a class is created. It initializes the attributes and
properties of the object.
11.How can you connect to a relational database in
Python?
You can use libraries like sqlite3 or SQLAlchemy to connect
to relational databases. They allow you to execute SQL queries and interact
with the database.
12.Explain what is meant by "Big O" notation.
Big O notation is used to describe the performance or complexity
of an algorithm in terms of its input size. It provides an upper bound on the
growth rate of an algorithm's runtime or memory usage.
13.How would you handle large datasets that don't fit
into memory?
You can use techniques like streaming, chunking, and memory
mapping to process and analyse large datasets in smaller, manageable portions
without loading the entire dataset into memory.
14.What is ETL? How does Python play a role in it?
ETL stands for Extract, Transform, Load. It's a process used
to extract data from various sources, transform it into a suitable format, and
load it into a data warehouse or database. Python can be used to automate and
script these tasks.
15.Can you explain the difference between MapReduce and
Spark?
MapReduce and Spark are both frameworks for processing
large-scale data. However, Spark provides in-memory processing, which makes it
faster than traditional disk-based MapReduce. Spark also offers higher-level
APIs in Python, Java, and Scala.
0 Comments