Sobes.tech

Golang

Perché nel metodo Process non vengono restituiti errori? È necessario correggere e inviare il codice completamente funzionante.

Senior
204

Cos'è un puntatore e quanto pesa?

Middle
202

È possibile utilizzare il contesto per trasmettere dati tra componenti o funzioni?

Junior — Middle
202

Cos'è una condizione di race e quali sono i metodi per proteggerla?

Middle
202

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
202

Come funziona la ricerca binaria in una lista ordinata?

Middle
201

Come usare select per lavorare con più canali contemporaneamente?

Middle
201

Qual è la differenza tra una goroutine e un thread del sistema operativo?

Middle
200

Cos'altro, oltre a un mutex, si può usare per proteggersi dalle condizioni di gara?

Middle
200

Cosa sono le sonde (probes) in Kubernetes, come configurarle e quali sono i tipi?

Senior
199

Cos'è la memoria virtuale (swap), quando è necessaria e quando si dovrebbe disattivarla?

Senior
197

/* Stringa data che contiene i caratteri (){}. È necessario determinare se la stringa di input è bilanciata in termini di parentesi. */ func isBalanced(s string) bool { // TODO: implementare questo return false } fmt.Println(isBalanced("()")) // -> true fmt.Println(isBalanced("({()})")) // -> true fmt.Println(isBalanced("(()")) // -> false fmt.Println(isBalanced("(()))")) // -> false fmt.Println(isBalanced("({})")) // -> false

Middle
197

Come consentono le interfacce in Go di implementare il polimorfismo senza indicare esplicitamente l'eredità?

Middle
197

Parlami più dettagliatamente dei progetti in Go

Middle
197

Come cresce la capacità di uno slice durante l'espansione?

Middle
196

Quali progetti stai gestendo, quali sono i compiti di alto livello che svolgi?

Middle+
196

Cos'è un canale in Go e quali sono le sue principali aree di applicazione?

Middle
196

Cosa dovrebbe restituire la funzione isBalanced per una stringa vuota?

Middle
196

Cos'è un fork?

Middle
194

Come funziona il commit a due fasi (2PC)?

Middle
194
/12
Domande per la preparazione Golang — Pagina 4 - sobes.tech