Python
Чем на практике в Python отличается подход с потоками от подхода с asyncio с точки зрения сложности и производительности?
Вопросы кандидата об онбординге, CI/CD процессах и дежурстве при падении продакшена
На какие 5 групп делятся статус-коды HTTP?
# Провести код-ревью, найти все ошибки def get_first_matching_object(predicate, objects=[]): matching_objects = (obj for obj in objects if predicate(object)) if matching_objects: object = matching_objects[0] return object else: return None
Как деплоили в Kubernetes, какой веб-сервер использовали?
Что такое замыкание в Python?
Что такое __slots__ в Python?
[имя] расскажите про механизм асинхронности в Python: как он выглядит, где хорош, где плох, для чего придумали?
Как устроен LangChain? Расскажи про основные компоненты.
Типы связей в реляционных БД. Как реализуется One-to-One и Many-to-Many?
Какие изменяемые и неизменяемые объекты есть в Python?
На каком этапе включается LLM в RAG-пайплайне?
```python import asyncio from typing import List, Optional class Chunk: def __init__(self, items: List[dict]): self.items = items @property def size(self) -> int: return len(self.items) class Producer: async def next(self) -> Optional[Chunk]: # возвращает пачку данных или None ... async def commit(self, chunks: List[Chunk]) -> None: # фиксируем успешную обработку chunks ... class Consumer: max_batch_size = 100 async def consume(self, chunks: List[Chunk]) -> None: total_size = sum(chunk.size for chunk in chunks) if total_size > self.max_batch_size: raise ValueError("batch is too large") # обработка данных ... producer = Producer() consumer = Consumer() async def process(): while True: chunk = await producer.next() if chunk is None: break try: await consumer.consume([chunk]) await producer.commit([chunk]) except Exception as e: print("error but continue:", e) continue if __name__ == "__main__": asyncio.run(process()) ``` This code defines asynchronous producer-consumer classes with batch processing and error handling. The task is to implement or complete the logic for producing, consuming, and committing chunks of data, ensuring batch size limits are respected and errors are handled gracefully.
import fastapi import requests app = fastapi.FastAPI() @app.get() def get_posts(first_n, custom_ids: list = []): ids = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97] posts = [None for i in range(first_n)] i = 0 for post_id in (custom_ids or ids[:first_n]): url = f"[link] response = requests.get(url, verify=False) posts[i] = response.json() return posts
Объясните работу декоратора @retry в вашем коде. Какие ошибки он отлавливает и почему именно эти?
Что такое ACID в контексте транзакций БД, расшифруйте каждую букву и что это дает приложению?
Насколько вы покрываете код тестами? Как пишете тесты?
Почему всё-таки работает многопоточность с IO-bound задачами, несмотря на GIL?
Для чего в PostgreSQL нужны индексы, какие плюсы дают и какие проблемы создают?
Что может являться ключом в словаре?