¿Con qué bases de datos han trabajado y en qué nivel? Más detalles sobre PostgreSQL, Redis, ClickHouse.
Golang
¿Cómo devolver un objeto de tipo error en Go sin usar el paquete errors de la biblioteca estándar?
Diseñe un esquema SQL para un sistema bancario con tablas de cuentas y transacciones. ¿Qué restricciones e índices son necesarios?
¿Qué sucede después de ingresar google.com en el navegador y presionar Enter? Describa todo el proceso y a los participantes.
Explique la estructura del limitador de tasa y la función Allow. ¿Qué parámetros de configuración se utilizan y para qué sirven?
¿Cuál es la diferencia entre TCP y UDP? ¿Dónde se aplica cada uno de ellos?
¿Dónde y cómo ejecutar la función cleanup? ¿Cómo pasar el contexto al limitador de velocidad?
¿Existe un microservicio para deducir fondos del saldo del usuario? Cuando se replica el servicio, surge un problema de condición de carrera. ¿Cómo resolver este problema?
Explique su implementación de la función Allow después de las correcciones. ¿Cómo se maneja el caso de la primera solicitud del usuario?
Corrija la implementación de cleanup usando un ciclo for normal en lugar de range. Explique la lógica final de limpieza.
¿Por qué protocolo se realiza la consulta DNS? ¿Es este el único protocolo posible?
¿Cómo se puede evitar el problema de punto flotante sin usar NUMERIC? ¿Cuál es un enfoque alternativo con el tipo INT?
Proponga un modelo de estado para las transacciones en el procesamiento de pagos. ¿Cómo funciona el reembolso?
¿Se puede garantizar la entrega de datos mediante UDP?
¿Para qué sirve un mutex en un limitador de velocidad? ¿Se puede resolver el problema sin un mutex, usando sync.Map?
Explique el proceso de pago con tarjeta bancaria a través del terminal: ¿qué participantes están involucrados y cómo interactúan entre ellos?
¿Por qué eligió el tipo NUMERIC(18,2) para amount? ¿Qué alternativas existen y cuál es el problema con DOUBLE PRECISION?
¿Cómo organizaría una goroutine en segundo plano para limpiar periódicamente datos obsoletos de los buckets en una función de limpieza?
¿Qué es un índice en PostgreSQL? ¿Cómo trabajaste con índices y en qué basaste la decisión de crear un índice?
Implemente la lógica de la función Allow para el limitador de velocidad. ¿Cómo rastreará los eventos y verificará los límites?