This Senior Python Developer interview profile brings together a snapshot of what to look for in candidates with a balanced sample of suitable interview questions.
Senior Python Developer Interview Questions
In some respects even the most technical role demands qualities common to strong candidates for all positions: the willingness to learn; qualified skills; passion for the job.
Even college performance, while it helps you to assess formal education, doesn’t give a complete picture. This is not to underplay the importance of a solid background in computer science. Some things to look for when sourcing a senior python developer:
• Understanding of basic algorithmic concepts
• Discuss basic algorithms, how would they find/think/sort
• Can they show a wider understanding of databases
• Do they have an approach to modelling?
Do they stay up to date with the latest developments? If so, how? Probe for their favourite technical books. Who are they following on Twitter, which blogs do they turn to?
Are they active on Github? Do they contribute to any open source software projects? Or take part in Hackathons. In short, how strong is their intellectual interest in their chosen field? How is this demonstrated? Ask for side projects (like game development). Committed, inquisitive candidates will stand out.
Computer Science questions
- Using pseudo-code, implement binary search of a sorted array of integers
- What constitutes a good unit test and what a functional one?
- Describe the core principles of a REST API. How is this a different philosophy from RPC?
- Do arguments in Python get passed by reference or by value?
- Why are functions considered first class objects in Python?
- What tools do you use for linting, debugging and profiling?
- Give an example of filter and reduce over an iterable object
- What are list and dict comprehensions?
- What do we mean when we say that a certain Lambda expression forms a closure?
- Name a few differences between Python 2.x and 3.x
- How is memory managed in python?
- What will be the output of the following code?
list = ['a', 'b', 'c', 'd', 'e']
- Python uses a Global Interpreter Lock. Does that mean it doesn’t use real threads?
- 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 the GIL?
- A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99. Find the largest palindrome made from the product of two 3-digit numbers.
- What will be the output of the following code in each step?
dangerous = 2
c1 = C()
c2 = C()
c1.dangerous = 3
C.dangerous = 3