Sobes.tech

Golang

¿Qué son las goroutines?

Junior
375

¿Qué es una condición de carrera y cómo lidiar con ella en Go?

Middle
338

¿Cuál es el papel y la finalidad del contexto en el lenguaje de programación Go?

Junior — Middle
289

¿Cómo se pueden gestionar las goroutines y todas se ejecutan en un solo hilo?

Middle
269

¿Cuál era tu equipo, cuántas personas?

Senior
257

¿Qué significa la columna load average en la utilidad top?

Middle
254

¿En qué se diferencian la aplicación y las características del lenguaje de programación Go en comparación con Python?

Junior — Middle
254

Cuéntame sobre la notación asintótica Big O: qué es, qué tipos hay y para qué se utilizan

Middle
237

¿Qué métodos y enfoques utilizas para verificar la funcionalidad de tu código?

Junior — Middle
229

¿Por qué se necesita TCP si simplemente se pueden volver a enviar los paquetes IP en ausencia de respuesta?

Middle
227

¿Qué puede contarme sobre su experiencia en la integración de diferentes sistemas o servicios?

Junior — Middle
226

¿Cómo analizar el estado de una máquina Linux sin monitoreo, si se siente mal? ¿Cómo entender las causas de los problemas?

Middle+
225

¿Para qué sirve la caché y el almacenamiento en caché? ¿Qué es una caché negativa?

Middle
221

¿Cómo se pueden usar las estructuras integradas para simular la herencia en Go?

Middle
221

¿Qué es el modelo GMP del planificador de Go?

Middle
218

¿Qué sucede si intentas leer datos de un canal que actualmente no contiene elementos?

Junior — Middle
207

¿Qué es la señal SIGTERM (kill -15) y por qué es mejor usarla en lugar de SIGKILL (kill -9)?

Middle+
206

// Existe una interfaz Backend con el método Execute // Se necesita escribir un balanceador de carga // El balanceador cumple con la interfaz Backend // La tarea del balanceador es aceptar una solicitud y delegarla a uno de los backends disponibles // El balanceador contiene en sí una colección de backends // Al ejecutar una solicitud, el balanceador elige uno de los backends según algún algoritmo // // Algoritmo Least Connection, verificación de estado y recuperación automática, hacemos thread safety mediante atomic, transmisión de contexto para cancelación, umbral de errores para desconectar un backend // Request representa la solicitud de entrada para Backend. type Request struct { // Payload – datos arbitrarios de la solicitud. Payload []byte } // Response representa la respuesta de Backend. type Response struct { // Payload – datos arbitrarios de la respuesta. Payload []byte } // Backend – interfaz que define el método para ejecutar una solicitud type Backend interface { Execute(ctx context.Context, req Request) (Response, error) } type Balancer struct { backends []Backend } func NewBalancer(backends []Backend) *Balancer { return &Balancer{backends: backends} } func (b *Balancer) Execute(ctx context.Context, req Request) (Response, error) { // todo: implementar lógica del balanceador return Response{}, nil } type TestBackend struct { }

Senior
205
/12