Golang
¿Por qué se hizo un commit offset manual en lugar de usar el autocommit?
¿Tarjeta militar?
Cuéntame sobre tu proyecto. ¿Qué haces allí?
// El cliente pasa un objeto (Task) con datos para realizar la tarea, // en nuestro ejemplo usaremos una estructura vacía. // // El manejador puede procesar no más de N tareas simultáneamente, // y no más de X tareas pueden estar en cola para su procesamiento. // Si no hay espacio en la cola, se devuelve un error al cliente de inmediato. // // La tarea se procesa si hay procesadores libres disponibles. // Simulamos la duración del procesamiento con time.Sleep(5*time.Second). // Tan pronto como una tarea termina, tomamos la siguiente de la cola. // Si la cola está vacía, esperamos nuevas tareas de los clientes. // // Con un asterisco: ampliar la estructura Task y obtener los estados de las tareas mediante una consulta separada. package scheduler type Scheduler interface { AddTask(t Task) error Close() } type scheduler struct { queue chan Task wg sync.WaitGroup } func New(workers, queue int) Scheduler { // implementación pendiente } type Task interface { Do() }
¿Cómo se garantiza la seguridad en REST y Kafka? ¿Qué es HTTPS/TLS?
¿Quién se encarga del despliegue: los desarrolladores o DevOps?
¿Por qué dividiron el monolito en microservicios?
¿Por qué dejaste la empresa?
Tarea 4: Encontrar errores en el código con canales y goroutines (cierre doble del canal)
¿Es segura la mapa estándar en Go para concurrencia? ¿Qué alternativas existen?
¿Por qué el mapa normal en Go no es seguro para escrituras concurrentes?
¿Qué tipos de índices existen y cómo saber si se necesita un índice?
¿Cómo matar un proceso en Linux? ¿Qué hacer si kill pid no funciona?
¿Puede confirmar su experiencia a través del libro de trabajo?
¿Qué es ACID? ¿Niveles de aislamiento de transacciones?
Modelar un sistema bancario simple: - Tabla `accounts`: - `id`, - `owner_id`, - `currency`, - `created_at`. - Tabla `transactions`: - `id`, - `account_id`, - `amount`, - `created_at`. **Requisitos:** 1. Escribir SQL para crear el esquema con las restricciones necesarias (NOT NULL, FK, CHECK en `amount` no nulo). 2. Escribir una consulta: - obtener el saldo actual de la cuenta por `account_id` (suma de `amount`). 3. Dificultad adicional: soportar débito/crédito (registro doble). Limpieza
¿Cómo se puede evitar la condición de carrera? ¿Cómo funciona un Mutex?
¿Cómo se estableció el límite de tasa? ¿En qué se basaba y dónde se implementó? ¿Qué se utilizó técnicamente?
¿Cómo está organizada la mapa debajo del capó en Go?
¿Cómo interactuaban las réplicas de servicios en Kubernetes y qué información compartían?