Sobes.tech

Golang

Is het mogelijk om expliciet een variabele te alloceren op de stack of heap? Hoe te begrijpen waar de variabele is gealloceerd?

375

Hoe is het Outbox-patroon geïmplementeerd? Welke tool stuurde vanuit de outbox-tabel naar Kafka?

309

Wat is het verschil tussen VACUUM en VACUUM FULL?

272

Waarom Kafka en niet andere systemen?

249

Hoe evalueer je vooraf de effectiviteit en nuttigheid van een index voordat je deze in productie neemt?

238

Welke transportlaag gebruikt gRPC? Wat is het verschil tussen HTTP/2 en HTTP/1.1?

222

Welke informatie toont EXPLAIN ANALYZE?

219

Wat gebeurt er in PostgreSQL wanneer een DELETE FROM table zonder voorwaarden wordt uitgevoerd?

219

Wat gebeurt er als je een al gesloten kanaal sluit? Wat gebeurt er als je schrijft in een nil-kanaal?

217

Wat is het verschil tussen SSL en TLS?

215

Wat is het verschil tussen de datatypes int32, int64 en gewoon int?

215

Wat is een map in Go? Hoe werkt het onder de motorkap? Wat gebeurt er bij een botsing?

209

Wat is Rate Limiting? Welke algoritmen bestaan er?

199

Vertel over een interessante taak waar je trots op bent, een ervaring of moeilijkheden.

194

Wat is het principe van Duurzaamheid in ACID? Hoe wordt het bereikt in PostgreSQL?

191

Wat is pessimistische blokkering?

190

// Bij het bijwerken van een bestelling moeten we de bestelgegevens naar meerdere services sturen (derde partij API's) // het aantal services groeit (kan duizenden+ zijn) // we hebben de code geschreven, in het begin ging alles goed, maar na verloop van tijd begon onze service veel geheugen te gebruiken func (s *orderService) SendOrder(ctx context.Context, hosts []string, order Order) { for i := 0; i < len(hosts); i++ { go func() { // Stel je voor dat dit een lange netwerkoproep is response, err := s.httpClient.Send(ctx, hosts[i], order) if err != nil { s.logger.Error(ctx, "fout bij verzenden", err) return } s.logger.Info(ctx, "succes", response) }() } }

Middle+
188

// We hebben een methode om informatie over producten te krijgen, deze methode wordt heel vaak aangeroepen // Zijn er problemen in deze code en hoe kunnen we ze oplossen? postgress database func (r *ProductRepository) GetProductDetails(ctx context.Context, productIDs []int) []Product { products := make([]Product, 0, len(productIDs)) for _, id := range productIDs { go func(id int) { var p Product query := "SELECT name, price, description FROM products WHERE id = $1" err := r.db.QueryRowContext(ctx, query, id).Scan(&p.Name, &p.Price, &p.Desc) if err != nil { r.logger.Error("error get product", "err", err) return } products = append(products, p) }(id) } return products }

Middle+
186

Wat zijn kanalen in Go? Welke zijn er? Hoe zijn ze van binnen opgebouwd?

186

Hoe is het cachen van gegevens geïmplementeerd? Welke cache-beleid werd gebruikt?

185
/3