Sobes.tech

Python

из fastapi импортировать FastAPI, UploadFile, Response из fastapi.responses импортировать StreamingResponse из pydantic импортировать BaseModel, field_validator импортировать base64 app = FastAPI() class PdfSchema(BaseModel): filename: str content_type: str data: str # base64 pdf 10мб @apì.get("/data", response_model=PdfSchema) асинхронная def get_data(): return await service.get_big_data() @apì.get("/download") асинхронная def download(): с open("big.pdf", "rb") как f: data = f.read() return Response(content=data, media_type="application/pdf") def heavy_pdf_parse(data: bytes) -> dict: # CPU-heavy логика return {"size": len(data)} @post("/parse") асинхронная def parse(file: UploadFile): content = await file.read() result = heavy_pdf_parse(content) return result @apì.get("/users") асинхронная 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 @apì.get("/download-two") асинхронная 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}]

Middle
125

Ispričaj mi o asinhronoj obradi putem Kafka-e: koje su se podaci prenosili, koje su ključevi korišćeni, kako je osigurana redoslednost obrade?

Middle
125

Koja je tipizacija u Pythonu?

Middle
124

Koje vrste HTTP zahteva su pogodne za keširanje na serveru ili klijentu?

Junior — Middle
124

Ko je podesio alarme i kako pad usluge postaje alarm?

Middle+
124

SQL zadatak: kako izvući korisnike sa imenima na ćirilici i latinici, sortirajući tako da ćirilica ide prva, a unutar grupa — leksikografski?

Middle
124

Šta je generator? Čemu služi u Pythonu?

Middle
124

Нађите симбол који се најчешће појављује узастопно у низу

Senior
124

Kako izgleda proces od commita do deploy-a na testne environmente?

Middle+
123

Kako obraditi blokirajuću funkciju iz stare biblioteke tako da ne blokira petlju događaja?

Middle+
123

Ispričaj mi o tehnički složenim stvarima u Magnitu. Šta je bilo interesantno?

Middle
123

Šta je Dockerfile i čemu služi?

Middle+
123

Kako se vrše JOIN-ovi na strani PostgreSQL? Koje strategije postoje?

Senior
122

Ispričaj mi o nivoima izolacije transakcija u PostgreSQL-u i zašto su potrebni.

Middle
122

import threading import time brojač = 0 def povećaj(): global brojač for _ in range(100): trenutni = brojač time.sleep(0.000001) brojač = trenutni + 1 thread1 = threading.Thread(target=povećaj) thread2 = threading.Thread(target=povećaj) thread1.start() thread2.start() thread1.join() thread2.join() print(f"Konačna vrednost brojača: {brojač}") 150-200

Middle
122

Ispričaj mi o procesima, nitima i asinhronosti u Pythonu. Čime se razlikuju?

Senior
122

Šta je particija u Kafka? Šta je consumer grupa?

Senior
121

Šta je deadlock (zaključavanje)?

Junior
121

Zadaci za optimizaciju SQL su se pojavili zbog problema u produkciji ili ste ih sami inicirali?

Middle
120

Koliko vremena je potrebno za umetanje N različitih nizova dužine K u skup?

Senior
120
/20