Sobes.tech

Golang

func fanin[T cualquier](chs ...<-chan T) chan T { out := make(chan T) wg := sync.WaitGroup{} for _, ch := range chs { wg.Add(1) go func(c <-chan T) { defer wg.Done() for v := range c { out <- v } }(ch) } go func() { wg.Wait() close(out) }() return out } func main() { ch1 := make(chan int, 5) ch2 := make(chan int, 5) for i := 1; i <= 5; i++ { ch1 <- i ch2 <- i * 2 } close(ch1) close(ch2) fmt.Println(fanin(ch1, ch2)) }

Senior
01.tech
36

¿Qué son las particiones en Kafka y cómo elegir la cantidad de consumidores?

Middle+
Magnit Tech
36

¿Cuál es tu pila técnica? Enumera los lenguajes de programación en una escala del 1 al 10.

Middle+
ООО Макс
36

¿Qué tan bien conoces Linux? ¿Qué comandos usas con más frecuencia?

Senior
AltDev
36

¿Por qué estás considerando otras ofertas ahora, qué no te satisface de Wildberries?

Middle+
Займиго
36

¿La base de datos sigue siendo compartida para todo el monolito o se dividieron en bases de datos separadas para cada servicio?

Senior
Ozon ФинтехOzon Финтех
36

¿Qué microservicios desarrollaste?

Middle+
Штрафов нет
36

¿ Los desarrolladores escribieron algunos tests?

Senior
Ozon ФинтехOzon Финтех
36

Se entregaron 20 picadoras de carne, 5 se enviaron — ¿cuánto queda en el almacén y cuál es el estado actual en el sistema?

Senior
МВидеоМВидео
36

Escribe un SELECT simple de todas las columnas de la tabla books.

Middle
АО Медиа Эффект
36

¿Qué estás buscando ahora para ti, en qué dirección quieres desarrollarte?

Middle+
AvitoAvito
36

// Escribir un manejador asíncrono de tareas como una biblioteca // 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 inmediatamente. // 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 solicitud separada package scheduler type Scheduler interface { AddTask(t Task) error Close() } type Task interface { Do() }

Senior
Cloud.ru
36

¿Cómo entender a nivel SQL que ya existe una clave de idempotencia? ¿Cómo usar ON CONFLICT?

Senior
Pasul LTD
36

¿Cómo se puede acelerar el algoritmo de filtrado de grafos con un gran número de vértices y eventos?

Senior
Себе
36

¿Sabes trabajar sin analistas?

Senior
BLS-Soft
36

¿Qué sabes sobre trabajar con contextos en Go? ¿Qué métodos tiene?

Senior
СБК ПАРУС
36

¿Qué se utilizó para evaluar el rendimiento y el perfilado? ¿Se utilizó el perfilado estándar pprof en Go?

Senior
Магнит Тех
36

¿Qué es más importante: los intereses del negocio o los intereses del usuario?

Senior
AvitoAvito
36

¿Cuál es su experiencia trabajando con PostgreSQL? ¿Ha tenido que escribir consultas complejas o realizar optimizaciones?

Middle+
МВидео/эльдорадо
36

¿Quieres trabajo remoto a tiempo completo o también estás dispuesto a considerar opciones con oficina?

Senior
АЙ-ТЕКОАЙ-ТЕКО
36
/412