Golang
¿Cuáles son las formas de concatenar cadenas en Go? ¿En qué se diferencian + y strings.Builder?
¿Ha realizado pruebas unitarias?
¿Cómo vamos a recibir la respuesta del proveedor de pagos? El entrevistador propone usar un webhook.
¿Se pasa un mapa por referencia a una función en Go?
func (p *Pool) Stop() { p.mu.Unlock() // Ahora se puede cerrar el canal de forma segura close(p.tasks) // señal a los workers: no habrá más tareas, lee el resto p.wg.Wait() // esperamos a que terminen todos los goroutines p.cancel() // cancelamos el contexto por si acaso fmt.Println("Pool detenido.") } // ForceStop detiene forzosamente todos los workers sin esperar a que terminen las tareas. // Los workers serán interrumpidos inmediatamente a través del contexto. func (p *Pool) ForceStop(timeout time.Duration) { fmt.Printf("Deteniendo forzosamente el pool (timeout: %v)...\n", timeout) // Bloqueamos la adición de nuevas tareas p.mu.Lock() p.isOpen = false p.mu.Unlock() // Cerramos el canal para que los workers no tomen nuevas tareas close(p.tasks) // Cancelamos el contexto – esto interrumpirá todas las tareas en ejecución p.cancel() // Damos un tiempo limitado para finalizar done := make(chan struct{}) go func() { p.wg.Wait() close(done) }() select { case <-done: fmt.Println("Pool detenido forzosamente (todos los workers han terminado)") case <-time.After(timeout): fmt.Println("Pool detenido forzosamente (timeout, pueden quedar goroutines colgadas)") } }
¿Hasta qué nivel de análisis descompusieron las tareas?
¿Puedes contarme más sobre tu primer trabajo desde 2019 hasta 2021?
¿Cómo entendiste que el chat beneficia a los usuarios?
¿Qué propiedades deben tener las claves del mapa en Go?
¿Qué componente de Kubernetes almacena el estado de los recursos del clúster?
¿Cómo verificarías que un índice añadido realmente funciona bien, especialmente en producción?
¿En qué se diferencia TCP de UDP? ¿Por qué se utiliza TCP para HTTPS?
¿Qué piensas de los turnos? ¿Has tenido alguna experiencia con ello?
Háblame sobre el equipo y la metodología de trabajo.
Cuéntenos sobre el patrón Transactional Outbox: cómo funciona y para qué se utiliza.
¿Cómo agregar a la sistema un almacenamiento de todos los eventos de todo el proyecto para análisis y agregación?
¿Hay ventajas en el enfoque de separar las interfaces en un paquete separado?
¿Se puede escalar un clúster de Redis en tiempo real añadiendo shards en vivo?
Cuéntame sobre un caso técnico complejo: ¿cómo implementaste exactamente la solución?
Cuéntame, ¿qué sucede al final: cómo acumulamos el búfer?