რა ბიბლიოთეკებით იწერება მეტრიკა Go-ში?
Golang
ამ კოდის დაწერის მიზანი რა არის? რა ბიზნეს-ტექნიკური პრობლემას აჭრის?
რა მეტრიკებია? ამ მეტრიკების დაწერისთვის რა ინსტრუმენტებს გამოვიყენებთ?
// Вазიფა 4 // "ტიპიკი" CRUD სერვისისთვის - გარკვეული დროის შემდეგ ზოგი მეთოდი დაიწყო ნელი მუშაობა და სერვისი დაიწყო დროის გასვლის. // სერვისი შედგება: // * Application Load Balancer (L7) - შემოსულ მოთხოვნებს იღებს და TLS-ს ამთავრებს // * Backend (rest, java/kotlin ან golang) - შემოსულ მოთხოვნებს processing და ბიზნეს ლოგიკა // * Database (postgres) - SQL მოთხოვნების შენახვა და processing // როგორ სწორად მოქმედება პრობლემების მიზეზის გასაგებად და სიტუაციის გაუმჯობესებისთვის გადაწყვეტილებების შემუშავების მიზნით?
// დავალება 3 // აღწერეთ, რა დავალებას აძლევს ეს კოდი // რა პრობლემები არსებობს ამ გადაწყვეტილებაში? // როგორ დაწერთ ამ კოდს თავიდან?
რა გითმევდი სამსახურში?
// დავალება 3 // აღწერეთ, რა ამოცანას აძლევს ეს კოდი // რა პრობლემები არსებობს ამ გადაწყვეტილებაში? // როგორ დაწერთ ამ კოდს თავიდან? var c int type Trace struct { // ზოგიერთი ველი აქ } type Sender interface { Send(Trace) } func Do(sender Sender, tr Trace) { c++ if c == 100 { sender.Send(tr) c = 0 } }
სამუშაო დროს რომელ ინდექსებს იყენებდით? რა იყენებდით პრაქტიკაში? Wildberries-ზე?
რა გააკეთებთ, როდესაც თქვენს გუნდში ყოველდღე იცვლება პრიორიტეტები და ჩნდებიან ახალი სასწრაფო დავალებები?
როგორ მუშაობს პარციაცია PostgreSQL-ში?
რა უნდა გავაკეთოთ მონაცემთა ბაზასთან და დატვირთვის ბალანსატორთან მუშაობის პრობლემების შემთხვევაში?
რა ინდექსებს იყენებ PostgreSQL-ში?
როგორ არის გლობალური გამოთვლით კოდის პრობლემები? როგორ გამოსწორება?
როგორ შევიდეთ pprof პროფილატორზე წარმოების სერვერზე?
რომელ გრაფიკზე ნახეთ პრობლემა pprof-ის გამოყენებისას?
როგორ გავხადოთ Increaser უნივერსალური — არა დაკავშირებული 100-ის ნომერთან?
// სავალდებულო 3 // აღწერეთ, რა ამოცანას აგვარებს ეს კოდი // რა პრობლემები არსებობს ამ გადაწყვეტილებაში? // როგორ დაწერდით ამ კოდს თავიდან? var c int var mu sync.RWMutex type Trace struct { // ზოგიერთი ველი აქ } type Sender interface { Send(Trace) } func Do(sender Sender, tr Trace) { mu.Lock() defer mu.Unlock() c++ if c == 100 { go func() { sender.Send(tr) }() c = 0 } }
func normalize2(str []rune) []rune { result := str[:0] for val := range str { if val != ' ' { result = append(re) } } l, r := 0, 0 isSpace := false for i := 0, i < len(str); i++ { val := string(str[i]) if val == " " { if isSpace { continue } else { str[r] = val r++ isSpace = true } } else { str[r] = val r++ isSpace = false } } return str[:r] }
შეიძლება თუ არა Increaser გახდეს Sender-ის განხორციელება? რა განსხვავებაა Increaser-სა და Sender-ს შორის ლოგიკურად?
შეგიძლიათ გვითხრათ, როგორ დაგეგმეთ და განახორციელეთ REST და gRPC API-ები პლატფორმის შიდა და გარე სერვისებისთვის?