Golang
func main() { c := make(chan int, 1000) var wg sync.WaitGroup wg.Add(100) for i := 0; i < 100; i++ { go func() { defer wg.Done() foo(c) }() } go func() { wg.Wait() close(c) }() sum := 0 for r := range c { sum += r } // fmt.Println(sum) } func foo_req(c chan int) error { r := rand.Int() for i := 0; i < r; i++ { c <- r } }
რის პრინციპებს იცავთ თქვენს მუშაობაში?
EMCD Tech-ში თქვენი გამოცდილების შესახებ დეტალურად ისაუბრეთ — რა გააკეთეთ იქ და როგორ გაიზარდეთ ორი ნახევარი წლის განმავლობაში?
მუშაობის პროცესის შესახებ ისაუბრე: როგორ იყო დავალებების გადანაწილება, რა რეპოზიტორი გამოიყენებოდა, რა კონტურები იყო?
გოლანგში slices-თან მუშაობის შესახებ ისაუბრე: როგორ მუშაობს capacity, length და რა მოხდება საზღვრის გადალახვისას.
რა ტიპის მეხსიერებები არსებობს Go-ში? რა განსხვავებაა სტეკსა და heap-ს შორის?
მითხარი netpoller-ი Go-ში.
```go func fail() { panic("წარუმატებლობა!") } func main() { fmt.Println("დაწყება!") var wg sync.WaitGroup wg.Add(1) go func() { defer func() { if e := recover(); e != nil { fmt.Println(e) } }() fail() wg.Done() }() wg.Wait() fmt.Println("დასრულება!") } ```
func (r *PayoutRepository) save(p Partner) error { _, err := r.db.Exec( fmt.Sprintf("UPDATE partners SET balance = %s, hold = %s WHERE id = %s", p.Balance, p.Hold, p.ID), ) if err != nil { return err } if err := r.eventPublisher.Publish("BalanceChanged", p); err != nil { return err } return nil }
PostgreSQL-ში რა განსხვავებაა ბრძანებებს EXPLAIN და EXPLAIN ANALYZE შორის?
როგორ გავხადოთ მონაცემთა სტრუქტურა გენერიკი (რომელიც მუშაობს ნებისმიერი მნიშვნელობის ტიპთან) Go-ში?
რომელ პროექტის მიმართულებებს განიხილავთ (ფინტექ, რიტეილ, ინფრასტრუქტურა და ა.შ.)?
რატომ ვერ შეძლეს მთელი გამოფენა მომხმარებლის მხარეს შექმნან და უბრალოდ მეტრიკები სერვისის მეშვეობით გამოიტანონ ფრონტზე? რატომ გაართულეს ლოგიკა სერვისში?
რატომ გადაწყვიტე ახლა სამუშაო ბაზარზე შესვლა, რა მოგიყვანა ამ გადაწყვეტილებამდე?
გთხოვთ, გვითხარით საკუთარ თავზე და თქვენს წინა სამუშაო გამოცდილებაზე, ყველა მნიშვნელოვან დეტალზე, რომელიც მიიჩნევთ, რომ გო-დეველოპერის პოზიციას ეხება.
როგორ უნდა მოაგვაროთ ინციდენტი, როდესაც თქვენი სერვისი სხვა სერვისებზე ახდენს გავლენას (მაგალითად, ბიბლიოთეკების ბლოკირება)?
როგორ არის საქმე observability-თან, რა შეგიძლიათ თქვათ?
რა არის Graceful Shutdown და როგორ განვახორციელოთ იგი?
როგორ ინახება მონაცემები მონაცემთა ბაზაში?
რატომ არის საჭირო ნეიბუფერული არხები? რატომ არ შეიძლება ყოველთვის გამოიყენოთ დიდი ბუფერით არხი?