Sobes.tech

Golang

¿Por qué buscas algo diferente? ¿Hay alguna razón en particular?

Senior
Shopfully
60

¿Qué primitivas de sincronización de goroutines existen en Go?

Middle+
СБЕРСБЕР
60

Las actualizaciones de documentos llegan al servicio mensaje Documento { string Url = 1; // URL del documento, su identificador único uint64 PubDate = 2; // tiempo de publicación declarado del documento uint64 FetchTime = 3; // tiempo de recepción de esta actualización del documento, puede considerarse como identificador de versión. El par (Url, FetchTime) es único. string Text = 4; // texto del documento uint64 FirstFetchTime = 5; // inicialmente ausente, debe completarse } Los documentos pueden llegar en cualquier orden (no en el orden en que fueron actualizados), y también puede haber mensajes duplicados. Es necesario en la salida formar mensajes iguales, pero con campos corregidos según las siguientes reglas (todo lo mencionado a continuación es para un grupo de documentos con el mismo campo Url): El campo Text y FetchTime deben ser iguales a los del documento con el mayor FetchTime recibido hasta ahora. El campo PubDate debe ser igual al del mensaje con el menor FetchTime. El campo FirstFetchTime debe ser igual al valor mínimo de FetchTime. Es decir, en cada momento tomamos PubDate y FirstFetchTime del primer versión recibida hasta ahora (si las ordenamos por FetchTime), y Text de la última. La interfaz en el código puede implementarse así: type Processor interface { Process(doc *Document) (*Document, error) } Este código funcionará en un servicio que lee mensajes de una cola (Kafka o similar), y también escribe el resultado en la cola. Si Process devuelve Null, no se escribe nada en la cola.

Senior
VKVK
60

¿Has utilizado CTE? Cuéntame qué es.

Senior
Cloud.ru
60

¿En qué equipos has trabajado?

Senior
AndersenAndersen
60

Cuéntame sobre un caso técnico complejo: ¿cómo implementaste exactamente la solución?

Senior
Hi Rockits
60

¿Qué estilo de Saga utilizaron: coreografía u orquestación?

Senior
А7
60

¿Puedes dar un ejemplo de una tarea con un alto grado de incertidumbre que hayas tenido que realizar?

Senior
AvitoAvito
60

¿Qué sabes sobre las entidades principales de Kafka?

Middle+
Magnit Tech
60

¿Hacia dónde te diriges en tu desarrollo: en arquitectura, gestión o programación?

Senior
X5
60

¿Qué es la construcción `<-ch` en Go?

Senior
Магнит Тех
60

Cuéntame sobre los slices en Go. ¿Qué son y qué aspectos se deben tener en cuenta al trabajar con ellos?

Middle+
X5
60

¿Cuántas personas participaron en el proyecto más grande en el que has trabajado? ¿Menos de diez, decenas, cientos?

Senior
Яндекс
60

¿Por qué criterios elegirás una oferta si hay varias?

Senior
FinFrame
60

¿Qué hiciste en tu último trabajo?

Senior
AndersenAndersen
60

¿Qué comando se usa para insertar un valor en una tabla?

Middle+
МТСМТС
59

¿Para qué sirve un canal en una transmisión sin búfer, si los datos van de pila en pila? ¿Qué papel desempeña el canal?

Senior
AstonAston
59

¿Qué más ocurrirá (además del pánico) al escribir en un mapa de forma concurrente sin sincronización?

Senior
Spectr
59

¿En qué opción de conversión de tipo es posible un pánico y qué construcción permite evitarlo?

Senior
Flant
59

¿Hay otros consumidores, como una vitrina o un sitio web, que necesiten recibir datos sobre existencias disponibles muy rápidamente?

Senior
МВидеоМВидео
59
/411