Golang
Go'da kanallar haqida gapira olasizmi? Ular nima uchun kerak va qanday qo'llaniladi?
[Kompaniya] jamoasida nechta backend bo'lgan?
Deadlock va race condition nima, ular bilan qanday kurashish mumkin?
Bo'sh tuzilishga ega kanal chan struct{} nima uchun kerak?
SQL so'rovini yozing, u **mijoz nomi**, uning **shahri** va **barcha buyurtmalari umumiy summasini** chiqaradi. Yakuniy natijaga faqat **umumiy xarajatlari 1000** dan ortiq bo'lgan mijozlar kiritiladi. --- **Ma'lumotlar sxemasi:** 1. **`customers` jadvali:** - `customer_id` (int) – mijozning yagona identifikatori. - `customer_name` (varchar) – mijozning ismi. - `city` (varchar) – yashash shahri. 2. **`orders` jadvali:** - `order_id` (int) – yagona buyurtma raqami. - `customer_id` (int) – xarid qilgan mijozning IDsi. - `total_amount` (decimal) – aniq buyurtma summasi.
Xizmatlar va mikroxizmatlar o'rtasidagi farq nima?
Boshqa gorutinalar nima bo'lib turibdi, birinchilari bajarilayotgan paytda?
Batch qurilish paytida xizmat muvaffaqiyatsiz bo‘lsa nima bo‘ladi? Kubernetes podni o‘ldirdi — nima bo‘lyapti?
Go'da ishga tushirish vaqtida sysmon nima qiladi?
Kafka'da xabarlarni qayta ishlash tartibini qanday ta'minlash mumkin?
Tartiblangan xarita amalga oshirishda nima yaxshilanishi kerak, agar ko'proq vaqt bo'lsa? Kutubxonaning mumkin bo'lgan muammolari va rivojlanish yo'nalishlari qanday?
Kafka ishlab chiqaruvchisida xabar yetkazib berishni qanday ta'minlash mumkin, hatto lider yiqilsa ham?
Nima uchun amalga oshirishda belgilarni tekshirish uchun shartning boshlanishi yozilmagan?
tur Response interfeysi {} tur Backend interfeysi { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr ma'lum bir nusxaning ip:port manzilini o'z ichiga oladi func NewBackend(addr string) *BackendImpl tur Balancer tuzilmasi { // TODO backends []*BackendImpl index int mu sync.Mutex } var _ Backend = &Balancer{} func (b *Balancer) Invoke(ctx context.Context, req Request) (Response, error) { agar len(b.backends) == 0 { return nil, fmt.Errorf("Backends ro'yxatida elementlar soni 0") } b.mu.Lock() index := b.index agar b.index + 1 == len(b.backends) { b.index = 0 index = 0 } b.mu.Unlock() resp, err := b.backends[index].Invoke(ctx, req) return resp, err } // addrs barcha balanslangan nusxalarning manzillarini o'z ichiga oladi func NewBalancer(addrs []string) *Balancer { // TODO backends := make([]*BackendImpl, len(addrs))
Goroutinlar orasida xotirani qanday bo'lishish mumkin? Qaysi hollarda Atomic, qaysi hollarda Mutex/RWMutex/SyncMap dan foydalanish yaxshiroq?
Kod yozishda e'tibor berish kerak bo'lgan eng muhim 3 narsani ayta olasizmi?
Go tilida map qanday ishlaydi?
Linuxda CPU va xotira yuklamasini qanday tekshirish mumkin?
**Shart** Bir nechta URL'ga so'rovlar parallel bajarilishi kerak. HTTP holat kodlarini ko'rsatish va xatoliklarni boshqarish.
Startapning xususiyatlariga kelsak: vazifalarni aniq belgilash har doim ham mumkin emas, ba'zan noaniq bo'lishi mumkin, tashabbus va mustaqillik talab qilinadi, yuklama notekis bo'lishi mumkin. Bu holatda o'zingizni qanday his qilasiz?