Sobes.tech

Python

Cosa succede in asyncio.gather() se si verifica un errore in uno dei task? Come fare in modo che le eccezioni non vadano perse?

Middle
116

import threading import time contatore = 0 def incrementa(): global contatore for _ in range(100): current = contatore time.sleep(0.000001) contatore = current + 1 thread1 = threading.Thread(target=incrementa) thread2 = threading.Thread(target=incrementa) thread1.start() thread2.start() thread1.join() thread2.join() print(f"Valore finale del contatore: {contatore}") 150-200

Middle
116

Parla dei livelli di isolamento delle transazioni in PostgreSQL e a cosa servono.

Middle
116

Come garantire l'idempotenza durante l'elaborazione di un batch di documenti da Kafka se il servizio può fallire a metà elaborazione?

Middle
115

Usi il linguaggio Go nel tuo sviluppo?

Junior — Middle
115

da fastapi import FastAPI, UploadFile, Response from fastapi.responses import StreamingResponse from pydantic import BaseModel, field_validator import base64 app = FastAPI() class PdfSchema(BaseModel): filename: str content_type: str data: str # base64 pdf 10мб @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 логика 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}]

Middle
115

Parlami di ACID. Soprattutto dei livelli di isolamento delle transazioni. Quale livello hanno usato?

Middle
114

Come hai scoperto che qualcosa si rompeva o si degradava? A cosa guardavi?

Middle+
114

Quanto tempo ci vuole per inserire N stringhe diverse di lunghezza K in un set?

Senior
114

Cosa sono EXPLAIN e EXPLAIN ANALYZE in PostgreSQL? Come eseguire DELETE/UPDATE senza applicare modifiche reali?

Senior
114

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) );

Senior
114

Configurazione del sistema e formazione sulla sostituzione delle menzioni di Pinkman con targetAI

Senior
113

Cos'è un gestore di contesto, a cosa serve e come crearne uno?

Middle
113

Parla del processamento asincrono tramite Kafka: quali dati venivano trasmessi, quali chiavi venivano usate, come veniva garantito l'ordine di elaborazione?

Middle
113

Qual è la differenza tra asyncio.create_task() e await coroutine? Quando viene eseguita una task senza await?

Middle
112

Perché hai scelto l'indice GIN per la ricerca full-text? Perché non hai usato motori di ricerca come Elasticsearch?

Middle
112

Quali tipi di dati ci sono in Python? Raccontami dei mutabili e immutabili.

Middle
112

Trovare il simbolo che si presenta più frequentemente in sequenza nella stringa

Senior
111

Ci sono problemi con il trasferimento di oggetti tramite socket Unix tra processi? Come eliminare la serializzazione?

Middle
111

Nel tuo curriculum si dice che hai ottimizzato l'elaborazione degli ordini da 3 secondi a 50 millisecondi tramite l'outsourcing in Celery. Cosa esattamente rallentava, come hai deciso cosa esternalizzare e come hai misurato il risultato?

Senior
111
/20