Python Interview Questions for Web Developer Position

My little tour on Python Web Shops is over for now. It has been an excellent chance to see what is going on in the town. I have been applying mainly for a web developer position. Below is a list of few interview questions I have got. I will answer the most interesting or ones that require more in-depth research in the next articles.

Python

  • What is Python
  • Given a = 5; b = 5 What is the return of a is b
  • Explain the difference between type vs isinstance
  • What style guide can we use for code linting
  • Explain the differences between Python 2 and Python 3
  • How would you convince somebody to use Python 3 over Python 2
  • Explain the difference in dict.items() between Python 2 and Python 3
  • Can tuple always be a key in a dictionary
  • Where do we use compiled files *.pyc
  • What is GIL, mutex and semaphore
  • Explain difference between __init__ and `__new__
  • Where can we use keyword with
  • What is mock, mocking
  • How can we unit test connection with a database
  • What is a generator, iterator
  • Explain the difference between thread and coroutine
  • How do you stay updated with Python language
  • Explain difference between __str__ and __repr__
  • What is the data model in Python
  • How Python solves the diamond problem in multiple inheritance
  • What is Method Resolution Order
  • Explain what is circular import

Database

  • What is transaction
  • Explain the acronym ACID
  • What is indexing

Django

  • What is middleware
  • What is context_processor
  • What is and how works manage.py collectstatic
  • How would you count webpage reloading in Django
  • How to run a script in Django
  • What design pattern is Django using
  • Give a list of model relationships
  • How would you model saving data from the user
  • Django request - response vs async
  • When I send an email through Django form, do I need to use celery for that
  • When I have only 20 web workers, and a 21st user enters the webpage, will he be able to load the page?
  • Describe caching in Django
  • What is QuerySet, when it is loading
  • Explain the difference between get and filter in QuerySet
  • Write a model for one Manager and many Customers
  • Given example models (Manager, Customer) write example querysets and convert them to SQL

Flask

  • Write a context manager (login_required)
  • Write a simple view that requires logged in user and test it

Web Development

  • Explain the difference between TCP and UDP
  • What is HTTP
  • List and explain HTTP status codes, methods
  • You go to example.com - describe what happens
  • Describe caching in general (browser, servers, application)
  • What is microservice
  • List techniques for optimising web pages
  • Redis, Celery - describe these libraries
  • How SEO works (robots, meta)
  • Javascript promises

Software Development

  • Explain the difference between git rebase and git merge
  • What is git bisect
  • What is git stash
  • How would you repair a broken branch
  • What is TDD
  • How would you architect and design a project from the start
  • What is REST
  • What is Agile
  • What is DevOps
  • Explain the difference between Agile and DevOps
  • List common design patterns

Algorithm

  • How would you count words in a text file that contains an ebook