Vai ir iespējams skaidri piešķirt mainīgo stekā vai kaudzē? Kā saprast, kur mainīgais tika piešķirts?
Golang
Kā tika īstenots Outbox modelis? Kura rīks sūtīja no outbox tabulas uz Kafka?
Kāda ir atšķirība starp VACUUM un VACUUM FULL?
Kāpēc Kafka, nevis citas sistēmas?
Kā iepriekš novērtēt indeksa efektivitāti un lietderību pirms tā pievienošanas ražošanai?
Kuru transporta protokolu izmanto gRPC? Kāda ir atšķirība starp HTTP/2 un HTTP/1.1?
Kādu informāciju rāda EXPLAIN ANALYZE?
Kas notiek PostgreSQL, kad tiek izpildīts DELETE FROM table vaicājums bez nosacījumiem?
Kas ir Durability princips ACID? Kā tas tiek sasniegts PostgreSQL?
Kas notiks, ja aizverat jau slēgto kanālu? Kas notiks, ja rakstīsiet nil kanālā?
Kāda ir atšķirība starp datu tipiem int32, int64 un vienkārši int?
Kāda ir atšķirība starp SSL un TLS?
Kas ir map Go? Kā tas darbojas iekšpusē? Kas notiek sadursmes gadījumā?
Kas ir Rate Limiting? Kādi algoritmi pastāv?
Pastāsti par interesantu uzdevumu, ar kuru lepojies, kādu pieredzi, grūtības.
// 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) }() } }
Kas ir GOMAXPROCS? Kas notiks, ja iestatīsiet ļoti lielu skaitli?
// 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 }
Kas ir pesimistiska bloķēšana?
Kas ir konteksts Go? Kāda ir atšķirība starp context.WithTimeout un context.WithDeadline?