Skip to main content

Python interview questions. Part III. Senior Level


 


Questions

Q: Python is always called an easy language. Will you agree with it?

Q: What are the pitfalls and problems of Python language?

Q: How does a framework differ from a library?

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

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

Q: What is monkey patching? How to use it in Python? Example? Is it ever a good idea?

Q: How are dict and set implemented internally? What is the complexity of retrieving an item? How much memory do these structures consume?

Q: Does Python support multiple inheritance? How does it solve the diamond problem?

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

Q: Does Python have an assignment operator? How is the assignment process in Python different from C/C++?

Q: What are descriptors? Is there a difference between a descriptor and a decorator?

Q: How are arguments passed to a function in Python — by value or by reference?

Q: What tools help you find code smells in code or perform static Code analysis? What else do you know/use to make your code maintainable and readable?

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

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: What is GIL? Why GIL still exists?

Q: What is string interning? Why it Python have it?

Q: Why Python doesn't have a tail recursion optimization? How to implement it?

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

Q: How to distribute Python code?

Q: How to package code in Python?

Q: What is a package manager? What package managers do you know, and which one do you recommend?

Q: How to work with Python transitive dependencies?

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

Q: How to package binary dependencies in Python?

Q: What is Cython? What is IronPython? What is PyPy? Why do they still exist?

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

Q: What is __pycache__? What are .pyc files?

Q: How to speed up existing Python code? How would you speed up your, say, web app?

Q: How to isolate Python code? What are virtualenvs?

Q: Is Python a functional language? Specify the requirements for code written in a functional paradigm.

Q: Identify the pitfalls/limitations of the functional code.

Q: What are .pth files?

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

Q: What does the PYTHONOPTIMIZE flag do?

Q: You have a memory leak in the working production application on one of your company servers. How would you start debugging it?

Code involving questions

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

Q: Write a function that reverses the generator?

Q: You need to implement a function that should use a static variable (for example, a call counter). You cannot write any code outside the function and you do not have information about external variables (outside your function). How to do it?

Q: What methods and in what order are called when print (A() + B()) is executed?

Q: How to implement a dictionary from scratch using core Python?

Q: What's the output?

def Foo(): 
    yield 42;
    return 666

Q: What will be the output of the following code?

>>> a = [[]] * 3
>>> a[1].append(1)
>>> print(a)  # [[1], [1], [1]

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

def f1(arr):
    l1 = sorted(arr)
    l2 = [i for i in l1 if i < 0.5]
    return [i * i for i in l2]
def f2(arr):
    l1 = [i for i in arr if i<0.5]
    l2 = sorted(l1)
    return [i * i for i in l2]
def f3(arr):
    l1 = [i * i for i in arr]
    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: What will be the output of the following code? Why? Is this inheritance?

class C:
    pass

type (C())
type (C)

Q: What will be the output of the following code?

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()
23

Q: What will be the output of the following code?

>>> print(_)

Q: You saw the following piece of code. What is wrong with this code? Why is it needed?

if __debug__:
    assert False, ("error")

Comments

Popular posts from this blog

Razormet Technology Internship 2024 For Junior Data Analyst | Work From Home

  Razormet Technology Internship 2024:  Razormet Technology Internship 2024 for its Junior Data Analyst. Razormet Technology Drive organizes off-campus drives for candidates in any batch. To apply, candidates should have a Bachelor’s degree in mathematics, engineering, economics, statistics, computer science, information management, or a related field. if you are interested, please apply as soon as possible. Company Name: Razormet Technology Role: Junior Data Analyst Location: Remote Experience: 0 – 1 years Qualification: Bachelor’s degree in mathematics, engineering, economics, statistics, computer science, information management or related field Batch: Any Job Type: Full Time Salary: INR 400,000 – 500,000 Razormet Technology Internship 2024 Job Description: As an Associate Data Analyst, you will become a subject-matter expert in automotive industry data and analysis. You will develop a working understanding of multiple data flows from ingestion to application, directly impac...

IBM Hiring Fresher Procurement Purchase Executive

At IBM, work is more than a job – it’s a calling: To build. To design. To code. To consult. To think along with clients and sell. To make markets. To invent. To collaborate. Not just to do something better, but to attempt things you’ve never thought possible. Are you ready to lead in this new era of technology and solve some of the world’s most challenging problems? If so, let's talk. IBM  looking for passionate fresher graduates with excellent communication skills, good Customer Service skills, and Interpersonal Skills for the role of  Procurement Purchase Executive. Job Designation: Procurement Purchase Executive Qualification:  Bachelor’s Degree Experience:  Freshers / 0 – 1 years Skill Set : Good Customer Service skills and Interpersonal Skills. Proficient working knowledge of MS Office. Familiar with procurement and purchase policies. Problem Solving – Identifies and resolves problems promptly; Gathers and analyses information skillfully. Customer Service – Mana...

Razormet Technologies Hiring Drive 2024 For Data Analyst / Analysis | Work From Home

Razormet Technologies Hiring Drive 2024:  Razormet Technologies Hiring Drive 2024 for its Data Analyst / Analysis. Razormet Technologies Drive organizes off-campus drives for candidates in the 2024 batch. To apply, candidates should have a Bachelor’s degree in Business Analytics, Computer Science, or a related field. if you are interested, please apply as soon as possible. Company Name: Razormet Technologies Role: Data Analyst / Analysis Location: Remote Experience: 0-1 years Qualification: Bachelor’s degree in Business Analytics, Computer Science, or a related field Batch: 2024 Job Type: Full Time Salary: INR 4.0 – 5.0 Razormet Technologies Hiring Drive 2024 Job Description: In this role, you will work with the Lead Data Engineer to serve as the technical experts within the Business Intelligence & Analytics group to support firm-wide reporting needs. A strong background in DOMO combined with writing complex R scripts is highly valued. An ideal candidate is adept at integrating...