Sobes.tech

Golang

Cos'è API Gateway e perché ne abbiamo bisogno?

Senior
Магнит Тех
61

Hai lavorato con l'architettura? Racconta un paio di soluzioni architettoniche

Senior
bip.ru
60

Un puntatore può puntare sia allo stack che all'heap?

Middle
VKVK
60

Avevi un analista, cioè lavoravi secondo un brief? Come era?

Middle+
РамблерРамблер
60

Quanto sarebbe accettabile per te un formato di lavoro in ufficio/ibrido (ufficio tra [localizzazione])?

Middle
РедСофт
60

Perché è necessaria la combinazione Load Balancer + API Gateway? Qual è il ruolo di ciascun componente?

Senior
Hi Rockits
60

Come viene garantita la coerenza dei dati nel progetto?

Middle+
КуперКупер
60

Cosa succede se avvii 5 trilioni di goroutine? Come ottimizzare?

Senior
РамблерРамблер
60

Ti posizioni come sviluppatore di livello medio o senior?

Middle+
2gis2gis
60

Quali sono gli svantaggi di passare un'entità attraverso il contesto in Go?

Senior
RedLab
60

Come capire se la degradazione è avvenuta proprio a causa dell'aumento del consumo di risorse (CPU, ecc.)?

Middle
WildberriesWildberries
60

Hai progettato un'architettura da zero, hai lavorato con il progettazione di sistemi?

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

Cosa cambia se si passa la capacità iniziale durante la creazione di uno slice?

Senior
plata
60

Da dove inizi a lavorare se arrivi in un progetto dove il codice è stato scritto negli anni, ci sono molti legacy, nessun test e tutto sta per crollare?

Senior
Napoleon IT
60

Parlami della tua esperienza con Docker e Kubernetes: cosa hai dovuto fare?

Senior
А7
60

Perché stai cercando qualcos'altro? C'è una ragione particolare?

Senior
Shopfully
60

Quali primitive di sincronizzazione delle goroutine esistono in Go?

Middle+
СБЕРСБЕР
60

Gli aggiornamenti dei documenti arrivano al servizio message Document { string Url = 1; // URL del documento, il suo identificatore univoco uint64 PubDate = 2; // ora di pubblicazione dichiarata del documento uint64 FetchTime = 3; // ora di ricezione di questo aggiornamento del documento, può essere considerato come identificatore di versione. La coppia (Url, FetchTime) è unica. string Text = 4; // testo del documento uint64 FirstFetchTime = 5; // inizialmente assente, deve essere compilato } I documenti possono arrivare in qualsiasi ordine (non nell'ordine in cui sono stati aggiornati), e possono esserci messaggi duplicati. È necessario, in uscita, formare messaggi uguali, ma con campi corretti secondo le seguenti regole (tutto quanto sotto vale per un gruppo di documenti con lo stesso campo Url): Il campo Text e FetchTime devono essere uguali a quelli del documento con il FetchTime più grande ricevuto finora. Il campo PubDate deve essere uguale a quello del messaggio con il FetchTime più piccolo. Il campo FirstFetchTime deve essere uguale al valore minimo di FetchTime. In altre parole, in ogni momento prendiamo PubDate e FirstFetchTime dalla prima versione ricevuta finora (se ordiniamo per FetchTime), e Text dall'ultima. L'interfaccia nel codice può essere implementata così: type Processor interface { Process(doc *Document) (*Document, error) } Questo codice funzionerà in un servizio che legge messaggi da una coda (Kafka o simile), e scrive anche il risultato nella coda. Se Process restituisce Null, nulla viene scritto nella coda.

Senior
VKVK
60

Hai usato CTE? Racconta cos'è.

Senior
Cloud.ru
60

In quali team hai lavorato?

Senior
AndersenAndersen
60
/411