Sobes.tech

Golang

¿Configuraste Kubernetes?

Middle
WildberriesWildberries
122

¿Qué frameworks, estándares y paquetes utilizas en Go?

Senior
wilix
122

¿En qué se diferencian los hilos de los procesos?

Senior
AvitoAvito
122

Cuéntame sobre MVCC (Control de Concurrencia Multi-Versiones) en PostgreSQL.

Senior
А7
122

¿Cómo se puede implementar la suma de variantes de tipos (type sum) en el lenguaje Go?

Junior — Middle
122

¿Cómo limitar la cantidad de llamadas al worker de sondeo si la API es de pago?

Senior
OZONOZON
122

¿Cómo es tu nivel de inglés?

Senior
IBS
122

Háblame de Redis

Senior
Uzum
122

¿Alguna vez ha tenido que tomar decisiones arquitectónicas por sí mismo?

Senior
CRTEX
122

Explique el concepto de sistema de archivos virtual y su propósito principal.

Junior — Middle
Rubytech
122

¿Cómo escribir una consulta para obtener al usuario con el penúltimo salario?

Senior
Магнит Тех
122

¿Cómo se maneja esto en el planificador si no es una solicitud de red, sino la lectura de un archivo?

Middle
RWB
122

/* Necesitamos transferir datos desde una fuente a un consumidor. La fuente entrega los datos en pequeños lotes (~diez registros), mientras que el consumidor funciona mejor con lotes grandes (~mil registros). Un ejemplo real es la transferencia de datos desde colas tipo Kafka a una base de datos Clickhouse. Fuente: - Prácticamente infinita. - La fuente nunca devuelve más de MaxItems registros en una llamada a Next. - Dentro de una "sesión" (una llamada a la función Pipe), la fuente devuelve datos nuevos en cada llamada a Next. - Sin embargo, tras reiniciar, la fuente comienza desde la posición "confirmada" anterior, indicada por cookie. Por lo tanto, *cada* valor de cookie devuelto por Next, después de guardar los datos en el receptor, debe ser confirmado con la llamada a Commit, en el mismo orden en que fueron devueltos por Next. Receptor: - No puede procesar más de MaxItems a la vez. Nivel básico: Se requiere implementar la función func Pipe(p Producer, c Consumer) error que lee datos de la fuente, los agrupa en un buffer de tamaño no mayor que MaxItems y los guarda en el receptor, después de lo cual confirma el progreso en la fuente. Dificultad adicional: Los métodos Next, Process y Commit están relacionados con llamadas de red y pueden tardar bastante. Para acelerar el proceso, es necesario paralelizar los procesos de lectura, escritura y confirmación del progreso. De modo que, durante Process o Commit, la lectura de la fuente y la formación del nuevo buffer continúen. */ const MaxItems = 9999 type Producer interface { // Next devuelve: // - un lote de items para procesar // - una cookie para confirmar cuando se complete el procesamiento // - un error Next() (items []any, cookie int, err error) // Commit se usa para marcar un lote de datos como procesado Commit(cookie int) error } type Consumer interface { Process(items []any) error } func Pipe(p Producer, c Consumer) error { // TODO }

Senior
Яндекс
122

¿En la empresa te dedicabas principalmente a la migración de PHP a Go?

Middle+
Гоуланг
121

¿Qué niveles de aislamiento de transacciones existen?

Senior
Финтехробот
121

Cuéntame un poco sobre ti: información clave que un posible empleador debería saber.

Middle
Graveling
121

¿Qué problemas surgen si hay muchas colisiones?

Middle
RWB
121

¿Cómo se utilizaron RabbitMQ y ClickHouse?

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

Habla sobre los slices en Go.

Middle
RWB
121

¿Por qué decidiste buscar algo nuevo, por qué dejas tu empresa actual?

Middle+
SelectelSelectel
121
/412