Golang
Semaphore naqshini haqida gapirib bering.
Siz o'zingiz monitoringni kuzatasizmi yoki alohida jamoangiz bormi?
Nega Go ning ko‘p oqimli yondashuvi boshqa tillarga qaraganda yaxshiroq?
Yuqori yuklamali tizimlar bilan ishlash tajribangiz haqida gapiring. Trafikni taqsimlash va muvozanatlash bo'yicha vazifalarni hal qilganmisiz?
Agar operatsiya 10-12 daqiqa davom etsa va faol yozuv bo'lsa va ma'lumotlar o'zgarsa, hech qanday yon ta'sirlar bo'lmadi?
Algoritmning vaqt va xotira bo'yicha murakkabligi qanday?
Transaktsiya izolyatsiya darajalari haqida gapiring: Read Uncommitted, Read Committed, Repeatable Read, Serializable.
Arxitektura vazifalarini bajarish majburiyati bo'ldimi? Arxitektura qarorlari qanday qabul qilindi?
[ism] so'radi: GoLang'dagi sinxronizatsiya primitivlari haqida gapirib bering.
Endi HeadHunter ga o'tib, filtrlarga ko'ra nomzodlarni qidirishni xohlaymiz — bu qanday arxitektura qilish mumkin?
Ma'lumotlar qayerdan kelgan? Logistlar yuboradimi yoki qanday?
Highload-xizmatida xarita evakuatsiyasidan qochish uchun nima qilish mumkin?
Load Average nima, uni qanday tekshirish va nimaga e'tibor berish kerak?
Konteyner to'xtatilgandan so'ng ma'lumotlar o'chiriladimi?
func (c *Client) Send(ctx context.Context, messages []Message, maxWorkers int) error { sem := make(chan struct{}, maxWorkers) var wg sync.WaitGroup var resultErr error var once sync.Once for _, msg := range messages { wg.Add(1) go func(msg Message) { defer wg.Done() sem <- struct{}{} defer func() { <-sem }() body, err := json.Marshal(msg) if err != nil { once.Do(func() { resultErr = err; cancel() }) return } req, _ := http.NewRequestWithContext( ctx, http.MethodPost, c.url, bytes.NewReader(body), ) req.Header.Set("Content-Type", "application/json") resp, err := c.httpClient.Do(req) if err != nil { once.Do(func() { resultErr = err; cancel()}) return } defer resp.Body.Close() if resp.StatusCode >= 500 { once.Do(func() { resultErr = fmt.Errorf("server error") cancel()}) return } c.sentCount.Add(1) time.Sleep(time.Second) }(msg) } wg.Wait() }
Qaysi vazifalar uchun goroutine va kanallarni ishlatdingiz?
Analitik bilan jarayonni o'zgartirishga qanday ta'sir qildingiz?
HR platformasi texnik jihatdan qanday tuzilgan?
Qanday qilib hisoblar transferlar paytida turli shardlarga tushib qolgan holatda qanday muomala qildingiz?
Raqamni ikkilamchi tizimga qanday o'tkazish mumkin?