Sobes.tech

Python

¿Qué es la compresión de Write-Ahead Log (WAL) en PostgreSQL? ¿En qué casos la habilitación de la compresión de archivos WAL reduce la carga en el subsistema de disco y la red, y en qué casos conduce a una degradación del rendimiento debido a un uso excesivo de los núcleos de CPU?

6

¿Cómo está estructurado el mecanismo de la Política del Bucle de Eventos en asyncio? ¿En qué escenarios un desarrollador de backend necesita cambiar forzosamente la política predeterminada del bucle de eventos por una personalizada, por ejemplo usando uvloop basado en libuv, y cómo se logra la mejora en el rendimiento?

6

¿Qué es un índice por expresión (Expression Index / Functional Index) en PostgreSQL? ¿Qué sobrecargas en las operaciones de escritura (INSERT/UPDATE) implica y por qué el planificador puede negarse a usarlo si los tipos de datos en la expresión de la consulta no coinciden?

4

¿Qué es la copia profunda de objetos (copy.deepcopy) en Python desde una perspectiva de rendimiento? ¿Cómo evita este mecanismo las referencias cíclicas, por qué funciona críticamente lentamente en grandes grafos de objetos, y qué patrones alternativos lo reemplazan en sistemas de alta carga?

4

¿Cómo funciona el patrón Sidecar en Kubernetes, por ejemplo con Istio o Envoy? ¿Cómo permite este patrón externalizar el cifrado del tráfico (mTLS), el trazado de solicitudes y los reintentos desde la aplicación?

4

¿Qué son la penetración de caché, la avalancha de caché y el calentamiento de caché? ¿Cómo diseñar una capa de caché para una tienda en línea de modo que durante una venta nocturna, cuando millones de usuarios solicitan simultáneamente nuevos productos, la base de datos no falle debido a fallos de caché?

4

¿Cuáles son las diferencias entre las arquitecturas Push y Pull en el diseño de sistemas de transmisión de datos como RabbitMQ y Kafka? ¿Cómo afectan estos enfoques al utilización de memoria en el lado del broker y al problema de la presión de los consumidores?

3

Describe el protocolo de compromiso de dos fases (2PC) para transacciones distribuidas que involucran dos bases de datos relacionales independientes. ¿Qué sucede con el sistema si el coordinador de la transacción se bloquea exactamente entre la fase de votación (Prepare) y la fase de compromiso (Commit)?

3

Describe la mecánica de la función incorporada compile(). Cómo convertir una cadena de código Python generada dinámicamente en un objeto de código, ejecutarlo de manera segura en un contexto aislado usando exec/eval, y prevenir vulnerabilidades de ejecución remota de código (RCE).

3

Describe las ventajas y desventajas de los protocolos WebSockets, SSE (Server-Sent Events) y gRPC Streaming. ¿Cuál protocolo elegirías para: a) chat en vivo, b) feed unidireccional de cotizaciones bursátiles, c) comunicación entre servicios en arquitectura de microservicios, y por qué?

2

¿Cómo se construyen las extensiones en C/C++ para Python (C Extensions) bajo el capó? ¿Por qué las extensiones escritas usando la API C tradicional de Python ralentizan la transición a Python sin GIL, y cómo resuelven este problema alternativas modernas como HPy o Cython?

2

¿Por qué la función estándar de Python os.cpu_count() a menudo devuelve el número total de núcleos del servidor físico dentro de un contenedor Docker que se ejecuta en un pod de Kubernetes con límite de CPU: 2? ¿Qué problemas críticos con el tamaño del grupo de hilos en Gunicorn o Celery causa esto, y cómo arreglarlo?

2

¿Cómo funciona el algoritmo de Hashing Consistente? ¿Por qué es necesario en el diseño de un clúster de caché distribuido, por ejemplo con 20 servidores Redis, y cómo minimiza la cantidad de claves que deben ser movidas al añadir o eliminar un nodo?

1

¿Cómo crean aislamiento los Cgroups (Grupos de Control) y los Namespaces en Linux dentro de un contenedor Docker? ¿Qué sucede con un proceso Python cuando supera resource.limits.cpu en Kubernetes, y por qué superar limits.memory conduce a OOMKilled, mientras que superar CPU solo causa throttling?

1