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 ofa is b
- Explain the difference between
type
vsisinstance
- 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
andfilter
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
andgit 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