Cos'è la compressione del Write-Ahead Log (WAL) in PostgreSQL? In quali casi l'attivazione della compressione dei file WAL riduce il carico sul sottosistema disco e sulla rete, e in quali casi porta a un degrado delle prestazioni a causa di un utilizzo eccessivo dei core CPU?
Python
Come è strutturato il meccanismo della Policy del Loop di Eventi in asyncio? In quali scenari uno sviluppatore backend deve forzatamente cambiare la politica predefinita del ciclo di eventi con una personalizzata, ad esempio usando uvloop basato su libuv, e come si ottiene un aumento delle prestazioni?
Cos'è un indice per espressione (Expression Index / Functional Index) in PostgreSQL? Quali sono gli overhead sulle operazioni di scrittura (INSERT/UPDATE) che comporta e perché il pianificatore potrebbe rifiutarsi di usarlo se i tipi di dati nell'espressione della query non corrispondono?
Cosa è la copia profonda di oggetti (copy.deepcopy) in Python dal punto di vista delle prestazioni? Come aggira questo meccanismo i riferimenti ciclici, perché funziona criticamente lentamente su grandi grafi di oggetti, e quali pattern alternativi lo sostituiscono nei sistemi ad alto carico?
Come funziona il pattern Sidecar in Kubernetes, ad esempio con Istio o Envoy? Come permette questo pattern di delegare la crittografia del traffico (mTLS), il tracciamento delle richieste e i retry dall'applicazione?
Cosa sono Penetrazione della cache, Avalanche della cache e Riscaldamento della cache? Come progettare uno strato di cache per un negozio online in modo che durante una vendita notturna, quando milioni di utenti richiedono contemporaneamente nuovi prodotti, il database non fallisca a causa di cache miss?
Quali sono le differenze tra architetture Push e Pull nella progettazione di sistemi di streaming di dati come RabbitMQ e Kafka? Come influenzano questi approcci l'utilizzo della memoria sul lato del broker e il problema della backpressure dei consumatori?
Descrivi il protocollo di commit a due fasi (2PC) per transazioni distribuite che coinvolgono due database relazionali indipendenti. Cosa succede al sistema se il coordinatore della transazione si blocca esattamente tra la fase di voto (Prepare) e la fase di commit (Commit)?
Descrivi la meccanica della funzione incorporata compile(). Come convertire una stringa di codice Python generata dinamicamente in un oggetto di codice, eseguirlo in modo sicuro in un contesto isolato usando exec/eval, e prevenire vulnerabilità di esecuzione remota di codice (RCE)?
Descrivi i compromessi tra i protocolli WebSockets, SSE (Server-Sent Events) e gRPC Streaming. Quale protocollo sceglieresti per: a) chat dal vivo, b) feed unidirezionale di quotazioni azionarie, c) comunicazione tra servizi in un'architettura a microservizi, e perché?
Come sono costruite le estensioni C/C++ per Python (C Extensions) sotto il cofano? Perché le estensioni scritte usando l'API C tradizionale di Python rallentano la transizione a Python senza GIL, e come risolvono questo problema alternative moderne come HPy o Cython?
Perché la funzione standard os.cpu_count() di Python spesso restituisce il numero totale di core del server fisico all'interno di un contenitore Docker in esecuzione in un pod Kubernetes con limite CPU: 2? Quali problemi critici con la dimensione del pool di thread in Gunicorn o Celery causa questo, e come risolverlo?
Come funziona l'algoritmo di Hashing Consistente? Perché è necessario nella progettazione di un cluster di cache distribuito, ad esempio con 20 server Redis, e come minimizza il numero di chiavi che devono essere spostate quando si aggiunge o si rimuove un nodo?
Come fanno i Cgroups (Controllo Gruppi) e le Namespaces di Linux a creare isolamento all'interno di un contenitore Docker? Cosa succede a un processo Python quando supera resource.limits.cpu in Kubernetes, e perché superare limits.memory porta a OOMKilled, mentre superare CPU causa solo throttling?