Stack yoki heapda o'zgaruvchi aniq ajratilishi mumkinmi? O'zgaruvchining qayerga ajratilganligini qanday tushunish mumkin?
Golang
Outbox naqshini qanday amalga oshirdi? Qaysi vosita outbox jadvalidan Kafka'ga yuborardi?
VACUUM va VACUUM FULL o'rtasidagi farq nima?
Nima uchun Kafka, boshqa tizimlar emas?
Indeksni ishlab chiqarishga qo'shishdan oldin uning samaradorligi va foydaliligini qanday oldindan baholash mumkin?
gRPC qaysi transport protokolini ishlatadi? HTTP/2 va HTTP/1.1 o'rtasidagi farq nima?
PostgreSQLda shartlarsiz DELETE FROM table so'rovi bajarilganda nima bo'ladi?
EXPLAIN ANALYZE qanday ma'lumotlarni ko'rsatadi?
SSL va TLS o'rtasidagi farq nima?
int32, int64 va oddiy int ma'lumot turlari qanday farq qiladi?
Yopiq kanalni yopganingizda nima bo'ladi? Nil kanalga yozsangiz nima bo'ladi?
Go'da map nima? Ichki tuzilishi qanday? U bilan to'qnashuv bo'lsa nima bo'ladi?
Rate Limiting nima? Qaysi algoritmlar mavjud?
O'zingiz faxrlanadigan qiziqarli vazifa, tajriba yoki qiyinchiliklarni aytib bering.
Nima pessimist bloklash?
// Buyurtmani yangilashda, buyurtma ma'lumotlarini bir nechta xizmatlarga (uchinchi tomon API) yuborishimiz kerak // xizmatlar soni o'smoqda (ming+ bo'lishi mumkin) // kod yozdik, boshida hammasi yaxshi ishladi, lekin vaqt o'tishi bilan bizning xizmatimiz ko'p xotira iste'mol qilmaya boshladi func (s *orderService) SendOrder(ctx context.Context, hosts []string, order Order) { for i := 0; i < len(hosts); i++ { go func() { // Bu uzoq davom etadigan tarmoq chaqiruvi deb tasavvur qiling response, err := s.httpClient.Send(ctx, hosts[i], order) if err != nil { s.logger.Error(ctx, "yuborishda xato", err) return } s.logger.Info(ctx, "muvaffaqiyat", response) }() } }
Go tilida satrlarni birlashtirishning qanday usullari mavjud? + va strings.Builder o'rtasidagi farq nima?
// Mahsulotlar haqida ma'lumot olish uchun metodimiz bor, bu metod juda ko'p chaqiriladi // Bu kodda muammolar bormi va ularni qanday tuzatish mumkin? postgress ma'lumotlar bazasi 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 nima? Qanday turlari bor? Ichki tuzilishi qanday?
ACID'dagi Durability tamoyasi nima? PostgreSQLda qanday amalga oshiriladi?