Golang
Kako ste osigurali konzistentnost podataka u projektu? Da li su postojali slučajevi neslaganja?
Šta će se desiti sa trenutnim zahtevima bez Graceful Shutdown prilikom završetka procesa?
Gde treba da se nalazi metoda getExternalOrderIdFromCRM? Kako strukturirati projekat?
Lično sam testirao da Postgres preuređuje kolone i da optimizatoru nije važno u kom redosledu napišeš upit — on će ga sam preurediti kako treba. Šta ti misliš?
Šta će biti prikazano pri pokretanju programa: func main() { counter := make([]int, 0, 1000) var wg sync.WaitGroup for i := 0; i < 1000; i++ { wg.Add(1) go func() { defer wg.Done() counter = append(counter, i) time.Sleep(10 * time.Millisecond) // Simulacija rada }() } wg.Wait() fmt.Println(len(counter)) }
Navedite nivoe izolacije transakcija u Postgresu. Zašto stroži nivoi izolacije rade sporije? Od kojeg nivoa nastaje konkurencija za podatke?
Napišite funkciju koja uklanja sve elemente jednako val iz slice-a na mestu. Vraća slice bez uklonjenih vrednosti. func RemoveValue(slice []int, val int) []int { // vaš kod } // Primer RemoveValue([]int{1,2,3,2,4}, 2) // -> []int{1,3,4} RemoveValue([]int{1,2,3}, 5) // -> []int{1,2,3} RemoveValue([]int{}, 1) // -> []int{}
Koje alate ste koristili za upravljanje zavisnostima u Go?
Ispričaj mi o Garbage Collector-u u Go, kako radi.
Koji problemi mogu nastati pri korišćenju Redis-a pod velikim opterećenjem?
Šta si poboljšao u sebi u poslednjih šest meseci do godinu dana? Šta si naučio van posla?
Ispričaj mi o sync.Atomic: zašto se koristi, da li si ga morao koristiti na poslu?
Kako je Kafka korišćena u vašem projektu?
Šta je transakcija i koji su principi ACID?
На колико хостова је радила услуга и колико инстанци је покренуто?
Kako ste radili sa WebSocket-om? Na nivou infrastrukture ili samo kod? Koje tehnologije ste koristili? Da li su postojali problemi sa povezivanjem na nivou infrastrukture?
Можете ли кратко да опишете од којих сервиса је систем састављен и како су комуницирали међусобно?
func (r *PayoutRepository) Payout(advertiserID, partnerID string, amount float32) error { advertiser, err := r.find(advertiserID) // dodajte transakciju if err != nil { return err } partner, err := r.find(partnerID) if err != nil { return err } advertiser.Balance -= amount // zaštititi SELECT FOR UPDATE partner.Hold -= amount partner.Balance += amount if err := r.save(advertiser); err != nil { return err } if err := r.save(partner); err != nil { return err } r.totalPayouts++ return nil }
Šta pišete u Go — mikroservisi ili usluge?
Da li je redosled u kojem se polja uključuju u složeni indeks važan?