Python is by far the most popular language in Data Science market today. According to our survey by in 2018, 48% of the respondents voted Python as the most important language for a Data Scientist. In 2019, the same sentiment is echoed by 75% of respondents talking about the importance of Python in Data Science today. Undoubtedly, it is the most in-demand skill today.
Here are the top 12 most commonly asked Python interview common Python questions that are faced by candidates in interviews:
1.What is a Tuple? What is the difference between lists and tuples in Python?
Both lists and tuples in Python are sequence data types that can store a collection of items. Each item in a program can be stored in a list or a tuple and can be of any data type. But the major difference between the two of them is that lists are mutable whereas tuples are immutable. This means that in lists, one can modify the values but this cannot be done in a tuple which also means that they cannot be copied. Another major difference is that. tuples are used to store heterogeneous elements, which are elements belonging to different data types. Whereas lists are used to store homogeneous elements, which are elements that belong to the same type. An immutable object can also be used as a key in a dictionary and so, tuples can be used as dictionary keys if needed.
2.What is pickling and unpickling?
Pickling and unpickling is used for serializing and de-serializing an object structure in Python. Any object in Python can be pickled so that it can be saved on disk. Pickling basically serializes the object into binary streams first, before writing it to file. It is a way to convert a python object into a character stream. This is useful when one wants to save the state of his objects and reuse them at another time without losing any instance specific data. By a similar logic, when one restores a saved game, he will be loading data from its pickled state, therefore unpickling it. The real world uses of Pickling and Unpickling are widespread as they allow you to easily send data from one server to another and eventually store it in a file or database.
3.How is memory managed in Python?
Memory management in Python involves a private heap containing all Python objects and data structures. The management of this private heap is ensured internally by the Python memory manager. The Python memory manager has different components which deal with various dynamic storage management aspects, like sharing, segmentation, preallocation or caching.
At the lowest level, a raw memory allocator ensures that there is enough room in the private heap for storing all the data by interacting with the memory manager of the operating system. On top of the raw memory allocator, several object-specific allocators operate on the same heap and implement distinct memory management policies. The Python memory manager thus delegates some of the work to the object-specific allocators, but ensures that the latter operate within the bounds of the private heap.
4.What are python modules? Name some commonly used built-in modules in Python.
Python has a way to put definitions in a file and use them in a script or in an interactive instance of the interpreter. Such a file is called a module which basically is a file containing Python definitions and statements. Definitions from a module can be imported into other modules or into the main module.
5.What are the built-in type that Python provides?
The principal built-in types are numerics, sequences, mappings, classes, instances and exceptions.
Some operations are supported by several object types. Practically all objects can be compared, tested for truth value and converted to a string. The latter function is implicitly used when an object is written by the print() function.
6.What is type conversion in Python?
Every value in Python has a data type. The type defines the operations that can be done on the data and the structure in which you want the data to be stored. In data science, you will often need to change the type of your data, so that it becomes easier to use and work with. Python has many data types. There are integers and float to deal with numerical values, boolean to deal with true/false values and strings to work with alphanumeric characters. Lists, tuples, dictionary and sets that are data structures to store a collection of values.
Data conversion in Python can happen either by telling the compiler to convert a data type to some other type explicitly or the compiler understands this by itself and does it for the user. These are the two ways of data conversion in Python called explicit data type and implicit data type conversion respectively.
7.Explain what is Flask & its benefits?
Flask is a Python framework, based on the framework libraries of Werkzeug, Jinja2 and inspired by Sinatra Ruby framework, available under BSD licence. It was designed to be easy to use and extend. The idea behind was to build a solid foundation for web applications of different complexity. From then on one is free to plug in any extensions he needs. They have built-in development server, support for secure cookies, has an integrated support for unit testing and are unicode based.
8.Is Python and multi-threading a good idea? What are some ways to get Python to run in a parallel way?
Multiple threads within a process share the same data space with the main thread and can therefore share information or communicate with each other more easily than if they were separate processes. Threads sometimes called light-weight processes and they do not require much memory overheads. A thread has a beginning, an execution sequence, and a conclusion. It has an instruction pointer that keeps track of where within its context it is currently running. It can be pre-empted (interrupted). It can temporarily be put on hold (also known as sleeping) while other threads are running.
Parallel processing is a mode of operation where the task is executed simultaneously in multiple processors in the same computer. It is meant to reduce the overall processing time. However, there is usually a bit of overhead when communicating between processes which can actually increase the overall time taken for small tasks instead of decreasing it. In python, the multiprocessing module is used to run independent parallel processes by using subprocesses (instead of threads). It allows you to leverage multiple processors on a machine (both Windows and Unix), which means, the processes can be run in completely separate memory locations.
9.How does break, continue and pass work?
In Python, the break statement provides the opportunity to exit out of a loop when an external condition is triggered. The break statement is within the block of code under the loop statement, usually after a conditional if statement.
The continue statement gives the option to skip over the part of a loop where an external condition is triggered, but to go on to complete the rest of the loop. In this case, the current iteration of the loop will be disrupted but the program will return to the top of the loop. The continue statement causes a program to skip certain factors that come up within a loop, but then continue through the rest of the loop.
When an external condition is triggered, the pass statement allows to handle the condition without the loop being impacted in any way. All of the code will continue to be read unless a break or other statement occurs. It will be within the block of code under the loop statement, typically after a conditional if statement.
10.What is the lambda operator?
lambda operator or lambda function is used for creating small, one-time and anonymous function objects in Python. It can have any number of arguments, but it can have only one expression. It cannot contain any statements and it returns a function object which can be assigned to any variable. Mostly lambda functions are passed as parameters to a function which expects a function objects as parameter like map, reduce, filter functions
11.What are some advantages of using Python over other programming languages?
Python comes with easy readability and a simple syntax and it comes with a biggest advantage of being open sourced. It comprises of a huge standard library for most Internet platforms like Email, HTML and many others. It has a number of built-in data types, because of which it saves programming time and effort from declaring variables
12.How can the ternary operators be used in python?
Ternary operators, also known as conditional expressions, are operators that evaluate something based on a condition being true or false. It allows to test a condition in a single line replacing the multiline if-else, thereby making the code compact.