Explain the working principle of WebSocket and how it differs from standard HTTP connections.
Python
What data types can be dictionary keys in Python?
What happens if string variables are added to a list (using quicksort)?
How does caching work in Dockerfile? How to reduce the time of subsequent builds?
How can a query execution plan be used to optimize database performance?
Where do you apply processes, threads, and where is asynchrony? Provide specific task examples.
Tell me about Async, Multithreading, Multiprocessing: what are they, when is it better to use each?
Why is GIL needed at all, given that it imposes such restrictions?
Why do FastAPI's synchronous handlers execute in parallel in 5 seconds instead of 10?
What was your purpose for using Apache Airflow? Why did you choose it specifically?
What will the code with a mutable default argument in function arguments output?
What are the main built-in collections in Python? How do lists and tuples differ, and why is a tuple needed?
What data types are there in Python? Mutable and immutable?
Have you done page parsing? Are you familiar with Scrapy, Playwright?
Have you worked with vector databases? What is a vector physically?
How was your monitoring organized? Prometheus, Grafana, logs?
How was fault tolerance organized in the recommendation service with OpenAI? How were prompts built, how were failures handled, what were the bandwidth limits?
When should you offload a task to Celery, and when to process it in a process pool or run_in_executor?
Tell about the principles of SOLID. How were they applied in your project?
How to properly ensure idempotency when processing a batch of documents from Kafka if the service might crash during processing?