Sobes.tech

Golang

Vai ir iespējams skaidri piešķirt mainīgo stekā vai kaudzē? Kā saprast, kur mainīgais tika piešķirts?

384

Kā tika īstenots Outbox modelis? Kura rīks sūtīja no outbox tabulas uz Kafka?

311

Kāda ir atšķirība starp VACUUM un VACUUM FULL?

276

Kāpēc Kafka, nevis citas sistēmas?

251

Kā iepriekš novērtēt indeksa efektivitāti un lietderību pirms tā pievienošanas ražošanai?

242

Kuru transporta protokolu izmanto gRPC? Kāda ir atšķirība starp HTTP/2 un HTTP/1.1?

226

Kādu informāciju rāda EXPLAIN ANALYZE?

223

Kas notiek PostgreSQL, kad tiek izpildīts DELETE FROM table vaicājums bez nosacījumiem?

221

Kas ir Durability princips ACID? Kā tas tiek sasniegts PostgreSQL?

221

Kas notiks, ja aizverat jau slēgto kanālu? Kas notiks, ja rakstīsiet nil kanālā?

219

Kāda ir atšķirība starp datu tipiem int32, int64 un vienkārši int?

217

Kāda ir atšķirība starp SSL un TLS?

215

Kas ir map Go? Kā tas darbojas iekšpusē? Kas notiek sadursmes gadījumā?

211

Kas ir Rate Limiting? Kādi algoritmi pastāv?

203

Pastāsti par interesantu uzdevumu, ar kuru lepojies, kādu pieredzi, grūtības.

200

// Atjauninot pasūtījumu, mums jānosūta pasūtījuma dati vairākām pakalpojumiem (trešo pušu API) // pakalpojumu skaits pieaug (var būt tūkstoš+) // mēs uzrakstījām kodu, sākumā viss gāja labi, bet ar laiku mūsu pakalpojums sāka patērēt daudz atmiņas func (s *orderService) SendOrder(ctx context.Context, hosts []string, order Order) { for i := 0; i < len(hosts); i++ { go func() { // Iedomājieties, ka tas ir ilgs tīkla zvans response, err := s.httpClient.Send(ctx, hosts[i], order) if err != nil { s.logger.Error(ctx, "neizdevās nosūtīt", err) return } s.logger.Info(ctx, "veiksmīgi", response) }() } }

Middle+
194

Kas ir GOMAXPROCS? Kas notiks, ja iestatīsiet ļoti lielu skaitli?

193

// Mūsu metode, lai iegūtu informāciju par produktiem, šī metode tiek izsaukta ļoti bieži // vai ir problēmas šajā kodā un kā tās labot? postgress datu bāze 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+
192

Kas ir pesimistiska bloķēšana?

190

Kas ir konteksts Go? Kāda ir atšķirība starp context.WithTimeout un context.WithDeadline?

189
/3