Sobes.tech

Golang

¿Cuál fue el perfil de carga de lectura y escritura para estos almacenamientos: cuántas solicitudes por segundo?

160

Cuéntame brevemente la arquitectura del proyecto de cuentas por cobrar.

160

¿Cuál fue el mayor volumen de datos con el que trabajaste y cuántas solicitudes de lectura/escritura hubo?

158

¿Puedes contar brevemente tu experiencia? ¿Cuál es el principal lenguaje de programación que utilizas? ¿Cuántos años de experiencia tienes en desarrollo industrial?

157

¿Por qué decidieron usar LLM en lugar de solo lógica en el código?

157

¿En qué se diferencia JWT de almacenar sesiones en el servidor?

156

¿Cuál es el lenguaje de programación principal que utilizas? ¿Usas C++ o Python?

153

// código para la función best() // con manejo de errores para cuando no hay backend disponible

153

func Pipe(p Productor, c Consumidor) error { // TODO buf := make([]any, 0, MaxItems) cookies := make([]int, 0) flush := func() error { if len(buf) == 0 { return nil } if err := c.Process(buf); err != nil { return err } for _, cookie := range cookies { if err := p.Commit(cookie); err != nil { return err } } buf = buf[:0] cookies = cookies[:0] return nil } for { items, cookie, err := p.Next() if err != nil { flush() return err }

153

¿Cuánta memoria se asigna inicialmente para el búfer?

153

Describe el algoritmo para resolver el problema maxSegment

152

¿Por qué la llamada a backend.Invoke se realizó fuera del mutex?

152

¿Qué ocurrirá si Consumer.Process devuelve un error — los datos del búfer no se perderán?

150

El balanceador debe entender que el backend responde con errores, y al superar un umbral durante un tiempo determinado, excluirlo del balanceo (Circuit Breaker)

150

Dada una cadena S, es necesario contar la cantidad de substrings en esta cadena que contienen todos los caracteres de esta cadena al menos una vez. Ejemplos: "abca" -> 3 // abc, bca, abca "aa" -> 3 // aa, a, a, "ffg" -> 2 // ffg, fg

149

¿Cuál es la cantidad máxima de solicitudes por segundo que tienes en este momento bajo alta carga?

147

Esta es una cadena de caracteres. Encontrar la cantidad de pares de índices i y j (i <= j), entre los cuales, inclusive, no hay caracteres repetidos. Para la cadena "aba" la respuesta es 5: [0, 0] ("a") [0, 1] ("ab") [1, 1] ("b") [1, 2] ("ba") [2, 2] ("a") Para la cadena "acbb" la respuesta es ?:

147

¿Qué lenguajes de programación, además de Go, usas para ti mismo o en desarrollo comercial?

147

/* Necesitamos transferir datos de 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 sola 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, definida por cookie. Por lo tanto, *cada* valor de cookie que devuelve Next, después de guardar los datos en el receptor, debe ser confirmado con una llamada a Commit, en el mismo orden en que fueron devueltos por Next. Receptor: - No puede procesar más de MaxItems a la vez. 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 a MaxItems y los guarda en el receptor, después de lo cual confirma el progreso en la fuente. */ const MaxItems = 9999 type Producer interface { // Next devuelve: // - un lote de items para procesar // - cookie para confirmar cuando se complete el procesamiento // - error Next() (items []any, cookie int, err error) // Commit se usa para marcar el lote de datos como procesado Commit(cookie int) error } type Consumer interface { Process(items []any) error } func Pipe(p Producer, c Consumer) error { // TODO }

145
/11