Python interview questions. Part III. Senior

Python interview questions. Part III. Senior

We all know that senior is not just a technical role that bound with years of experience and knowledge about his tools, they also have mentoring skills, some management skills in order to measure tasks and their time, and they tend to have some architecture skills etc. My questions here is only for technical side of Python senior developers.


Q: When will the else part of try-except-else be executed?

Q: What are metaclasses in Python?

Q: What is monkey patching? How to use in Python? Example?

Q: What are the tools that help to find bugs or perform static analysis? What static code analyzers do you know/used?

Q: Whenever Python exits, why isn’t all the memory de-allocated?

Q: Explain how can you access a module written in Python from C? Vise versa?

Q: What do these mean to you: @classmethod, @staticmethod, @property?

Q: Is Python a functional language?

Q: What is the attribute __slots__?

Q: Is it possible to use the construction True = False?

Q: How to create a class without the class statement?

Q: Give an example of filter and reduce over an iterable object

Q: Is it possible to have a producer thread reading from the network and a consumer thread writing to a file, really work in parallel? What about GIL?

Q: How do you create a dictionary which can preserve the order of pairs?

Q: What does the PYTHONOPTIMIZE flag do?

Q: What are descriptors? Code example?

Q: What is MRO in Python? How does it work?

Q: Mention what is the difference between Django, Pyramid, and Flask?

Q: Specify the requirements for code written in a functional style.

Q: Identify the pitfalls/limitations in the function code.

Q: How to package code in Python?

Q:What is wheels and eggs? What is the difference?

Q: How to package binary dependencies in Python?

Q: How can I reload a previously imported `module` module? (we assume that the module is a file with module.py)

Q: What advantages do NumPy arrays offer over (nested) Python lists?

Q: What is the process of compilation and linking in python?

Q: What id() function in Python is for?

Q: Is Python call-by-value or call-by-reference?

Code involving questions:

Q: Explain how you reverse a generator?

Q: Let A and B be objects of class Foo. What methods and in what order are called when "print (A + B)" is executed?

Q: Place the following functions below in order of their efficiency. How would you test your answer?

def f1(lIn):
    l1 = sorted(lIn)
    l2 = [i for i in l1 if i<0.5]
    return [i*i for i in l2]


def f2(lIn):
    l1 = [i for i in lIn if i<0.5]
    l2 = sorted(l1)
    return [i*i for i in l2]


def f3(lIn):
    l1 = [i*i for i in lIn]
    l2 = sorted(l1)
    return [i for i in l1 if i<(0.5*0.5)]

Q: Write a one-liner that will count the number of capital letters in a file. Your code should work even if the file is too big to fit in memory.

Q: Output? Why? Is this inheritance?

class C:
type (C ())
type (C)

Q: What's the output we get from running the following?

big_num_1   = 1000
big_num_2   = 1000
small_num_1 = 1
small_num_2 = 1
big_num_1 is big_num_2
small_num_1 is small_num_2

Q: How is this possible?

_MangledGlobal__mangled = 23
class MangledGlobal:
     def test(self):
         return __mangled

>>> MangledGlobal().test()


Python interview questions. Part I. Junior

Python interview questions. Part II. Middle

Support author