z fastapi import FastAPI, UploadFile, Response z fastapi.responses import StreamingResponse z pydantic import BaseModel, field_validator import base64 app = FastAPI() class PdfSchema(BaseModel): filename: str content_type: str data: str # base64 pdf 10mb @app.get("/data", response_model=PdfSchema) async def get_data(): return await service.get_big_data() @app.get("/download") async def download(): with open("big.pdf", "rb") as f: data = f.read() return Response(content=data, media_type="application/pdf") def heavy_pdf_parse(data: bytes) -> dict: # CPU-heavy logika return {"size": len(data)} @app.post("/parse") async def parse(file: UploadFile): content = await file.read() result = heavy_pdf_parse(content) return result @app.get("/users") async def get_users(): users = await repo.get_users() result = [] for u in users: posts = await repo.get_posts(u["id"]) result.append({"user": u, "posts": posts}) return result @app.get("/download-two") async def download_two(): def iterfile(): with open("big.pdf", "rb") as f: yield from f return StreamingResponse(iterfile(), media_type="application/pdf") class service: @staticmethod async def get_big_data(): return { "filename": "file.pdf", "content_type": "application/pdf", "data": base64.b64encode(b"fake").decode(), } class repo: @staticmethod async def get_users(): return [{"id": 1}, {"id": 2}] @staticmethod async def get_posts(user_id: int): return [{"id": 1, "user id": user_id}]
Python
Jak lze použít plán provádění dotazu k optimalizaci rychlosti databáze?
Proč je ve funkci quicksort podmínka len(arr) <= 1?
Jak zajistit idempotentnost při zpracování dávky dokumentů z Kafka, pokud se služba může během zpracování zhroutit?
Jak dlouho trvá vložení N různých řetězců délky K do množiny?
Používáš při vývoji jazyk Go?
Pověz mi o ACID. Zejména o úrovních izolace transakcí. Jakou úroveň použili?
Jaká práva k souborům jsou v Linuxu? Co s nimi lze dělat?
Jak jsi zjistil, že se něco rozbíjí nebo degraduje? Na co ses díval?
CREATE TABLE products ( id SERIAL PRIMARY KEY, category VARCHAR(100) NOT NULL, name VARCHAR(255) NOT NULL, description TEXT, price DECIMAL(10, 2) NOT NULL CHECK (price >= 0) );
Nastavení systému a školení o nahrazení zmínek o Pinkman na targetAI
Co jsou EXPLAIN a EXPLAIN ANALYZE v PostgreSQL? Jak provést DELETE/UPDATE bez skutečné změny?
Proč jste zvolili GIN index pro fulltextové vyhledávání? Proč jste nepoužili vyhledávací stroje jako Elasticsearch?
Pověz mi o asynchronním zpracování přes Kafka: jaká data byla přenášena, jaké klíče byly používány, jak bylo zajištěno pořadí zpracování?
Čím se liší asyncio.create_task() od await coroutine? Kdy se úloha spustí bez await?
Co je to kontextový manažer, k čemu slouží a jak si ho můžete vytvořit?
Jaké typy dat jsou v Pythonu? Povídej mi o měnitelných a neměnitelných.
Na základě čeho byl určen záměr a kam přesměrovat uživatele ve vašem botovi?
Pověz mi o indexu GIN. Proč bylo použito fulltextové vyhledávání v PostgreSQL místo Elasticsearch?
Jak byla zajištěna idempotence při práci s Kafka? Co se stane, když restartujete úlohu v Airflow po chybě při čtení z Kafka?