Yaddaşı və ya yığınına dəyişəni açıq şəkildə ayıra bilərikmi? Dəyişənin harada ayırıldığını necə başa düşmək olar?
Golang
Outbox Pattern necə həyata keçirildi? Outbox cədvəlindən Kafka-ya hansı alət göndərirdi?
VACUUM və VACUUM FULL arasındakı fərq nədir?
Niyə Kafka və digər sistemlər deyil?
İndeksi istehsala əlavə etməzdən əvvəl onun effektivliyi və faydalılığını necə əvvəlcədən qiymətləndirmək olar?
gRPC hansı nəqliyyat protokolundan istifadə edir? HTTP/2 və HTTP/1.1 arasında nə fərq var?
PostgreSQL-də şərtsiz DELETE FROM table sorğusu icra olunduqda nə baş verir?
EXPLAIN ANALYZE hansı məlumatları göstərir?
SSL və TLS arasındakı fərq nədir?
int32, int64 və sadə int məlumat tipləri arasındakı fərq nədir?
Artıq bağlanmış kanalı bağlasaq nə olur? Nil kanala yazsaq nə olur?
Go-da map nədir? Daxili quruluşu necədir? Çatışma zamanı nə baş verir?
Rate Limiting nədir? Hansı alqoritmlər mövcuddur?
Qürur duyduğun maraqlı bir vəzifəni, bir təcrübəni və ya çətinlikləri danış.
Pessimist bloklama nədir?
// Sifariş yeniləndikdə, sifariş məlumatlarını bir neçə xidmətə (üçüncü tərəf API-ləri) göndərməliyik // xidmətlərin sayı artır (minlərlə+ ola bilər) // kodu yazdıq, əvvəl hər şey yaxşı gedirdi, amma zamanla xidmətimiz çox yaddaş istifadə etməyə başladı func (s *orderService) SendOrder(ctx context.Context, hosts []string, order Order) { for i := 0; i < len(hosts); i++ { go func() { // Bu uzun müddətli şəbəkə çağırışı olduğunu düşünün response, err := s.httpClient.Send(ctx, hosts[i], order) if err != nil { s.logger.Error(ctx, "göndərmədə xəta", err) return } s.logger.Info(ctx, "uğur", response) }() } }
Go-da sətirləri birləşdirməyin hansı yolları var? + və strings.Builder arasında nə fərq var?
// Məhsullar haqqında məlumat almaq üçün metodumuz var, bu metod çox tez-tez çağrılır // Bu kodda problemlər var mı və onları necə düzəltmək olar? postgress məlumat bazası 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 }
Go-da kanallar nədir? Hansılar var? Daxili quruluşu necədir?
ACID-də Dayanıqlıq prinsipi nədir? PostgreSQL-də necə əldə edilir?